Справочник по API для агента SRE Azure

Операции REST API для управления и взаимодействия с агентом SRE Azure программным способом.

Обзор

Azure агент SRE предоставляет REST API на двух уровнях. Используйте плоскость управления (ARM), чтобы создавать, настраивать и удалять агенты и их вложенные ресурсы. Используйте плоскость данных для операций выполнения, таких как чат, управление репозиторием и отправка знаний.

самолёт Базовый URL-адрес Auth Применение для
Контрольная плоскость management.azure.com Стандартный Azure RBAC Создание, обновление, удаление агентов и конфигурации
Плоскость данных Конечная точка для каждого агента azuresre.dev Аудитории Чат, репозитории, перехватчики, знания, триггеры

Authentication

Плоскость управления (ARM)

Стандартная проверка подлинности Azure — Azure CLI, субъект-служба или управляемое удостоверение:

# 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 Описание Scope
Администратор агента SRE Полный контроль над конфигурацией и операциями агента Ресурс агента
Пользователь агента SRE Чат, утверждение действий, управление потоками Ресурс агента
Средство чтения агента SRE Доступ только для чтения к конфигурации агента и потокам Ресурс агента

Назначение ролей с помощью портала Azure, интерфейса командной строки или API ARM:

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 и тестирование после обновления.

Базовый 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 GET (нет)
Удалить DELETE (нет)
Начало POST /start
Остановка POST /stop
Получение сведений об использовании GET /usages
Получение ежедневных сведений об использовании GET /dailyusages

Свойства агента

Недвижимость Тип Описание
provisioningState string Succeeded, Failed, InProgressCanceled, Deleting ( только для чтения)
agentEndpoint string URL-адрес плоскости данных (только для чтения)
powerState string Running или Stopped (только для чтения)
outboundIpAddresses string[] Исходящие IP-адреса для списка разрешений (только для чтения)
actionConfiguration.mode string Review, Automatic или ReadOnly
actionConfiguration.accessLevel string Low или High
defaultModel.provider string Anthropic или MicrosoftFoundry (Open AI)
defaultModel.name string Имя модели (например, Automatic)
upgradeChannel string Stable или Preview
monthlyAgentUnitLimit number Ежемесячное ограничение AAU активного потока (не включает поток постоянного входа)
knowledgeGraphConfiguration.identity string Идентификатор ресурса управляемого удостоверения
knowledgeGraphConfiguration.managedResources string[] Идентификаторы группы ресурсов, к которые агент может получить доступ
logConfiguration object Конфигурация Application Insights
incidentManagementConfiguration.type string PagerDuty, AzMonitor, ServiceNowили None
mcpServers string[] URL-адреса сервера MCP
vnetConfiguration.subnetResourceId string Подсеть внедрения виртуальной сети
experimentalSettings object Переопределения флага компонента

Подресурсы

Подресурс Тип ARM Путь
Соединители Microsoft.App/agents/DataConnectors /DataConnectors/{name}
Skills 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 Kusto Запрос кластеров ADX
Application Insights Kusto Запрос App Insights
Log Analytics Kusto Запрос Log Analytics
MCP Mcp Соединители, совместимые с MCP (Datadog, Splunk и т. д.)
PagerDuty Mcp Инциденты PagerDuty
ServiceNow Mcp Инциденты ServiceNow
Outlook 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/....

Потоки и чат

Метод Путь Описание
GET /api/v1/threads Вывод списка потоков беседы
GET /api/v1/threads/{threadId} Получение определенного потока
POST /api/v1/threads/{threadId}/messages Отправка сообщения (запуск беседы)
GET /api/v1/threads/{threadId}/messages Получение сообщений в потоке

Утверждения

Метод Путь Описание
GET /api/v1/approvals/{threadId} Вывод списка ожидающих утверждений
POST /api/v1/approvals/{threadId}/{id}/decision Утверждение или отклонение действия

Репозитории кода

Метод Путь Описание
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 Проверка подключения репозитория

Знание (память агента)

Метод Путь Описание
POST /api/v1/agentmemory/upload Отправка документов (максимум 100 МБ, 16 МБ на файл)
GET /api/v1/agentmemory/status Проверка состояния памяти
DELETE /api/v1/agentmemory/document/{fileName} Удаление документа
DELETE /api/v1/agentmemory/documents Массовое удаление документов
GET /api/v1/agentmemory/indexer-status Проверка хода выполнения индексатора

Триггеры HTTP

Метод Путь Описание
POST /api/v1/httptriggers/create Создание триггера HTTP
GET /api/v1/httptriggers Перечисление триггеров
POST /api/v1/httptriggers/{triggerId}/execute Выполнение триггера
POST /api/v1/httptriggers/trigger/{triggerId} Общедоступная конечная точка веб-перехватчика (не требуется аутентификация)

Хуки

Метод Путь Описание
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}
Skills /api/v2/extendedAgent/skills/{name}
Распространенные запросы /api/v2/extendedAgent/commonprompts/{name}
Запланированные задачи /api/v2/extendedAgent/scheduledtasks/{name}
Plugins /api/v2/extendedAgent/plugins/{name}

Все ресурсы поддерживают PUT, GETPATCHи 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"
    }
  }'