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
- Utilisez les méthodes async — Toutes les opérations supportent async/await
- Gérez les opérations longues durée — Utilisez
WaitUntil.Completed ou interrogez manuellement
- Utilisez GetIfExistsAsync — Évitez les exceptions pour la logique conditionnelle
- Implémentez des stratégies de retry — Configurez via
ArmClientOptions
- Utilisez les identifiants de ressource — Pour accéder directement aux ressources sans lister
- 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