Esercitazione: Creare un trigger HTTP nell'agente SRE di Azure

In questa esercitazione viene creato un trigger HTTP che esegue un controllo di conformità in un'app contenitore. È possibile testarlo dal portale e dalla riga di comando e quindi integrarlo in una pipeline di integrazione continua e recapito continuo (CI/CD).

Tempo stimato: 10 minuti

In questa esercitazione, farai:

  • Creare un trigger HTTP con un prompt per il controllo della conformità.
  • Testare il trigger dal portale usando Esegui Adesso.
  • Chiamare il trigger dalla riga di comando con un payload JSON.
  • Integrare il trigger in una pipeline CI/CD.

Prerequisiti

  • Agente SRE di Azure in stato In esecuzione con almeno una sottoscrizione di Azure configurata.
  • Interfaccia della riga di comando di Azure installata (comando az) per testare la chiamata al webhook.

Scenario

Il team implementa le revisioni dell'applicazione container più volte al giorno. Ogni distribuzione deve soddisfare gli standard di conformità, con limiti delle risorse corretti, probe di integrità configurati e set di regole in ingresso. Invece di controllare manualmente dopo ogni distribuzione, si crea un trigger HTTP che la pipeline CI/CD chiama dopo ogni distribuzione. L'agente esegue automaticamente il controllo di conformità.

Aprire trigger HTTP

Per aprire i trigger HTTP, passare a Generatore>trigger HTTP nel menu del servizio.

Checkpoint: La pagina si carica con schede di riepilogo (trigger attivi: 0, trigger totali: 0, esecuzioni totali: 0) e un elenco di trigger vuoto.

Passaggio 1: Creare il trigger

  1. Selezionare Crea trigger sulla barra degli strumenti. Verrà visualizzata la finestra di dialogo Crea trigger HTTP .

  2. Compilare i campi seguenti nel modulo.

    Campo Valore
    Nome trigger Controllo di conformità dell'app contenitore.
    Dettagli del trigger È stata distribuita una nuova revisione dell'app contenitore. Eseguire un controllo di conformità nell'app. Verificare che i limiti delle risorse (CPU/memoria), i probe di integrità, la configurazione in ingresso e le regole di ridimensionamento siano configurati correttamente. Segnalare eventuali problemi rilevati. Dettagli dell'app: {payload.app_name} nel gruppo di risorse {payload.resource_group}. Revisione: {payload.revision_name}.
    Livello di autonomia dell'agente Autonomo (impostazione predefinita).
    Raggruppamento di messaggi per gli aggiornamenti Nuovo thread di chat per ogni esecuzione.
  3. Lasciare il sottoagente Response predefinito, a meno che non si desideri che un subagente specifico gestisca il controllo.

  4. Selezionare Crea trigger.

Checkpoint: Il trigger viene visualizzato nell'elenco con stato Attivato (badge verde). Le schede di riepilogo vengono aggiornate per visualizzare un trigger attivo.

Passaggio 2: Copiare l'URL del trigger

  1. Selezionare il nome del trigger Controllo conformità app contenitore per aprire la vista dettaglio.

  2. Sono visualizzati i campi seguenti:

    • URL di attivazione: endpoint webhook con un pulsante Copia
    • Stato: Attivato
    • Ultimo chiamato: Mai
    • Raggruppamento di messaggi: nuovo thread per ogni esecuzione
  3. Selezionare il pulsante Copia accanto all'URL del trigger. Salvare l'URL perché viene usato nel passaggio 4.

Checkpoint: L'URL del trigger è stato copiato. Ha un aspetto analogo a https://<your-agent>.sre.azure.com/api/v1/httptriggers/trigger/<trigger-id>.

Passaggio 3: Testare con Esegui ora

  1. Selezionare Esegui ora il trigger sulla barra degli strumenti. Questa azione esegue immediatamente il trigger senza una chiamata esterna.

  2. Attendere alcuni secondi e quindi selezionare Aggiorna elenco per aggiornare la cronologia di esecuzione.

Checkpoint: La cronologia di esecuzione mostra una nuova riga con un timestamp, un thread collegato e uno stato di esito positivo. Selezionare il collegamento thread per visualizzare la risposta dell'agente.

L'agente crea un thread dal titolo Trigger HTTP: controllo conformità app contenitore. All'interno viene visualizzata la scheda di esecuzione con il piano di verifica della conformità, seguita dall'indagine completa condotta dall'agente e da una tabella di giudizio con i risultati di conformità.

Passaggio 4: Chiamare il trigger dalla riga di comando

A questo punto, testarlo come farebbe la pipeline CI/CD, con un payload reale. Aprire un terminale ed eseguire:

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

Sostituire <YOUR_TRIGGER_URL> con l'URL copiato nel passaggio 2.

Che succede: L'agente riceve il prompt con {payload.app_name}, {payload.resource_group}e {payload.revision_name} sostituito con i valori effettivi. I campi che non corrispondono a un segnaposto (ad esempio deployed_by e image) vengono aggiunti come contesto JSON non elaborato.

La risposta viene restituita immediatamente con il codice HTTP 202:

{
  "message": "HTTP trigger execution initiated",
  "executionTime": "2026-03-13T10:30:00Z",
  "threadId": "thread-abc123",
  "success": true
}

Checkpoint: Tornare al portale e selezionare Aggiorna elenco nella visualizzazione dei dettagli. Dovresti vedere una seconda esecuzione nella cronologia. Proviene dalla chiamata esterna. Selezionare il collegamento al thread per visualizzare il controllo di conformità dell'agente con i dettagli reali dell'app completati.

Passaggio 5: Integrare con la tua pipeline

Aggiungere la chiamata al trigger al passaggio post-distribuzione della pipeline CI/CD. Ecco un esempio per 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 }}"
      }'

Archiviare l'URL del trigger come segreto GitHub (SRE_TRIGGER_URL). Non impostarlo mai come hardcoded nel file del flusso di lavoro.

Passaggio 6: Pulire le risorse

Se il trigger non è più necessario, eliminarlo:

  1. Andare a Generatore>Trigger HTTP.
  2. Selezionare la casella di controllo trigger.
  3. Seleziona Elimina.