azure-mgmt-arizeaiobservabilityeval-dotnet について
Azure.ResourceManager を通じて、Azure 上の Arize AI Observability and Evaluation 組織リソースを管理する .NET SDK です。組織の作成や取得などのライフサイクル操作に加え、Marketplace とシングルサインオンの設定モデルを備えています。
主な機能
- 01組織リソースの作成と取得
- 02サブスクリプションまたはリソースグループ単位の一覧表示
- 03組織タグの更新
- 04組織リソースの削除
- 05Marketplace と SSO 設定モデルへのアクセス
活用シーン
- 01Azure リソースグループで Arize AI 組織を作成
- 02組織の存在確認とリソース取得
- 03環境やチームのタグを更新
- 04サブスクリプション内の観測・評価組織を一覧表示
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill azure-mgmt-arizeaiobservabilityeval-dotnetインストール後、Claude Code で/azure-mgmt-arizeaiobservabilityeval-dotnetを入力して読み込まれたか確認します。
詳細
Azure.ResourceManager.ArizeAIObservabilityEval
Azure 上の Arize AI Observability および Evaluation リソースを管理するための .NET SDK です。
インストール
dotnet add package Azure.ResourceManager.ArizeAIObservabilityEval --version 1.0.0
パッケージ情報
| プロパティ | 値 |
|---|---|
| パッケージ | Azure.ResourceManager.ArizeAIObservabilityEval |
| バージョン | 1.0.0 (GA) |
| API バージョン | 2024-10-01 |
| ARM タイプ | ArizeAi.ObservabilityEval/organizations |
| 依存関係 | Azure.Core >= 1.46.2、Azure.ResourceManager >= 1.13.1 |
環境変数
AZURE_SUBSCRIPTION_ID=<your-subscription-id>
AZURE_TENANT_ID=<your-tenant-id>
AZURE_CLIENT_ID=<your-client-id>
AZURE_CLIENT_SECRET=<your-client-secret>
認証
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ArizeAIObservabilityEval;
// Always use DefaultAzureCredential
var credential = new DefaultAzureCredential();
var armClient = new ArmClient(credential);
Marketplace と SDK の境界
プロビジョニングする前に、サブスクリプション、リージョン、正確な Marketplace のオファー/プラン/契約期間、費用、承認された連絡先情報の開示内容を確認してください。プレースホルダーを実際の業務上の識別情報として実行しないでください。スニペットはそれぞれ独立した代替案であり、ローカルの名前を再利用しています。選択したバージョンで、パッケージ/モデルのシグネチャと実際の RBAC を確認してください。削除すると、有料の組織と依存する可観測性データが削除される可能性があります。対象を正確に指定した承認と、復旧に関する要件を確認してください。
主なワークフロー
Arize AI 組織を作成する
using Azure.Core;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ArizeAIObservabilityEval;
using Azure.ResourceManager.ArizeAIObservabilityEval.Models;
// Get subscription and resource group
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");
// Get the organization collection
var collection = resourceGroup.Value.GetArizeAIObservabilityEvalOrganizations();
// Create organization data
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 = "[email protected]"
}
},
Tags = { ["environment"] = "production" }
};
// Create (long-running operation)
var operation = await collection.CreateOrUpdateAsync(
WaitUntil.Completed,
"my-arize-org",
data);
var organization = operation.Value;
Console.WriteLine($"Created: {organization.Data.Name}");
組織を取得する
// Option 1: From collection
var org = await collection.GetAsync("my-arize-org");
// Option 2: Check if exists first
var exists = await collection.ExistsAsync("my-arize-org");
if (exists.Value)
{
var org = await collection.GetAsync("my-arize-org");
}
// Option 3: GetIfExists (returns null if not found)
var response = await collection.GetIfExistsAsync("my-arize-org");
if (response.HasValue)
{
var org = response.Value;
}
組織を一覧表示する
// List in resource group
await foreach (var org in collection.GetAllAsync())
{
Console.WriteLine($"Org: {org.Data.Name}, State: {org.Data.Properties?.ProvisioningState}");
}
// List in subscription
await foreach (var org in subscription.Value.GetArizeAIObservabilityEvalOrganizationsAsync())
{
Console.WriteLine($"Org: {org.Data.Name}");
}
組織を更新する
// Update 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);
組織を削除する
var org = await collection.GetAsync("my-arize-org");
await org.Value.DeleteAsync(WaitUntil.Completed);
主な型
| 型 | 用途 |
|---|---|
ArizeAIObservabilityEvalOrganizationResource | Arize 組織の主要な ARM リソース |
ArizeAIObservabilityEvalOrganizationCollection | CRUD 操作用のコレクション |
ArizeAIObservabilityEvalOrganizationData | リソースのデータモデル |
ArizeAIObservabilityEvalOrganizationProperties | 組織のプロパティ |
ArizeAIObservabilityEvalMarketplaceDetails | Azure Marketplace サブスクリプション情報 |
ArizeAIObservabilityEvalOfferDetails | Marketplace オファーの構成 |
ArizeAIObservabilityEvalUserDetails | ユーザーの連絡先情報 |
ArizeAIObservabilityEvalOrganizationPatch | 更新用のパッチモデル |
ArizeAIObservabilityEvalSingleSignOnPropertiesV2 | SSO の構成 |
列挙型
| 列挙型 | 値 |
|---|---|
ArizeAIObservabilityEvalOfferProvisioningState | Succeeded、Failed、Canceled、Provisioning、Updating、Deleting、Accepted |
ArizeAIObservabilityEvalMarketplaceSubscriptionStatus | PendingFulfillmentStart、Subscribed、Suspended、Unsubscribed |
ArizeAIObservabilityEvalSingleSignOnState | Initial、Enable、Disable |
ArizeAIObservabilityEvalSingleSignOnType | Saml、OpenId |
ベストプラクティス
- 非同期メソッドを使用する — すべての操作で async/await がサポートされています
- 長時間実行される操作を処理する —
WaitUntil.Completedを使用するか、手動でポーリングします - GetIfExistsAsync を使用する — 条件分岐での例外を回避します
- 再試行ポリシーを実装する —
ArmClientOptionsで構成します - リソース識別子を使用する — 一覧表示せずにリソースへ直接アクセスできます
- クライアントを適切に終了する —
usingステートメントを使用するか、明示的に破棄します
エラー処理
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}");
}
リソースへの直接アクセス
// Access resource directly by ID (without listing)
var resourceId = ArizeAIObservabilityEvalOrganizationResource.CreateResourceIdentifier(
subscriptionId,
"my-resource-group",
"my-arize-org");
var org = armClient.GetArizeAIObservabilityEvalOrganizationResource(resourceId);
var data = await org.GetAsync();
リンク
使用する場合
このスキルは、概要で説明されているワークフローまたはアクションを実行する場合に適用できます。
制限事項
- このスキルは、タスクが上記で説明した範囲に明確に一致する場合にのみ使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全性の境界、または成功基準が不足している場合は、作業を中断して確認してください。
コメント
Markdown 対応