azure-mgmt-arizeaiobservabilityeval-dotnet

SDK Azure Resource Manager pour Arize AI Observability and Evaluation (.NET). À utiliser pour gérer des organisations Arize AI sur Azure via Azure Marketplace, créer/mettre à jour/supprimer des ressources Arize, ou intégrer l'observabilité ML Arize dans des applications .NET. Déclencheurs : « Arize AI », « ML observability », « ArizeAIObservabilityEval », « Arize organization ».\n

npx skills add https://github.com/microsoft/skills --skill azure-mgmt-arizeaiobservabilityeval-dotnet

Azure.ResourceManager.ArizeAIObservabilityEval

Kit de développement .NET pour gérer les ressources Arize AI Observability et Evaluation sur Azure.

Installation

dotnet add package Azure.ResourceManager.ArizeAIObservabilityEval --version 1.0.0

Informations du package

Propriété Valeur
Package Azure.ResourceManager.ArizeAIObservabilityEval
Version 1.0.0 (GA)
Version API 2024-10-01
Type ARM ArizeAi.ObservabilityEval/organizations
Dépendances Azure.Core >= 1.46.2, Azure.ResourceManager >= 1.13.1

Variables d'environnement

AZURE_SUBSCRIPTION_ID=<your-subscription-id>
AZURE_TENANT_ID=<your-tenant-id>
AZURE_CLIENT_ID=<your-client-id>
AZURE_CLIENT_SECRET=<your-client-secret>

Authentification

using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ArizeAIObservabilityEval;

// Utilisez toujours DefaultAzureCredential
var credential = new DefaultAzureCredential();
var armClient = new ArmClient(credential);

Flux de travail principal

Créer une organisation Arize AI

using Azure.Core;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ArizeAIObservabilityEval;
using Azure.ResourceManager.ArizeAIObservabilityEval.Models;

// Obtenir l'abonnement et le groupe de ressources
var subscriptionId = Environment.GetEnvironmentVariable("AZURE_SUBSCRIPTION_ID");
var subscription = await armClient.GetSubscriptionResource(
    SubscriptionResource.CreateResourceIdentifier(subscriptionId)).GetAsync();
var resourceGroup = await subscription.Value.GetResourceGroupAsync("my-resource-group");

// Obtenir la collection d'organisations
var collection = resourceGroup.Value.GetArizeAIObservabilityEvalOrganizations();

// Créer les données d'organisation
var data = new ArizeAIObservabilityEvalOrganizationData(AzureLocation.EastUS)
{
    Properties = new ArizeAIObservabilityEvalOrganizationProperties
    {
        Marketplace = new ArizeAIObservabilityEvalMarketplaceDetails
        {
            SubscriptionId = "marketplace-subscription-id",
            OfferDetails = new ArizeAIObservabilityEvalOfferDetails
            {
                PublisherId = "arikimlabs1649082416596",
                OfferId = "arize-liftr-1",
                PlanId = "arize-liftr-1-plan",
                PlanName = "Arize AI Plan",
                TermUnit = "P1M",
                TermId = "term-id"
            }
        },
        User = new ArizeAIObservabilityEvalUserDetails
        {
            FirstName = "John",
            LastName = "Doe",
            EmailAddress = "john.doe@example.com"
        }
    },
    Tags = { ["environment"] = "production" }
};

// Créer (opération longue durée)
var operation = await collection.CreateOrUpdateAsync(
    WaitUntil.Completed,
    "my-arize-org",
    data);

var organization = operation.Value;
Console.WriteLine($"Created: {organization.Data.Name}");

Obtenir une organisation

// Option 1 : Depuis la collection
var org = await collection.GetAsync("my-arize-org");

// Option 2 : Vérifier d'abord si elle existe
var exists = await collection.ExistsAsync("my-arize-org");
if (exists.Value)
{
    var org = await collection.GetAsync("my-arize-org");
}

// Option 3 : GetIfExists (retourne null si non trouvée)
var response = await collection.GetIfExistsAsync("my-arize-org");
if (response.HasValue)
{
    var org = response.Value;
}

Lister les organisations

// Lister dans le groupe de ressources
await foreach (var org in collection.GetAllAsync())
{
    Console.WriteLine($"Org: {org.Data.Name}, State: {org.Data.Properties?.ProvisioningState}");
}

// Lister dans l'abonnement
await foreach (var org in subscription.Value.GetArizeAIObservabilityEvalOrganizationsAsync())
{
    Console.WriteLine($"Org: {org.Data.Name}");
}

Mettre à jour une organisation

// Mettre à jour les tags
var org = await collection.GetAsync("my-arize-org");
var updateData = new ArizeAIObservabilityEvalOrganizationPatch
{
    Tags = { ["environment"] = "staging", ["team"] = "ml-ops" }
};
var updated = await org.Value.UpdateAsync(updateData);

Supprimer une organisation

var org = await collection.GetAsync("my-arize-org");
await org.Value.DeleteAsync(WaitUntil.Completed);

Types clés

Type Objectif
ArizeAIObservabilityEvalOrganizationResource Ressource ARM principale pour les organisations Arize
ArizeAIObservabilityEvalOrganizationCollection Collection pour les opérations CRUD
ArizeAIObservabilityEvalOrganizationData Modèle de données de ressource
ArizeAIObservabilityEvalOrganizationProperties Propriétés de l'organisation
ArizeAIObservabilityEvalMarketplaceDetails Infos d'abonnement Azure Marketplace
ArizeAIObservabilityEvalOfferDetails Configuration de l'offre Marketplace
ArizeAIObservabilityEvalUserDetails Informations de contact utilisateur
ArizeAIObservabilityEvalOrganizationPatch Modèle de patch pour les mises à jour
ArizeAIObservabilityEvalSingleSignOnPropertiesV2 Configuration SSO

Enums

Enum Valeurs
ArizeAIObservabilityEvalOfferProvisioningState Succeeded, Failed, Canceled, Provisioning, Updating, Deleting, Accepted
ArizeAIObservabilityEvalMarketplaceSubscriptionStatus PendingFulfillmentStart, Subscribed, Suspended, Unsubscribed
ArizeAIObservabilityEvalSingleSignOnState Initial, Enable, Disable
ArizeAIObservabilityEvalSingleSignOnType Saml, OpenId

Bonnes pratiques

  1. Utilisez les méthodes async — Toutes les opérations supportent async/await
  2. Gérez les opérations longues durée — Utilisez WaitUntil.Completed ou interrogez manuellement
  3. Utilisez GetIfExistsAsync — Évitez les exceptions pour la logique conditionnelle
  4. Implémentez des stratégies de retry — Configurez via ArmClientOptions
  5. Utilisez les identifiants de ressource — Pour accéder directement aux ressources sans lister
  6. Fermez les clients correctement — Utilisez les instructions using ou disposez explicitement

Gestion des erreurs

try
{
    var org = await collection.GetAsync("my-arize-org");
}
catch (Azure.RequestFailedException ex) when (ex.Status == 404)
{
    Console.WriteLine("Organization not found");
}
catch (Azure.RequestFailedException ex)
{
    Console.WriteLine($"Azure error: {ex.Message}");
}

Accès direct aux ressources

// Accéder à la ressource directement par ID (sans lister)
var resourceId = ArizeAIObservabilityEvalOrganizationResource.CreateResourceIdentifier(
    subscriptionId,
    "my-resource-group",
    "my-arize-org");

var org = armClient.GetArizeAIObservabilityEvalOrganizationResource(resourceId);
var data = await org.GetAsync();

Liens

Skills similaires