Files
Ben Thomas c79f886dc3 .NET: Align Foundry sample environment variables and credentials. (#6422)
* dotnet: refresh Foundry sample guidance

Carry forward the still-relevant sample guidance and Foundry-specific documentation fixes from the old stacked sample migration work, adapted to the current repo layout and policy.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* dotnet: rename Foundry sample env vars

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* dotnet: remove persistent provider sample

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* dotnet: drop SAMPLE_GUIDELINES.md from this PR

Defer the guidelines doc and its cross-link to a follow-on PR to avoid broken-link failures in CI.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* dotnet: add DefaultAzureCredential warning to remaining samples

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* dotnet: address PR review feedback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-11 17:26:00 +00:00

2.8 KiB

Summary

These samples showcases the ability to parse a declarative Foundry Workflow file (YAML) to build a Workflow that may be executed using the same pattern as any code-based workflow.

Configuration

These samples must be configured to create and use agents your Microsoft Foundry Project.

Settings

We suggest using .NET Secret Manager to avoid the risk of leaking secrets into the repository, branches and pull requests. You can also use environment variables if you prefer.

The configuraton required by the samples is:

Setting Name Description
FOUNDRY_PROJECT_ENDPOINT The endpoint URL of your Microsoft Foundry Project.
FOUNDRY_MODEL The name of the model deployment to use
AZURE_AI_BING_CONNECTION_ID The name of the Bing Grounding connection configured in your Microsoft Foundry Project.

To set your secrets with .NET Secret Manager:

  1. From the root of the repository, navigate the console to the project folder:

    cd dotnet/samples/03-workflows/Declarative/ExecuteWorkflow
    
  2. Examine existing secret definitions:

    dotnet user-secrets list
    
  3. If needed, perform first time initialization:

    dotnet user-secrets init
    
  4. Define setting that identifies your Microsoft Foundry Project (endpoint):

    dotnet user-secrets set "FOUNDRY_PROJECT_ENDPOINT" "https://..."
    
  5. Define setting that identifies your Microsoft Foundry Model Deployment (endpoint):

    dotnet user-secrets set "FOUNDRY_MODEL" "gpt-5"
    
  6. Define setting that identifies your Bing Grounding connection:

    dotnet user-secrets set "AZURE_AI_BING_CONNECTION_ID" "mybinggrounding"
    

You may alternatively set your secrets as an environment variable (PowerShell):

$env:FOUNDRY_PROJECT_ENDPOINT="https://..."
$env:FOUNDRY_MODEL="gpt-5"
$env:AZURE_AI_BING_CONNECTION_ID="mybinggrounding"

Authorization

Use Azure CLI to authorize access to your Microsoft Foundry Project:

az login
az account get-access-token

Execution

The samples may be executed within Visual Studio or VS Code.

To run the sampes from the command line:

  1. From the root of the repository, navigate the console to the project folder:

    cd dotnet/samples/03-workflows/Declarative/Marketing
    dotnet run Marketing
    
  2. Run the demo and optionally provided input:

    dotnet run "An eco-friendly stainless steel water bottle that keeps drinks cold for 24 hours."
    dotnet run c:/myworkflows/Marketing.yaml
    

    The sample will allow for interactive input in the absence of an input argument.