Generated banner for Azure Mgmt Weightsandbiases Dotnet
Generated logo for Azure Mgmt Weightsandbiases Dotnet

Azure Mgmt Weightsandbiases Dotnet

MicrosoftOfficialCreated by Microsoft

  • Skill
  • Tool integration
  • Cloud and DevOps
  • MIT
  • Low risk

From the author

Azure Weights & Biases SDK for .NET. ML experiment tracking and model management via Azure Marketplace. Use for creating W&B instances, managing SSO, marketplace integration, and ML observability. Triggers: "Weights and Biases", "W&B", "WeightsAndBiases", "ML experiment tracking", "model registry", "experiment management", "wandb".
— the description by Microsoft

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The Azure.ResourceManager.WeightsAndBiases SDK for .NET provides a programmatic interface for deploying and managing Weights & Biases (W&B) instances directly within the Azure ecosystem. It enables developers to automate the lifecycle of W&B resources, including creation, configuration, SSO setup, and deletion, while integrating with Azure Marketplace offerings.

What it does

  • Provision and manage Weights & Biases instances via Azure Resource Manager.
  • Configure marketplace subscription details and plan information.
  • Set up Entra ID Single Sign-On (SSO) for W&B instances.
  • Manage instance lifecycle including updates, tagging, and deletion.
  • Support managed identity integration for secure resource access.
  • Retrieve and list existing W&B instances within Azure subscriptions.

When to use it

  • When automating the deployment of W&B infrastructure using .NET.
  • When integrating W&B instance management into existing Azure CI/CD pipelines.
  • When configuring enterprise authentication settings for W&B via code.
  • When managing multiple W&B instances across different Azure resource groups.

Advantages

  • Native integration with Azure Resource Manager and .NET development workflows.
  • Programmatic control over marketplace-based W&B deployments.
  • Supports standard Azure authentication patterns like DefaultAzureCredential.
  • Enables infrastructure-as-code practices for ML experiment tracking environments.

Usage examples

“How do I create a new Weights & Biases instance using the .NET SDK?”
The agent provides a code snippet using WeightsAndBiasesInstanceData to define marketplace, user, and partner properties, followed by calling CreateOrUpdateAsync on the instance collection.
“Show me how to configure SSO for an existing W&B instance.”
The agent demonstrates updating the WeightsAndBiasesInstanceData object with WeightsAndBiasSingleSignOnPropertiesV2 and applying the changes via the resource manager.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/microsoft/azure-mgmt-weightsandbiases-dotnet/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip azure-mgmt-weightsandbiases-dotnet.zip -d .agents/skills

Documentation by Microsoft

Azure.ResourceManager.WeightsAndBiases (.NET)

Azure Resource Manager SDK for deploying and managing Weights & Biases ML experiment tracking instances via Azure Marketplace.

Installation

dotnet add package Azure.ResourceManager.WeightsAndBiases --prerelease
dotnet add package Azure.Identity

Current Version: v1.0.0-beta.1 (preview)
API Version: 2024-09-18-preview

Environment Variables

AZURE_SUBSCRIPTION_ID=<your-subscription-id> # Required: Azure subscription ID
AZURE_RESOURCE_GROUP=<your-resource-group> # Required: Azure resource group name
AZURE_WANDB_INSTANCE_NAME=<your-wandb-instance> # Required: Weights & Biases instance name
AZURE_TOKEN_CREDENTIALS=prod  # Required only if DefaultAzureCredential is used in production

Authentication

using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.WeightsAndBiases;

// Local dev: DefaultAzureCredential. Production: set AZURE_TOKEN_CREDENTIALS=prod or AZURE_TOKEN_CREDENTIALS=<specific_credential>
var credential = new DefaultAzureCredential(
    DefaultAzureCredential.DefaultEnvironmentVariableName
);
// Or use a specific credential directly in production:
// See https://learn.microsoft.com/dotnet/api/overview/azure/identity-readme?view=azure-dotnet#credential-classes
// var credential = new ManagedIdentityCredential();
ArmClient client = new ArmClient(credential);

Resource Hierarchy

Subscription
└── ResourceGroup
    └── WeightsAndBiasesInstance    # W&B deployment from Azure Marketplace
        ├── Properties
        │   ├── Marketplace          # Offer details, plan, publisher
        │   ├── User                 # Admin user info
        │   ├── PartnerProperties    # W&B-specific config (region, subdomain)
        │   └── SingleSignOnPropertiesV2  # Entra ID SSO configuration
        └── Identity                 # Managed identity (optional)

Core Workflows

1. Create Weights & Biases Instance
using Azure.ResourceManager.WeightsAndBiases;
using Azure.ResourceManager.WeightsAndBiases.Models;

ResourceGroupResource resourceGroup = await client
    .GetDefaultSubscriptionAsync()
    .Result
    .GetResourceGroupAsync("my-resource-group");

WeightsAndBiasesInstanceCollection instances = resourceGroup.GetWeightsAndBiasesInstances();

WeightsAndBiasesInstanceData data = new WeightsAndBiasesInstanceData(AzureLocation.EastUS)
{
    Properties = new WeightsAndBiasesInstanceProperties
    {
        // Marketplace configuration
        Marketplace = new WeightsAndBiasesMarketplaceDetails
        {
            SubscriptionId = "<marketplace-subscription-id>",
            OfferDetails = new WeightsAndBiasesOfferDetails
            {
                PublisherId = "wandb",
                OfferId = "wandb-pay-as-you-go",
                PlanId = "wandb-payg",
                PlanName = "Pay As You Go",
                TermId = "monthly",
                TermUnit = "P1M"
            }
        },
        // Admin user
        User = new WeightsAndBiasesUserDetails
        {
            FirstName = "Admin",
            LastName = "User",
            EmailAddress = "[email protected]",
            Upn = "[email protected]"
        },
        // W&B-specific configuration
        PartnerProperties = new WeightsAndBiasesPartnerProperties
        {
            Region = WeightsAndBiasesRegion.EastUS,
            Subdomain = "my-company-wandb"
        }
    },
    // Optional: Enable managed identity
    Identity = new ManagedServiceIdentity(ManagedServiceIdentityType.SystemAssigned)
};

ArmOperation<WeightsAndBiasesInstanceResource> operation = await instances
    .CreateOrUpdateAsync(WaitUntil.Completed, "my-wandb-instance", data);

WeightsAndBiasesInstanceResource instance = operation.Value;

Console.WriteLine($"W&B Instance created: {instance.Data.Name}");
Console.WriteLine($"Provisioning state: {instance.Data.Properties.ProvisioningState}");
2. Get Existing Instance
WeightsAndBiasesInstanceResource instance = await resourceGroup
    .GetWeightsAndBiasesInstanceAsync("my-wandb-instance");

Console.WriteLine($"Instance: {instance.Data.Name}");
Console.WriteLine($"Location: {instance.Data.Location}");
Console.WriteLine($"State: {instance.Data.Properties.ProvisioningState}");

if (instance.Data.Properties.PartnerProperties != null)
{
    Console.WriteLine($"Region: {instance.Data.Properties.PartnerProperties.Region}");
    Console.WriteLine($"Subdomain: {instance.Data.Properties.PartnerProperties.Subdomain}");
}
3. List All Instances
// List in resource group
await foreach (WeightsAndBiasesInstanceResource instance in 
    resourceGroup.GetWeightsAndBiasesInstances())
{
    Console.WriteLine($"Instance: {instance.Data.Name}");
    Console.WriteLine($"  Location: {instance.Data.Location}");
    Console.WriteLine($"  State: {instance.Data.Properties.ProvisioningState}");
}

// List in subscription
SubscriptionResource subscription = await client.GetDefaultSubscriptionAsync();
await foreach (WeightsAndBiasesInstanceResource instance in 
    subscription.GetWeightsAndBiasesInstancesAsync())
{
    Console.WriteLine($"{instance.Data.Name} in {instance.Id.ResourceGroupName}");
}
4. Configure Single Sign-On (SSO)
WeightsAndBiasesInstanceResource instance = await resourceGroup
    .GetWeightsAndBiasesInstanceAsync("my-wandb-instance");

// Update with SSO configuration
WeightsAndBiasesInstanceData updateData = instance.Data;

updateData.Properties.SingleSignOnPropertiesV2 = new WeightsAndBiasSingleSignOnPropertiesV2
{
    Type = WeightsAndBiasSingleSignOnType.Saml,
    State = WeightsAndBiasSingleSignOnState.Enable,
    EnterpriseAppId = "<entra-app-id>",
    AadDomains = { "example.com", "contoso.com" }
};

ArmOperation<WeightsAndBiasesInstanceResource> operation = await resourceGroup
    .GetWeightsAndBiasesInstances()
    .CreateOrUpdateAsync(WaitUntil.Completed, "my-wandb-instance", updateData);
5. Update Instance
WeightsAndBiasesInstanceResource instance = await resourceGroup
    .GetWeightsAndBiasesInstanceAsync("my-wandb-instance");

// Update tags
WeightsAndBiasesInstancePatch patch = new WeightsAndBiasesInstancePatch
{
    Tags =
    {
        { "environment", "production" },
        { "team", "ml-platform" },
        { "costCenter", "CC-ML-001" }
    }
};

instance = await instance.UpdateAsync(patch);
Console.WriteLine($"Updated instance: {instance.Data.Name}");
6. Delete Instance
WeightsAndBiasesInstanceResource instance = await resourceGroup
    .GetWeightsAndBiasesInstanceAsync("my-wandb-instance");

await instance.DeleteAsync(WaitUntil.Completed);
Console.WriteLine("Instance deleted");
7. Check Resource Name Availability
// Check if name is available before creating
// (Implement via direct ARM call if SDK doesn't expose this)
try
{
    await resourceGroup.GetWeightsAndBiasesInstanceAsync("desired-name");
    Console.WriteLine("Name is already taken");
}
catch (RequestFailedException ex) when (ex.Status == 404)
{
    Console.WriteLine("Name is available");
}

Key Types Reference

TypePurpose
WeightsAndBiasesInstanceResourceW&B instance resource
WeightsAndBiasesInstanceDataInstance configuration data
WeightsAndBiasesInstanceCollectionCollection of instances
WeightsAndBiasesInstancePropertiesInstance properties
WeightsAndBiasesMarketplaceDetailsMarketplace subscription info
WeightsAndBiasesOfferDetailsMarketplace offer details
WeightsAndBiasesUserDetailsAdmin user information
WeightsAndBiasesPartnerPropertiesW&B-specific configuration
WeightsAndBiasSingleSignOnPropertiesV2SSO configuration
WeightsAndBiasesInstancePatchPatch for updates
WeightsAndBiasesRegionSupported regions enum

Available Regions

Region EnumAzure Region
WeightsAndBiasesRegion.EastUSEast US
WeightsAndBiasesRegion.CentralUSCentral US
WeightsAndBiasesRegion.WestUSWest US
WeightsAndBiasesRegion.WestEuropeWest Europe
WeightsAndBiasesRegion.JapanEastJapan East
WeightsAndBiasesRegion.KoreaCentralKorea Central

Marketplace Offer Details

For Azure Marketplace integration:

PropertyValue
Publisher IDwandb
Offer IDwandb-pay-as-you-go
Plan IDwandb-payg (Pay As You Go)

Best Practices

  1. Use DefaultAzureCredential — Supports multiple auth methods automatically

  2. Enable managed identity — For secure access to other Azure resources

  3. Configure SSO — Enable Entra ID SSO for enterprise security

  4. Tag resources — Use tags for cost tracking and organization

  5. Check provisioning state — Wait for Succeeded before using instance

  6. Use appropriate region — Choose region closest to your compute

  7. Monitor with Azure — Use Azure Monitor for resource health

Error Handling

using Azure;

try
{
    ArmOperation<WeightsAndBiasesInstanceResource> operation = await instances
        .CreateOrUpdateAsync(WaitUntil.Completed, "my-wandb", data);
}
catch (RequestFailedException ex) when (ex.Status == 409)
{
    Console.WriteLine("Instance already exists or name conflict");
}
catch (RequestFailedException ex) when (ex.Status == 400)
{
    Console.WriteLine($"Invalid configuration: {ex.Message}");
}
catch (RequestFailedException ex)
{
    Console.WriteLine($"Azure error: {ex.Status} - {ex.Message}");
}

Integration with W&B SDK

After creating the Azure resource, use the W&B Python SDK for experiment tracking:

# Install: pip install wandb
import wandb

# Login with your W&B API key from the Azure-deployed instance
wandb.login(host="https://my-company-wandb.wandb.ai")

# Initialize a run
run = wandb.init(project="my-ml-project")

# Log metrics
wandb.log({"accuracy": 0.95, "loss": 0.05})

# Finish run
run.finish()
SDKPurposeInstall
Azure.ResourceManager.WeightsAndBiasesW&B instance management (this SDK)dotnet add package Azure.ResourceManager.WeightsAndBiases --prerelease
Azure.ResourceManager.MachineLearningAzure ML workspacesdotnet add package Azure.ResourceManager.MachineLearning

Files

ATTRIBUTION.md

Attribution

This folder is an unmodified copy of the Agent Skill "azure-mgmt-weightsandbiases-dotnet", distributed by AutoGineer (https://autogineer.com/agent-skills).

The skill's own files are unmodified copies. AutoGineer is not affiliated with or endorsed by the author or the publisher.

Files added by AutoGineer

  • ATTRIBUTION.md: this file, written by AutoGineer

  • LICENSE: copied from LICENSE

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs an API key, Needs Python

Security

What our scanner noticed· Low risk

  • Instructions that use the network

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
Microsoft
Publisher
Microsoft (Official)
Source
microsoft/skills · .github/plugins/azure-sdk-dotnet/skills/azure-mgmt-weightsandbiases-dotnet · commit 0696600
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Microsoft or Microsoft.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download azure-mgmt-weightsandbiases-dotnet.zip