azure-mgmt-weightsandbiases-dotnet – DevOps & Infrastructure skill for AI agents
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.
Install the azure-mgmt-weightsandbiases-dotnet skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/azure-mgmt-weightsandbiases-dotnet-5de23.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /azure-mgmt-weightsandbiases-dotnet – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/azure-mgmt-weightsandbiases-dotnet-5de23.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $azure-mgmt-weightsandbiases-dotnet – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/azure-mgmt-weightsandbiases-dotnet-5de23.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /azure-mgmt-weightsandbiases-dotnet – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/azure-mgmt-weightsandbiases-dotnet-5de23.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /azure-mgmt-weightsandbiases-dotnet – then describe the task you want done.
SKILL.md content
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.IdentityExample package baseline: v1.0.0-beta.1 (preview); verify available version and generated API before adapting
API Version: 2024-09-18-preview
Environment Variables
AZURE_SUBSCRIPTION_ID=<your-subscription-id>
AZURE_RESOURCE_GROUP=<your-resource-group>
AZURE_WANDB_INSTANCE_NAME=<your-wandb-instance>Authentication
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.WeightsAndBiases;
ArmClient client = new ArmClient(new DefaultAzureCredential());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)Select an explicit authorized tenant/subscription/resource group rather than relying on the default for billable creation. Import Azure/Azure.Core, Resources and Models types required by the chosen SDK. Marketplace offer/plan/term/region and SSO details below are illustrative and must match current provider terms and permissions; a missing ARM resource is not a global name-availability check. Creation may incur Marketplace charges and deletion may destroy access/data; preview exact resources and preserve exports before approved mutations. ARM management and W&B experiment tracking are distinct APIs: retrieve the actual provisioned base URL instead of constructing an assumed wandb.ai host. Keep API keys, experiment data and admin PII out of logs; verify retention/egress approval before logging runs.
Core Workflows
1. Create Weights & Biases Instance
using Azure.ResourceManager.WeightsAndBiases;
using Azure.ResourceManager.WeightsAndBiases.Models;
SubscriptionResource subscription = await client.GetDefaultSubscriptionAsync();
ResourceGroupResource resourceGroup = (await subscription.GetResourceGroupAsync("my-resource-group")).Value;
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("No resource with this name was found in this resource group; global partner/subdomain availability is unproven");
}Key Types Reference
| Type | Purpose |
|------|---------|
| WeightsAndBiasesInstanceResource | W&B instance resource |
| WeightsAndBiasesInstanceData | Instance configuration data |
| WeightsAndBiasesInstanceCollection | Collection of instances |
| WeightsAndBiasesInstanceProperties | Instance properties |
| WeightsAndBiasesMarketplaceDetails | Marketplace subscription info |
| WeightsAndBiasesOfferDetails | Marketplace offer details |
| WeightsAndBiasesUserDetails | Admin user information |
| WeightsAndBiasesPartnerProperties | W&B-specific configuration |
| WeightsAndBiasSingleSignOnPropertiesV2 | SSO configuration |
| WeightsAndBiasesInstancePatch | Patch for updates |
| WeightsAndBiasesRegion | Supported regions enum |
Available Regions
| Region Enum | Azure Region |
|-------------|--------------|
| WeightsAndBiasesRegion.EastUS | East US |
| WeightsAndBiasesRegion.CentralUS | Central US |
| WeightsAndBiasesRegion.WestUS | West US |
| WeightsAndBiasesRegion.WestEurope | West Europe |
| WeightsAndBiasesRegion.JapanEast | Japan East |
| WeightsAndBiasesRegion.KoreaCentral | Korea Central |
Marketplace Offer Details
For Azure Marketplace integration:
| Property | Value |
|----------|-------|
| Publisher ID | wandb |
| Offer ID | wandb-pay-as-you-go |
| Plan ID | wandb-payg (Pay As You Go) |
Best Practices
1. Use DefaultAzureCredential — Supports multiple auth methods automatically
2. **Ena
… (full content is in the download package)
Related skills
- mtls-configuration – Configure mutual TLS (mTLS) for zero-trust service-to-service communication. Use when…
- multi-cloud-architecture – Design multi-cloud architectures using a decision framework to select and integrate…
- azure-microsoft-playwright-testing-ts – Run Playwright tests at scale with cloud-hosted browsers and integrated Azure portal…
- azure-monitor-audit – Configure Azure Monitor and Activity Log for auditing. Set up diagnostic settings and…
- azure-monitor-ingestion-java – Azure Monitor Ingestion SDK for Java. Send custom logs to Azure Monitor via Data…
- azure-monitor-ingestion-py – Azure Monitor Ingestion SDK for Python. Use for sending custom logs to Log Analytics…
- azure-monitor-opentelemetry-exporter-java – Azure Monitor OpenTelemetry Exporter for Java. Export OpenTelemetry traces, metrics, and…
- azure-monitor-opentelemetry-exporter-py – Azure Monitor OpenTelemetry Exporter for Python. Use for low-level OpenTelemetry export…