Azure SRE エージェントをプログラムで管理および操作するための REST API 操作。
概要
Azure SRE エージェントは、2 つのレイヤーで REST API を提供します。 コントロール プレーン (ARM) を使用して、エージェントとそのサブリソースを作成、構成、および削除します。 チャット、リポジトリ管理、ナレッジのアップロードなどの実行時操作には、 データ プレーン を使用します。
| 平面 | 基準 URL | Auth | 利用目的 |
|---|---|---|---|
| コントロール プレーン | management.azure.com |
Standard Azure RBAC | エージェントと構成の作成、更新、削除 |
| データ プレーン | エージェントごとのエンドポイント |
azuresre.dev 観客 |
チャット、リポジトリ、フック、ナレッジ、トリガー |
Authentication
コントロール プレーン (ARM)
標準Azure認証 - Azure CLI、サービス プリンシパル、またはマネージド ID:
# Interactive login
az login
# Service principal
az login --service-principal -u $APP_ID -p $SECRET --tenant $TENANT_ID
# Managed identity (from Azure VM or Container App)
az login --identity
データ プレーン
データ プレーンには、対象ユーザー https://azuresre.devを含む別のトークンが必要です。
# Step 1: Get the agent's data plane endpoint
ENDPOINT=$(az rest -m GET \
--url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/agents/{agentName}?api-version=2025-05-01-preview" \
--query properties.agentEndpoint -o tsv)
# Step 2: Get a data plane token
TOKEN=$(az account get-access-token \
--resource https://azuresre.dev \
--query accessToken -o tsv)
# Step 3: Call the data plane
curl -H "Authorization: Bearer $TOKEN" "$ENDPOINT/api/v1/threads"
Note
エージェント エンドポイントはエージェントごとに一意です。 これはパターン https://{name}--{id}.{hash}.{region}.azuresre.ai に従い、ARM GET 操作は properties.agentEndpointでこのエンドポイントを返します。
RBAC のロール
| Role | Description | Scope |
|---|---|---|
| SRE エージェント管理者 | エージェントの構成と操作を完全に制御する | エージェント用リソース |
| SRE エージェント ユーザー | チャット、アクションの承認、スレッドの管理 | エージェント用リソース |
| SRE エージェント リーダー | エージェント構成とスレッドへの読み取り専用アクセス | エージェント用リソース |
Azure ポータル、CLI、または ARM API を使用してロールを割り当てます。
az role assignment create \
--assignee {userOrServicePrincipalId} \
--role "SRE Agent Administrator" \
--scope "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.App/agents/{name}"
コントロール プレーン (ARM) 操作
API バージョン
2025-05-01-preview
Note
コントロール プレーン API とデータ プレーン API の両方が現在 プレビュー段階です。 エンドポイント のパス、要求と応答のスキーマ、および動作は、一般公開前に変更される可能性があります。 統合をこの API バージョンにピン留めし、アップグレード後にテストします。
基準 URL
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/agents/{agentName}
操作テーブルからパス サフィックスを追加し、クエリ パラメーターとして ?api-version=2025-05-01-preview を追加します。 たとえば、 .../agents/{agentName}/start?api-version=2025-05-01-previewと指定します。
エージェント リソース操作
| 操作 | メソッド | パス サフィックス |
|---|---|---|
| 作成または更新 | PUT |
(なし) |
| 取得 | GET |
(なし) |
| 削除 | DELETE |
(なし) |
| [開始] | POST |
/start |
| 止める | POST |
/stop |
| 使用状況を取得する | GET |
/usages |
| 毎日の使用状況を取得する | GET |
/dailyusages |
エージェントのプロパティ
| 財産 | タイプ | Description |
|---|---|---|
provisioningState |
文字列 |
Succeeded、 Failed、 InProgress、 Canceled、 Deleting (読み取り専用) |
agentEndpoint |
文字列 | データ プレーン URL (読み取り専用) |
powerState |
文字列 |
Running または Stopped (読み取り専用) |
outboundIpAddresses |
string[] | 許可リストの送信 IP (読み取り専用) |
actionConfiguration.mode |
文字列 |
Review、 Automatic、または ReadOnly |
actionConfiguration.accessLevel |
文字列 |
Low または High |
defaultModel.provider |
文字列 |
Anthropic または MicrosoftFoundry (Open AI) |
defaultModel.name |
文字列 | モデル名 (例: Automatic) |
upgradeChannel |
文字列 |
Stable または Preview |
monthlyAgentUnitLimit |
number | 月間アクティブ フロー AAU 上限 (常時オン フローは含まれません) |
knowledgeGraphConfiguration.identity |
文字列 | マネージド ID リソース ID |
knowledgeGraphConfiguration.managedResources |
string[] | エージェントがアクセスできるリソース グループ ID |
logConfiguration |
オブジェクト | Application Insights の構成 |
incidentManagementConfiguration.type |
文字列 |
PagerDuty、AzMonitor、ServiceNowまたはNone |
mcpServers |
string[] | MCP サーバー URL |
vnetConfiguration.subnetResourceId |
文字列 | VNet インジェクション サブネット |
experimentalSettings |
オブジェクト | 機能フラグのオーバーライド |
副リソース
| 下位リソース | ARM の種類 | 経路 |
|---|---|---|
| コネクタ | Microsoft.App/agents/DataConnectors |
/DataConnectors/{name} |
| スキル | Microsoft.App/agents/skills |
/skills/{name} |
| サブエージェント | Microsoft.App/agents/subagents |
/subagents/{name} |
| ツール | Microsoft.App/agents/tools |
/tools/{name} |
| スケジュールされたタスク | Microsoft.App/agents/scheduledTasks |
/scheduledTasks/{name} |
| インシデント フィルター | Microsoft.App/agents/incidentFilters |
/incidentFilters/{name} |
| フック | Microsoft.App/agents/hooks |
/hooks/{name} |
| 一般的なプロンプト | Microsoft.App/agents/commonPrompts |
/commonPrompts/{name} |
すべてのサブリソースは、 PUT (作成/更新)、 GET、および DELETE 操作をサポートします。
サブリソース本文の形式
コネクタは直接プロパティを使用します 。
az rest -m PUT \
--url "https://management.azure.com/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.App/agents/{agent}/DataConnectors/my-kusto?api-version=2025-05-01-preview" \
--body '{
"properties": {
"name": "my-kusto",
"dataConnectorType": "Kusto",
"dataSource": "https://mycluster.eastus2.kusto.windows.net",
"identity": "system"
}
}'
その他のサブリソース (スキル、サブエージェント、ツールなど) では、base64 でエンコードされたエンベロープが使用されます。
# The spec is base64-encoded inside properties.value
SPEC='{"name":"my-tool","description":"Query Azure Resource Graph"}'
ENCODED=$(echo -n "$SPEC" | base64)
az rest -m PUT \
--url "...Microsoft.App/agents/{agent}/tools/my-tool?api-version=2025-05-01-preview" \
--body "{\"properties\":{\"value\":\"$ENCODED\"}}"
コネクタの種類
| タイプ | 価値 | 利用シーン |
|---|---|---|
| Azure Data Explorer | Kusto |
ADX クラスターのクエリを実行する |
| Application Insights | Kusto |
App Insights のクエリ |
| Log Analytics | Kusto |
クエリ Log Analytics |
| MCP | Mcp |
MCP 互換コネクタ (Datadog、Splunk など) |
| ページャーデューティ | Mcp |
PagerDuty インシデント |
| ServiceNow | Mcp |
ServiceNow インシデント |
| 前途 | Outlook |
メール通知 |
| チーム | Teams |
Teams チャネルの通知 |
データプレーン操作
データ プレーン API を使用して、メッセージの送信、承認の管理、ナレッジのアップロード、リポジトリ、フック、トリガーの構成など、実行中のエージェントと対話します。
基準 URL
ARM から取得する:
ENDPOINT=$(az rest -m GET \
--url "...Microsoft.App/agents/{name}?api-version=2025-05-01-preview" \
--query properties.agentEndpoint -o tsv)
すべてのデータ プレーン パスは、 $ENDPOINT/api/...で始まります。
スレッドとチャット
| メソッド | 経路 | Description |
|---|---|---|
GET |
/api/v1/threads |
会話スレッドを一覧表示する |
GET |
/api/v1/threads/{threadId} |
特定のスレッドを取得する |
POST |
/api/v1/threads/{threadId}/messages |
メッセージを送信する (会話を開始する) |
GET |
/api/v1/threads/{threadId}/messages |
スレッド内のメッセージを取得する |
承認
| メソッド | 経路 | Description |
|---|---|---|
GET |
/api/v1/approvals/{threadId} |
保留中の承認を一覧表示する |
POST |
/api/v1/approvals/{threadId}/{id}/decision |
アクションを承認または拒否する |
コード リポジトリ
| メソッド | 経路 | Description |
|---|---|---|
PUT |
/api/v2/repos/{repoName} |
コード リポジトリを追加する |
GET |
/api/v2/repos |
リポジトリの一覧を表示する |
GET |
/api/v2/repos/{repoName} |
リポジトリの詳細を取得する |
DELETE |
/api/v2/repos/{repoName} |
リポジトリを削除する |
POST |
/api/v2/repos/{repoName}/test |
リポジトリの接続をテストする |
ナレッジ (エージェント メモリ)
| メソッド | 経路 | Description |
|---|---|---|
POST |
/api/v1/agentmemory/upload |
ドキュメントのアップロード (マルチパート、最大 100 MB、ファイルあたり 16 MB) |
GET |
/api/v1/agentmemory/status |
メモリの状態を確認する |
DELETE |
/api/v1/agentmemory/document/{fileName} |
ドキュメントを削除する |
DELETE |
/api/v1/agentmemory/documents |
ドキュメントを一括削除する |
GET |
/api/v1/agentmemory/indexer-status |
インデクサーの進行状況を確認する |
HTTP トリガー
| メソッド | 経路 | Description |
|---|---|---|
POST |
/api/v1/httptriggers/create |
HTTP トリガーを作成する |
GET |
/api/v1/httptriggers |
トリガーをリスト |
POST |
/api/v1/httptriggers/{triggerId}/execute |
トリガーを実行する |
POST |
/api/v1/httptriggers/trigger/{triggerId} |
パブリック Webhook エンドポイント (認証は必要ありません) |
フック
| メソッド | 経路 | Description |
|---|---|---|
PUT |
/api/v2/extendedAgent/hooks/{hookName} |
フックを作成または更新します |
GET |
/api/v2/extendedAgent/hooks |
フックを一覧表示する |
DELETE |
/api/v2/extendedAgent/hooks/{hookName} |
フックを削除します |
拡張エージェントの構成
データ プレーンを使用して、サブエージェント、ツール、コネクタ、スキル、プロンプト、プラグインを管理します。
| 資源 | パスパターン形式 |
|---|---|
| サブエージェント | /api/v2/extendedAgent/agents/{name} |
| ツール | /api/v2/extendedAgent/tools/{name} |
| コネクタ | /api/v2/extendedAgent/connectors/{name} |
| スキル | /api/v2/extendedAgent/skills/{name} |
| 一般的なプロンプト | /api/v2/extendedAgent/commonprompts/{name} |
| スケジュールされたタスク | /api/v2/extendedAgent/scheduledtasks/{name} |
| Plugins | /api/v2/extendedAgent/plugins/{name} |
すべてのリソースは、 PUT、 GET、 PATCH、および DELETE メソッドをサポートします。
リアルタイム ストリーミング
エージェントは、リアルタイム チャット ストリーミングに SignalR を使用します。
| ハブ | 経路 | Purpose |
|---|---|---|
| AgentHub | /agentHub |
リアルタイム メッセージ ストリーミングとスレッドの更新 |
同じベアラー トークンを使用して SignalR クライアント ライブラリを使用して接続します。
例示
エージェントのプロパティを取得する
az rest -m GET \
--url "https://management.azure.com/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.App/agents/{name}?api-version=2025-05-01-preview" \
-o json
すべてのコネクタを一覧表示する
az rest -m GET \
--url "https://management.azure.com/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.App/agents/{name}/DataConnectors?api-version=2025-05-01-preview" \
-o json
データ プレーンを使用してスレッドを一覧表示する
TOKEN=$(az account get-access-token --resource https://azuresre.dev --query accessToken -o tsv)
ENDPOINT="https://{agentEndpoint}"
curl -s -H "Authorization: Bearer $TOKEN" "$ENDPOINT/api/v1/threads"
データ プレーンを使用してコード リポジトリを追加する
curl -X PUT \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
"$ENDPOINT/api/v2/repos/my-repo" \
-d '{
"properties": {
"url": "https://github.com/myorg/myrepo",
"type": "GitHub"
}
}'
関連するコンテンツ
- ARM テンプレート リファレンス: Microsoft Learn の完全なプロパティ スキーマ
- コードとしてのインフラストラクチャを使用してデプロイする: Bicep、Terraform、または PowerShell を使用してエージェントのデプロイを自動化する
- ネットワーク要件: API エンドポイントのファイアウォール許可リスト
- 価格と課金: API 駆動型操作のコスト