Referenční informace k rozhraní API pro agenta Azure SRE

Operace rozhraní REST API pro správu a interakci s Azure agentem SRE prostřednictvím kódu programu

Overview

Azure agent SRE poskytuje rozhraní REST API ve dvou vrstvách. Pomocí řídicí roviny (ARM) můžete vytvářet, konfigurovat a odstraňovat agenty a jejich dílčí prostředky. Rovinu dat použijte pro běhové operace, jako je chat, správa úložiště a nahrání znalostí.

Letadlo Základní adresa URL Auth Použít pro
Úroveň řízení management.azure.com RBAC úrovně Standard Azure Vytvoření, aktualizace, odstranění agentů a konfigurace
Datová rovina Koncový bod pro jednotlivé agenty azuresre.dev Publikum Chat, úložiště, háky, znalosti, triggery

Authentication

Řídicí rovina (ARM)

Standardní ověřování Azure – Azure CLI, instanční objekt nebo spravovaná identita:

# 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

Datová rovina

Rovina dat vyžaduje samostatný token s cílovou skupinou 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

Koncový bod agenta je jedinečný pro jednotlivé agenty. Řídí se vzorem https://{name}--{id}.{hash}.{region}.azuresre.ai a operace ARM GET vrátí tento koncový bod v properties.agentEndpoint.

Role systému RBAC

Úloha Description Scope
Správce agenta SRE Úplná kontrola nad konfigurací a provozem agenta Prostředek agenta
Uživatel agenta SRE Chat, schvalování akcí, správa vláken Prostředek agenta
Čtenář agenta SRE Přístup jen pro čtení ke konfiguraci agenta a vlákenm Prostředek agenta

Přiřazování rolí pomocí portálu Azure, rozhraní příkazového řádku nebo rozhraní API ARM:

az role assignment create \
  --assignee {userOrServicePrincipalId} \
  --role "SRE Agent Administrator" \
  --scope "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.App/agents/{name}"

Operace řídicí roviny (ARM)

Verze rozhraní API

2025-05-01-preview

Note

Rozhraní API řídicí roviny i roviny dat jsou aktuálně ve verzi Preview. Cesty ke koncovým bodům, schémata požadavků a odpovědí a chování se můžou před obecnou dostupností změnit. Připněte integrace na tuto verzi rozhraní API a po upgradu otestujte.

Základní adresa URL

https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/agents/{agentName}

Připojte příponu cesty z tabulky operací a pak přidejte ?api-version=2025-05-01-preview jako parametr dotazu. Například: .../agents/{agentName}/start?api-version=2025-05-01-preview.

Operace prostředků agenta

Operace Metoda Přípona cesty
Vytvoření nebo aktualizace PUT (žádný)
Get GET (žádný)
Vymazat DELETE (žádný)
Začátek POST /start
Zastavte POST /stop
Získání využití GET /usages
Získání denních využití GET /dailyusages

Vlastnosti agenta

Vlastnictví Typ Description
provisioningState řetězec Succeeded, Failed, InProgress, , CanceledDeleting(jen pro čtení)
agentEndpoint řetězec Adresa URL roviny dat (jen pro čtení)
powerState řetězec Running nebo Stopped (jen pro čtení)
outboundIpAddresses string[] Odchozí IP adresy pro seznam povolených položek (jen pro čtení)
actionConfiguration.mode řetězec Review, Automatic nebo ReadOnly
actionConfiguration.accessLevel řetězec Low nebo High
defaultModel.provider řetězec Anthropic nebo MicrosoftFoundry (otevřít AI)
defaultModel.name řetězec Název modelu (například Automatic)
upgradeChannel řetězec Stable nebo Preview
monthlyAgentUnitLimit number Měsíční aktivní limit AAU (nezahrnuje tok always-on)
knowledgeGraphConfiguration.identity řetězec ID prostředku spravované identity
knowledgeGraphConfiguration.managedResources string[] ID skupin prostředků, ke které má agent přístup
logConfiguration objekt Konfigurace Application Insights
incidentManagementConfiguration.type řetězec PagerDuty, AzMonitor, ServiceNownebo None
mcpServers string[] Adresy URL serveru MCP
vnetConfiguration.subnetResourceId řetězec Podsíť injektáž virtuální sítě
experimentalSettings objekt Přepsání příznaků funkcí

Podzdroje

Podřízený prostředek Typ ARM Cesta
Konektory Microsoft.App/agents/DataConnectors /DataConnectors/{name}
Dovednosti Microsoft.App/agents/skills /skills/{name}
Podagent Microsoft.App/agents/subagents /subagents/{name}
Tools Microsoft.App/agents/tools /tools/{name}
Naplánované úlohy Microsoft.App/agents/scheduledTasks /scheduledTasks/{name}
Filtry incidentů Microsoft.App/agents/incidentFilters /incidentFilters/{name}
Háčky Microsoft.App/agents/hooks /hooks/{name}
Běžné výzvy Microsoft.App/agents/commonPrompts /commonPrompts/{name}

Podpora PUT všech dílčích prostředků (vytvoření/aktualizace) GETa DELETE operací.

Formáty textu dílčího prostředku

Konektory používají přímé vlastnosti:

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"
    }
  }'

Další dílčí prostředky (dovednosti, podagenty, nástroje atd.) používají obálku s kódováním 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\"}}"

Typy spojnic

Typ Value Případ použití
Azure Data Explorer Kusto Dotazování clusterů ADX
Application Insights Kusto Dotazování App Insights
Analýza protokolů Kusto Dotazování Log Analytics
MCP Mcp Konektory kompatibilní s MCP (Datadog, Splunk atd.)
PagerDuty Mcp Incidenty PagerDuty
ServiceNow Mcp Incidenty ServiceNow
Outlook Outlook E-mailová oznámení
Týmy Teams Oznámení kanálu Teams

Operace roviny dat

Rozhraní API roviny dat slouží k interakci se spuštěným agentem, včetně odesílání zpráv, správy schválení, nahrávání znalostí a konfigurace úložišť, háků a triggerů.

Základní adresa URL

Získání z ARM:

ENDPOINT=$(az rest -m GET \
  --url "...Microsoft.App/agents/{name}?api-version=2025-05-01-preview" \
  --query properties.agentEndpoint -o tsv)

Všechny cesty roviny dat začínají $ENDPOINT/api/...na .

Vlákna a chat

Metoda Cesta Description
GET /api/v1/threads Vypsat vlákna konverzací
GET /api/v1/threads/{threadId} Získání konkrétního vlákna
POST /api/v1/threads/{threadId}/messages Odeslání zprávy (zahájení konverzace)
GET /api/v1/threads/{threadId}/messages Získání zpráv ve vlákně

Schválení

Metoda Cesta Description
GET /api/v1/approvals/{threadId} Výpis čekajících schválení
POST /api/v1/approvals/{threadId}/{id}/decision Schválení nebo odmítnutí akce

Úložiště kódu

Metoda Cesta Description
PUT /api/v2/repos/{repoName} Přidání úložiště kódu
GET /api/v2/repos Výpis úložišť
GET /api/v2/repos/{repoName} Získání podrobností o úložišti
DELETE /api/v2/repos/{repoName} Odebrání úložiště
POST /api/v2/repos/{repoName}/test Testování připojení k úložišti

Znalost (paměť agenta)

Metoda Cesta Description
POST /api/v1/agentmemory/upload Nahrání dokumentů (vícedílné, celkem 100 MB, 16 MB na soubor)
GET /api/v1/agentmemory/status Kontrola stavu paměti
DELETE /api/v1/agentmemory/document/{fileName} Odstranění dokumentu
DELETE /api/v1/agentmemory/documents Hromadné odstranění dokumentů
GET /api/v1/agentmemory/indexer-status Kontrola průběhu indexeru

HTTP spouštěče

Metoda Cesta Description
POST /api/v1/httptriggers/create Vytvoření triggeru HTTP
GET /api/v1/httptriggers Výpis aktivačních událostí
POST /api/v1/httptriggers/{triggerId}/execute Spuštění triggeru
POST /api/v1/httptriggers/trigger/{triggerId} Veřejný koncový bod webhooku (nevyžaduje se ověření)

Háčky

Metoda Cesta Description
PUT /api/v2/extendedAgent/hooks/{hookName} Vytvoření nebo aktualizace háku
GET /api/v2/extendedAgent/hooks Seznam háků
DELETE /api/v2/extendedAgent/hooks/{hookName} Odstranění háku

Rozšířená konfigurace agenta

Správa podagentů, nástrojů, konektorů, dovedností, výzev a modulů plug-in prostřednictvím roviny dat:

zdroj Model cesty
Podagent /api/v2/extendedAgent/agents/{name}
Tools /api/v2/extendedAgent/tools/{name}
Konektory /api/v2/extendedAgent/connectors/{name}
Dovednosti /api/v2/extendedAgent/skills/{name}
Běžné výzvy /api/v2/extendedAgent/commonprompts/{name}
Naplánované úlohy /api/v2/extendedAgent/scheduledtasks/{name}
Plugins /api/v2/extendedAgent/plugins/{name}

Všechny prostředky podporují PUT, GET, PATCHa DELETE metody.

Streamování v reálném čase

Agent používá SignalR pro streamování chatu v reálném čase:

Uzel Cesta Purpose
AgentHub /agentHub Streamování zpráv v reálném čase a aktualizace vláken

Připojte se pomocí klientské knihovny SignalR se stejným nosným tokenem.

Příklady

Získání vlastností agenta

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

Výpis všech konektorů

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

Výpis vláken prostřednictvím roviny dat

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"

Přidání úložiště kódu prostřednictvím roviny dat

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"
    }
  }'