Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве вы создадите триггер HTTP, который запускает проверку соответствия для приложения контейнера. Вы протестируете его на портале и командной строке, а затем интегрируете его в конвейер CI/CD.
Предполагаемое время: 10 минут
Изучив это руководство, вы:
- Создание триггера HTTP с запросом проверки соответствия требованиям
- Запустите тестирование триггера в портале, используя функцию "Запустить сейчас"
- Вызов триггера из командной строки с полезными данными JSON
- Интеграция триггера в конвейер CI/CD
Необходимые условия
- Агент Azure SRE в состоянии выполнения с настроенной по крайней мере одной подпиской Azure
- Установлен Azure CLI (
azкоманда) — это для тестирования вызова веб-перехватчика
Сценарий
Ваша команда развертывает версии приложения-контейнера несколько раз в день. Каждое развертывание должно соответствовать стандартам соблюдения — правильные ограничения ресурсов, настроенные пробы работоспособности, настроенные правила входящего трафика. Вместо ручной проверки после каждого развертывания создается триггер HTTP, вызывающий конвейер CI/CD после каждого развертывания, и агент автоматически выполняет проверку соответствия.
Шаг 1. Открытие триггеров HTTP
Перейдите в Builder > HTTP триггеры в левой боковой панели.
Контрольная точка: Страница загружается со сводными карточками (активные триггеры: 0, всего триггеров: 0, всего запусков: 0) и пустой список триггеров.
Создание триггера
Выберите "Создать триггер " на панели инструментов. Откроется диалоговое окно создания триггера HTTP .
Заполните форму:
| Поле | Ценность |
|---|---|
| Имя триггера | Проверка соответствия контейнерного приложения |
| Сведения о триггере | Была развернута новая редакция приложения-контейнера. Запустите проверку соответствия приложения: убедитесь, что ограничения ресурсов (ЦП/память), пробы работоспособности, ингресс-конфигурация и правила масштабирования настроены правильно. Сообщите о обнаруженных проблемах. Сведения о приложении: {payload.app_name} в группе ресурсов {payload.resource_group}. Редакция: {payload.revision_name}. |
| Уровень автономности агента | Автономный (по умолчанию) |
| Группирование сообщений для обновлений | Новый поток чата для каждого запуска |
Оставьте подагент ответа по умолчанию, если вы не хотите, чтобы определенный подагент обрабатывал проверку.
Выберите "Создать триггер".
Контрольная точка: Триггер отображается в списке со статусом "Вкл" (зеленый значок). Сводные карточки обновляются, чтобы показать 1 активный триггер.
Копирование URL-адреса триггера
Выберите имя триггера Container App Compliance Check, чтобы открыть подробное представление.
Видишь:
- URL-адрес триггера — конечная точка веб-перехватчика с кнопкой копирования
- Состояние — вкл.
- Последний вызов — отсутствует
- Группирование сообщений — новый поток для каждого запуска
Нажмите кнопку копирования рядом с URL-адресом триггера. Сохраните его— используйте его на шаге 5.
Контрольная точка: Убедитесь, что URL-адрес триггера скопирован. Похоже: https://<your-agent>.sre.azure.com/api/v1/httptriggers/trigger/<trigger-id>
Запустить тест сейчас
Нажмите кнопку "Запустить триггер" на панели инструментов. При этом триггер выполняется немедленно без внешнего вызова.
Подождите несколько секунд, а затем выберите список обновлений , чтобы обновить журнал выполнения.
Контрольная точка: История выполнения показывает новую строку с меткой времени, связанный поток и статус выполнения с успехом. Выберите ссылку потока, чтобы просмотреть ответ агента.
Агент создает поток под названием HTTP Trigger: Container App Compliance Check(Проверка соответствия приложений контейнера). Внутри отображается карточка выполнения с планом проверки соответствия требованиям, за которой следует полное расследование агента и таблица вердиктов с результатами соответствия.
Вызов триггера из командной строки
Теперь протестируйте его так, как это сделает ваш конвейер CI/CD — с реальным пейлоадом. Откройте терминал и выполните следующую команду:
# Get an ARM token (use the SRE Agent app ID as the resource)
TOKEN=$(az account get-access-token --resource 59f0a04a-b322-4310-adc9-39ac41e9631e --query accessToken -o tsv)
# Call the trigger with container app deployment details
curl -X POST \
"<YOUR_TRIGGER_URL>" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"app_name": "checkout-api",
"resource_group": "rg-production",
"revision_name": "checkout-api--v3",
"deployed_by": "github-actions",
"image": "myregistry.azurecr.io/checkout-api:v3.2.1"
}'
Замените <YOUR_TRIGGER_URL> на URL-адрес, скопированный на шаге 3.
Что происходит: Агент получает ваш запрос, в котором {payload.app_name}, {payload.resource_group}, и {payload.revision_name} заменены фактическими значениями. Поля, которые не соответствуют заполнителю (например deployed_by , и image) добавляются как необработанный контекст JSON.
Ответ возвращается немедленно с HTTP 202:
{
"message": "HTTP trigger execution initiated",
"executionTime": "2026-03-13T10:30:00Z",
"threadId": "thread-abc123",
"success": true
}
Контрольная точка: Вернитесь на портал, выберите Обновить список в представлении сведений. В истории должно появиться второе выполнение — это связано с внешним вызовом. Выберите ссылку на поток, чтобы просмотреть проверку выполнения требований агентом с реальными сведениями о приложении.
Интеграция с конвейером
Добавьте вызов триггера на шаг после развертывания конвейера CI/CD. Ниже приведен пример для GitHub Actions:
- name: Trigger SRE Agent compliance check
if: success()
run: |
TOKEN=$(az account get-access-token --resource 59f0a04a-b322-4310-adc9-39ac41e9631e --query accessToken -o tsv)
curl -s -X POST "${{ secrets.SRE_TRIGGER_URL }}" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"app_name": "${{ env.APP_NAME }}",
"resource_group": "${{ env.RESOURCE_GROUP }}",
"revision_name": "${{ env.REVISION_NAME }}",
"deployed_by": "${{ github.actor }}",
"commit": "${{ github.sha }}"
}'
Сохраните URL-адрес триггера в виде секрета GitHub (SRE_TRIGGER_URL)- никогда не жестко закодируйте его в файле рабочего процесса.
Очистите ресурсы
Если триггер больше не нужен, удалите его:
- Перейдите к HTTP триггерам в
Builder . - Установите флажок триггера.
- Нажмите кнопку "Удалить".