View a markdown version of this page

Ausführen benutzerdefinierter Agenten - AWS DevOps Agentin

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Ausführen benutzerdefinierter Agenten

Sie können einen benutzerdefinierten Agenten bei Bedarf ausführen oder Trigger so konfigurieren, dass er automatisch ausgeführt wird.

Einen benutzerdefinierten Agenten bei Bedarf ausführen

Sie können einen benutzerdefinierten Agenten sofort von der Agentendetailseite aus oder über Chat ausführen.

So führen Sie einen benutzerdefinierten Agenten von der Detailseite aus:

  1. Navigieren Sie in Ihrer DevOps Agenten-Web-App zur Agenten-Seite.

  2. Wählen Sie den benutzerdefinierten Agenten aus, den Sie ausführen möchten.

  3. Wählen Sie Jetzt ausführen, um den Agenten mit seinen konfigurierten Anweisungen auszuführen.

Um zusätzlichen Kontext für eine bestimmte Ausführung bereitzustellen, wählen Sie den Dropdown-Pfeil neben Jetzt ausführen, geben Sie eine Aufforderung ein, die beschreibt, worauf sich der Agent bei diesem Aufruf konzentrieren soll, und wählen Sie Mit Aufforderung ausführen. Die Aufforderung wird zusammen mit der Systemaufforderung als zusätzlicher Kontext an den Agenten weitergegeben.

Nach dem Start der Ausführung erscheint der neue Aufruf auf der Registerkarte „Verlauf“ mit dem Status „Ausstehender Start“. Wählen Sie den Aufruf aus, um seinen Verlauf in Echtzeit zu verfolgen.

Um einen benutzerdefinierten Agenten mit Chat auszuführen:

Bitten Sie Chat, den Agenten namentlich auszuführen. Beispiel:

Run my weekly-investigation-report agent.
Run certificate-checker and focus on certificates expiring in the next 7 days.

Wenn Sie in der Chat-Nachricht zusätzlichen Kontext angeben, übergibt Chat diesen als Aufforderung für diesen Vorgang. Wenn Sie keinen zusätzlichen Kontext angeben, wird der Agent nur mit der konfigurierten Systemaufforderung ausgeführt.

Ein benutzerdefinierter Agent kann jeweils nur einen Aufruf ausführen. Wenn der Agent bereits läuft, müssen Sie warten, bis der aktuelle Aufruf abgeschlossen ist, eine Zeitüberschreitung eintritt oder abgebrochen wird, bevor Sie einen weiteren starten.

Konfigurieren von -Auslösern

Trigger führen einen benutzerdefinierten Agenten automatisch auf der Grundlage definierter Bedingungen aus. AWS DevOps Der Agent unterstützt zwei Arten von Triggern:

  • Trigger planen — Führen Sie den Agenten in wiederkehrenden Intervallen mithilfe von EventBridge-compatible Cron- oder Rate-Ausdrücken aus.

  • Event-Trigger — Führt den Agenten aus, wenn ein Webhook-Ereignis von einer verbundenen Integration eintrifft, und übergibt die Nutzlast des Ereignisses als Kontext.

Beide Arten von Triggern werden auf der Registerkarte Trigger des benutzerdefinierten Agenten erstellt. Um ihn zu öffnen, navigieren Sie in Ihrer DevOps Agenten-Web-App zur Agenten-Seite, wählen Sie den benutzerdefinierten Agenten und dann den Tab Trigger aus.

Einen Zeitplan-Trigger erstellen

Zeitplanausdrücke verwenden die EventBridge-compatible Cron- oder Rate-Syntax. Der Ausdruck muss eines der folgenden Formate haben:

  • Ratenausdruck — Wird in einem festen Intervall ausgeführt. Format:rate(value unit). Beispiele:

    • rate(1 hour)— Jede Stunde

    • rate(30 minutes)— Alle 30 Minuten

    • rate(7 days)— Alle 7 Tage

  • Cron-Ausdruck — Läuft nach einem bestimmten Zeitplan. Format:cron(minutes hours day-of-month month day-of-week year). Beispiele:

    • cron(0 9 ? * MON-FRI *)— Jeden Wochentag um 9:00 Uhr UTC

    • cron(0 0 1 * ? *)— Erster Tag eines jeden Monats um Mitternacht UTC

    • cron(0 */6 ? * * *)— Alle 6 Stunden

Bei Cron-Ausdrücken muss genau ein Tag des Monats oder des Wochentags sein ? (Fragezeichen). Weitere Informationen zur Syntax von Zeitplanausdrücken finden Sie unter Schedule-Typen im Amazon Scheduler-Benutzerhandbuch. EventBridge

So erstellen Sie einen Zeitplan-Trigger:

  1. Wählen Sie die Schaltfläche + (Erstellen).

  2. Wählen Sie als Triggertyp die Option Zeitplan aus.

  3. Geben Sie einen Zeitplanausdruck ein. Eine grüne Bestätigungsmeldung wird angezeigt, wenn der Ausdruck gültig ist.

  4. (Optional) Um zusätzlichen Kontext für jeden geplanten Lauf bereitzustellen, geben Sie eine Aufforderung in das Feld Benutzeraufforderung (optional) ein. Die Aufforderung wird zusammen mit der Systemaufforderung an den Agenten weitergeleitet.

  5. Wählen Sie Erstellen aus.

Nach der Erstellung erscheint der Trigger in der Liste mit seinem Ausdruck, dem Erstellungsdatum und der nächsten geplanten Laufzeit.

Einen Event-Trigger erstellen

Ein Event-Trigger führt den benutzerdefinierten Agenten aus, wenn ein Webhook-Ereignis von einer verbundenen Integration eintrifft. Die Nutzlast des Ereignisses wird als Kontext für diesen Lauf an den Agenten übergeben.

Voraussetzungen:

Bevor Sie einen Event-Trigger erstellen, benötigen Sie eine verbundene Integration mit einem aktiven Webhook in Ihrem Agentenbereich. Jede Integration mit einem aktiven Webhook kann als Ereignisquelle dienen. Weitere Informationen zum Einrichten von Integrationen finden Sie unter DevOps Agent über Webhook aufrufen.

Um einen Event-Trigger zu erstellen:

  1. Wählen Sie die Schaltfläche + (Erstellen).

  2. Wählen Sie als Triggertyp die Option Ereignis aus.

  3. Wählen Sie als Ereignisquelle die Integration aus, deren Webhook-Ereignisse den Agenten ausführen sollen. Nur Integrationen mit einem aktiven Webhook werden aufgelistet.

  4. (Optional) Geben Sie für Filterausdruck einen JMESPath-Ausdruck ein, um die Event-Nutzlast zu filtern und optional zu transformieren.

  5. Wählen Sie Erstellen aus.

Wenn keine Ereignisquellen aufgeführt sind, gibt es entweder keine Webhook-fähige Integration im Agentenbereich, oder Ihrer Rolle fehlen die Berechtigungen und. ListAssociations ListWebhooks

Ausdrücke filtern:

Sie können optional einen JMESPath-Filterausdruck angeben, um zu steuern, welche Ereignisse den Agenten starten und welchen Kontext der Agent empfängt. Filterausdrücke werden anhand der Root-Nutzlast des Rohereignisses ausgewertet.

  • Syntax — JMESPath-Spezifikation

  • Maximale Länge — 4.096 Zeichen

  • Validierung — Ungültige Ausdrücke werden zurückgewiesen, wenn Sie den Trigger erstellen

Der Filterausdruck dient sowohl als Bedingung als auch optional als Projektion:

  • Wenn das Ergebnis nichtnull, eine leere Zeichenfolgefalse, ein leeres Array oder ein leeres Objekt ist, wird der Trigger ausgeführt.

  • Wenn das Ergebnis ein boolescher Wert ist true (z. B. ein Prädikat wieseverity == 'critical'), erhält der Agent die unformatierte Event-Nutzlast als Kontext.

  • Wenn das Ergebnis ein anderer wahrheitsgemäßer Wert ist (z. B. eine Projektion wie{sev: severity}), erhält der Agent das projizierte Ergebnis als Kontext.

AWS DevOps Der Agent kürzt diesen Kontext auf 10.000 Zeichen.

Wenn Sie den Filterausdruck leer lassen, wird der Agent bei jedem Ereignis aus dieser Quelle ausgeführt und erhält die unformatierte Nutzlast des Ereignisses als Kontext.

Anmerkung

Eine Projektion, die ein leeres Objekt oder ein leeres Array ergibt, gilt als keine Übereinstimmung, und der Agent wird nicht ausgeführt. Um einen möglicherweise leeren Wert zu übergeben, schließen Sie ihn in ein Objektliteral ein. Beispiel, {payload: details}.

Beispiele für Filterausdrücke:

  • severity == 'critical'— Prädikat: Führt den Agenten nur aus, wenn der Schweregrad gleich „Kritisch“ ist, und übergibt die unformatierte Nutzlast des Ereignisses als Kontext.

  • {sev: severity}— Projektion: Führt den Agenten bei jedem Ereignis aus und übergibt ein Objekt, das nur das Schweregradfeld enthält, als Kontext. Da ein Multiselect-Hash immer seine Schlüssel enthält, ist das Ergebnis niemals leer und filtert nicht.

Da die Payload-Shape für jede Quelle unterschiedlich ist, hängen die verfügbaren Felder von der Integration ab. Wenn ein Ereignis eintrifft, aber ein Trigger nicht ausgeführt wird, gibt der AWS DevOps Agent eine Meldung aus, in der der Grund dafür beschrieben wird. In der Benachrichtigung könnte beispielsweise angegeben werden, dass der Filterausdruck mit nichts übereinstimmt. Der Hinweis listet auch die Felder der obersten Ebene auf, die in dieser Nutzlast vorhanden sind. Weitere Informationen finden Sie unter Verkaufte Logs und Metriken.

Programmgesteuertes Erstellen von Triggern

Sie können Trigger auch programmgesteuert mithilfe der SDKs erstellen. AWS Rufen Sie den CreateTrigger Vorgang des devops-agent Clients auf, für den die Genehmigung erforderlich ist. aidevops:CreateTrigger Legen Sie den Triggertyp auf fest TIME_BASED und geben Sie eine Zeitplanbedingung ein, die den Zeitplanausdruck und eine optionale Benutzeraufforderung enthält.

Alternativ können Sie zeitplanbasierte Trigger als AWS::DevOpsAgent::Trigger Ressourcen in modellieren. AWS CloudFormation Ein Trigger verweist auf den benutzerdefinierten Agenten, den er ausführt. Erstellen Sie den Agenten also zuerst. Weitere Hinweise zum AWS::DevOpsAgent::Trigger Ressourcentyp finden Sie unterVerwaltung von Komponenten.

Trigger verwalten

Auf der Registerkarte Trigger werden alle Trigger angezeigt, die für den benutzerdefinierten Agenten konfiguriert wurden. Ein Zeitplan-Trigger zeigt seinen Zeitplanausdruck an. Ein Ereignistrigger zeigt seine Ereignisquelle und, falls gesetzt, seinen Filterausdruck an. Beide Typen zeigen das Erstellungsdatum an.

Wenn die Quellintegration oder ihr Webhook entfernt wird, bleibt ein Event-Trigger aufgeführt, zeigt jedoch an, dass die Quelle nicht mehr verfügbar ist und nicht ausgeführt wird.

Einen Trigger pausieren:

Um vorübergehend zu verhindern, dass ein Trigger den Agenten aufruft, ohne ihn zu löschen, schalten Sie den Kippschalter neben dem Trigger aus. Der Triggerstatus ändert sich in Pausiert und läuft nicht mehr, bis er wieder aktiviert wird. Schalten Sie den Schalter wieder ein, um fortzufahren.

Einen Trigger löschen:

Um einen Trigger dauerhaft zu entfernen, wähle das Löschsymbol (Mülleimer) neben dem Trigger, den du entfernen möchtest. Bestätigen Sie den Löschvorgang in dem daraufhin angezeigten Dialogfeld. Gelöschte Trigger können nicht wiederhergestellt werden.

Abbrechen eines Aufrufs

Sie können einen laufenden Aufruf in der Ansicht des Aufrufverlaufs oder im Chat abbrechen.

Um einen laufenden Aufruf von der Trajektorienansicht aus abzubrechen:

  1. Wählen Sie auf der Registerkarte „Verlauf“ den laufenden Aufruf aus.

  2. Wählen Sie oben in der Trajektorienansicht die Option Abbrechen aus.

Um einen laufenden Aufruf mithilfe von Chat abzubrechen:

Cancel the running invocation of weekly-health-report.

Der Aufrufstatus ändert sich in „Abgebrochen“. Alle Arbeiten, die vor dem Abbruch abgeschlossen wurden, werden in der Trajektorie gespeichert. Tool-Aufrufe, die zum Zeitpunkt des Abbruchs noch im Gange waren, können trotzdem abgeschlossen werden.

Ergebnisse des Tool-Aufrufs

Während des Aufrufs ruft der benutzerdefinierte Agent MCP-Tools auf, um Daten zu sammeln, Aktionen auszuführen und Ausgaben zu erzeugen. Jeder Toolaufruf und sein Ergebnis werden in der Aufruftrajektorie aufgezeichnet.

Die Ergebnisse des Toolaufrufs bieten Transparenz darüber, was der Agent während des Aufrufs getan hat:

  • Erfolgreiche Tool-Aufrufe — Das Tool hat Daten zurückgegeben, die der Agent verwendet, um seine Arbeit fortzusetzen. query_cloudwatch_logsGibt beispielsweise Protokolleinträge zurück oder use_aws gibt API-Antworten zurück.

  • Fehlgeschlagene Tool-Aufrufe — Das Tool hat einen Fehler zurückgegeben. Der Agent versucht es möglicherweise erneut, versucht es mit einem alternativen Ansatz oder meldet den Fehler in seiner Ausgabe.

Sie können einzelne Tool-Aufrufe und ihre Ergebnisse im Aufrufverlauf überprüfen, um das Verhalten des Agenten zu verstehen, zu überprüfen, ob er auf die richtigen Ressourcen zugegriffen hat, und um unerwartete Ergebnisse zu beheben. Weitere Informationen zum Anzeigen von Trajektorien finden Sie unter Anzeigen einer Aufruftrajektorie.