|
Add this skill
npx mdskills install sickn33/azure-mgmt-arizeaiobservabilityeval-dotnetComprehensive SDK reference with authentication, CRUD examples, and error handling patterns
1---2name: azure-mgmt-arizeaiobservabilityeval-dotnet3description: |4 Azure Resource Manager SDK for Arize AI Observability and Evaluation (.NET). Use when managing Arize AI organizations5 on Azure via Azure Marketplace, creating/updating/deleting Arize resources, or integrating Arize ML observability6 into .NET applications. Triggers: "Arize AI", "ML observability", "ArizeAIObservabilityEval", "Arize organization".7package: Azure.ResourceManager.ArizeAIObservabilityEval8---910# Azure.ResourceManager.ArizeAIObservabilityEval1112.NET SDK for managing Arize AI Observability and Evaluation resources on Azure.1314## Installation1516```bash17dotnet add package Azure.ResourceManager.ArizeAIObservabilityEval --version 1.0.018```1920## Package Info2122| Property | Value |23|----------|-------|24| Package | `Azure.ResourceManager.ArizeAIObservabilityEval` |25| Version | `1.0.0` (GA) |26| API Version | `2024-10-01` |27| ARM Type | `ArizeAi.ObservabilityEval/organizations` |28| Dependencies | `Azure.Core` >= 1.46.2, `Azure.ResourceManager` >= 1.13.1 |2930## Environment Variables3132```bash33AZURE_SUBSCRIPTION_ID=<your-subscription-id>34AZURE_TENANT_ID=<your-tenant-id>35AZURE_CLIENT_ID=<your-client-id>36AZURE_CLIENT_SECRET=<your-client-secret>37```3839## Authentication4041```csharp42using Azure.Identity;43using Azure.ResourceManager;44using Azure.ResourceManager.ArizeAIObservabilityEval;4546// Always use DefaultAzureCredential47var credential = new DefaultAzureCredential();48var armClient = new ArmClient(credential);49```5051## Core Workflow5253### Create an Arize AI Organization5455```csharp56using Azure.Core;57using Azure.ResourceManager.Resources;58using Azure.ResourceManager.ArizeAIObservabilityEval;59using Azure.ResourceManager.ArizeAIObservabilityEval.Models;6061// Get subscription and resource group62var subscriptionId = Environment.GetEnvironmentVariable("AZURE_SUBSCRIPTION_ID");63var subscription = await armClient.GetSubscriptionResource(64 SubscriptionResource.CreateResourceIdentifier(subscriptionId)).GetAsync();65var resourceGroup = await subscription.Value.GetResourceGroupAsync("my-resource-group");6667// Get the organization collection68var collection = resourceGroup.Value.GetArizeAIObservabilityEvalOrganizations();6970// Create organization data71var data = new ArizeAIObservabilityEvalOrganizationData(AzureLocation.EastUS)72{73 Properties = new ArizeAIObservabilityEvalOrganizationProperties74 {75 Marketplace = new ArizeAIObservabilityEvalMarketplaceDetails76 {77 SubscriptionId = "marketplace-subscription-id",78 OfferDetails = new ArizeAIObservabilityEvalOfferDetails79 {80 PublisherId = "arikimlabs1649082416596",81 OfferId = "arize-liftr-1",82 PlanId = "arize-liftr-1-plan",83 PlanName = "Arize AI Plan",84 TermUnit = "P1M",85 TermId = "term-id"86 }87 },88 User = new ArizeAIObservabilityEvalUserDetails89 {90 FirstName = "John",91 LastName = "Doe",92 EmailAddress = "john.doe@example.com"93 }94 },95 Tags = { ["environment"] = "production" }96};9798// Create (long-running operation)99var operation = await collection.CreateOrUpdateAsync(100 WaitUntil.Completed,101 "my-arize-org",102 data);103104var organization = operation.Value;105Console.WriteLine($"Created: {organization.Data.Name}");106```107108### Get an Organization109110```csharp111// Option 1: From collection112var org = await collection.GetAsync("my-arize-org");113114// Option 2: Check if exists first115var exists = await collection.ExistsAsync("my-arize-org");116if (exists.Value)117{118 var org = await collection.GetAsync("my-arize-org");119}120121// Option 3: GetIfExists (returns null if not found)122var response = await collection.GetIfExistsAsync("my-arize-org");123if (response.HasValue)124{125 var org = response.Value;126}127```128129### List Organizations130131```csharp132// List in resource group133await foreach (var org in collection.GetAllAsync())134{135 Console.WriteLine($"Org: {org.Data.Name}, State: {org.Data.Properties?.ProvisioningState}");136}137138// List in subscription139await foreach (var org in subscription.Value.GetArizeAIObservabilityEvalOrganizationsAsync())140{141 Console.WriteLine($"Org: {org.Data.Name}");142}143```144145### Update an Organization146147```csharp148// Update tags149var org = await collection.GetAsync("my-arize-org");150var updateData = new ArizeAIObservabilityEvalOrganizationPatch151{152 Tags = { ["environment"] = "staging", ["team"] = "ml-ops" }153};154var updated = await org.Value.UpdateAsync(updateData);155```156157### Delete an Organization158159```csharp160var org = await collection.GetAsync("my-arize-org");161await org.Value.DeleteAsync(WaitUntil.Completed);162```163164## Key Types165166| Type | Purpose |167|------|---------|168| `ArizeAIObservabilityEvalOrganizationResource` | Main ARM resource for Arize organizations |169| `ArizeAIObservabilityEvalOrganizationCollection` | Collection for CRUD operations |170| `ArizeAIObservabilityEvalOrganizationData` | Resource data model |171| `ArizeAIObservabilityEvalOrganizationProperties` | Organization properties |172| `ArizeAIObservabilityEvalMarketplaceDetails` | Azure Marketplace subscription info |173| `ArizeAIObservabilityEvalOfferDetails` | Marketplace offer configuration |174| `ArizeAIObservabilityEvalUserDetails` | User contact information |175| `ArizeAIObservabilityEvalOrganizationPatch` | Patch model for updates |176| `ArizeAIObservabilityEvalSingleSignOnPropertiesV2` | SSO configuration |177178## Enums179180| Enum | Values |181|------|--------|182| `ArizeAIObservabilityEvalOfferProvisioningState` | `Succeeded`, `Failed`, `Canceled`, `Provisioning`, `Updating`, `Deleting`, `Accepted` |183| `ArizeAIObservabilityEvalMarketplaceSubscriptionStatus` | `PendingFulfillmentStart`, `Subscribed`, `Suspended`, `Unsubscribed` |184| `ArizeAIObservabilityEvalSingleSignOnState` | `Initial`, `Enable`, `Disable` |185| `ArizeAIObservabilityEvalSingleSignOnType` | `Saml`, `OpenId` |186187## Best Practices1881891. **Use async methods** — All operations support async/await1902. **Handle long-running operations** — Use `WaitUntil.Completed` or poll manually1913. **Use GetIfExistsAsync** — Avoid exceptions for conditional logic1924. **Implement retry policies** — Configure via `ArmClientOptions`1935. **Use resource identifiers** — For direct resource access without listing1946. **Close clients properly** — Use `using` statements or dispose explicitly195196## Error Handling197198```csharp199try200{201 var org = await collection.GetAsync("my-arize-org");202}203catch (Azure.RequestFailedException ex) when (ex.Status == 404)204{205 Console.WriteLine("Organization not found");206}207catch (Azure.RequestFailedException ex)208{209 Console.WriteLine($"Azure error: {ex.Message}");210}211```212213## Direct Resource Access214215```csharp216// Access resource directly by ID (without listing)217var resourceId = ArizeAIObservabilityEvalOrganizationResource.CreateResourceIdentifier(218 subscriptionId,219 "my-resource-group",220 "my-arize-org");221222var org = armClient.GetArizeAIObservabilityEvalOrganizationResource(resourceId);223var data = await org.GetAsync();224```225226## Links227228- [NuGet Package](https://www.nuget.org/packages/Azure.ResourceManager.ArizeAIObservabilityEval)229- [Azure SDK for .NET](https://github.com/Azure/azure-sdk-for-net)230- [Arize AI](https://arize.com/)231
Full transparency — inspect the skill content before installing.