Code Engine

IBM Cloud Code Engine ist eine vollständig verwaltete, serverlose Plattform, auf der Ihre containerisierten Workloads ausgeführt werden, einschließlich Webanwendungen, Mikrodienste, ereignisgesteuerte Funktionen oder Batch-Jobs. Code Engine stellt ein Serviceziel dar, an dem eine eingehende Benachrichtigung programmatisch konsumiert werden kann. Beispielsweise kann eine eingehende Benachrichtigung über ein Ereignis ein Code Engine-Ziel an einen Backend-Mikroservice auslösen, der dann entsprechend dem Inhalt der eingehenden Benachrichtigung reagiert.

Konfigurieren eines Code Engine-Ziels

Bevor Sie Code Engine als Ziel für run type Job konfigurieren, stellen Sie sicher, dass Sie ein Code Engine Projekt erstellt und Job konfiguriert im selben Konto wie Ihre Event Notifications Instanz haben.

Wenn es run type Job gibt, wenn Sie Event Notifications CLI oder API verwenden, um Code Engine Job als Ziel zu konfigurieren, stellen Sie sicher, dass Sie die Berechtigung für den Zugriff zwischen den Diensten aktiviert haben. Weitere Informationen finden Sie in Zugriffsberechtigungen zwischen Services mithilfe von Autorisierungen erteilen.

Um ein Code Engine-Ziel zu konfigurieren, führen Sie die folgenden Schritte aus:

  1. Klicken Sie in Ihrer Event Notifications-Instanz auf Destinations.

  2. Klicken Sie auf Erstellen, um ein neues Ziel hinzuzufügen.

  3. Geben Sie im Dialogfeld Ziel erstellen die folgenden Zielangaben ein:

    • Name: Geben Sie einen Namen für Ihr Ziel ein.
    • Beschreibung: Geben Sie optional eine Beschreibung für Ihr Ziel ein.
    • Typ: Wählen Sie unter Ziel aus der Liste Code Engine als Zieltyp aus.
    • Ausführungstyp: Wählen Sie einen der folgenden Ausführungstypen aus: Code Engine-Jobs oder Code Engine-Anwendung.

    Wenn als Ausführungstyp Job ausgewählt wurde, geben Sie bitte die folgenden Details an:

    • Projektname: Wählen Sie den Projektnamen Code Engine aus der Liste aus. Andernfalls klicken Sie auf Neues Projekt erstellen, um ein Code Engine-Projekt zu erstellen.

      Wenn Sie ein Code Engine-Projekt auswählen, wird die Autorisierung zwischen den Diensten intern zwischen den beiden Dienstinstanzen hergestellt, sofern diese Autorisierung noch nicht vorhanden ist.

    • Auftragsname: Wählen Sie den Auftragsnamen aus der Liste aus.

    Wenn als Ausführungstyp Anwendung ausgewählt wurde, geben Sie bitte die folgenden Details an:

    • URL: Rufen Sie die Anwendung Code Engine unter URL auf (nur HTTPS ).
    • Verb: Wählen Sie das aufzurufende Verb aus (GET oder POST).
    • Header: Geben Sie optional eine Liste von Headern ein, die an die Anwendung Code Engine übergeben werden sollen.
  4. Klicken Sie auf Ziel erstellen.

Event Notifications unterstützt jetzt Code Engine Funktionen.

Zugriffsberechtigungen zwischen Services mithilfe von Autorisierungen erteilen

Mit IBM Cloud® Identity and Access Management (IAM) können Sie eine Autorisierung erstellen oder entfernen, mit der einem Service Zugriff auf einen anderen Service erteilt wird.

Autorisierung in der Konsole erstellen

  1. Klicken Sie in der IBM Cloud-Konsole auf Verwalten > Zugriff (IAM) und wählen Sie Autorisierungen aus.

  2. Klicken Sie auf Erstellen.

  3. Wählen Sie ein Quellenkonto aus.

    • Wählen Sie Dieses Konto aus, wenn sich der Quellenservice, der Zugriff auf den Zielservice benötigt, in diesem Konto befindet.
  4. Wählen Sie einen Quelldienst wie z. B Event Notifications.

  5. Geben Sie an, ob die Berechtigung für alle Ressourcen oder Ressourcen basierend auf ausgewählten Attributen gelten soll. Wenn Sie Ressourcen basierend auf ausgewählten Attributen ausgewählt haben, geben Sie Attribute hinzufügen an: nur Quellenressourcengruppe oder nur Quellenserviceinstanz.

  6. Wählen Sie als Zielservice Code Engine aus.

  7. Geben Sie für den Zielservice an, ob die Autorisierung für alle Projekte, nur für ein bestimmtes Projekt im Konto oder nur für Projekte in einer bestimmten Ressourcengruppe gelten soll.

  8. Wählen Sie beide Rollen (Anzeigeberechtigter und Schreibberechtigter) aus, um Zugriff auf den Quellenservice zu erteilen, der auf den Zielservice zugreift.

    Wenn Sie bei der Autorisierung von Dienst zu Dienst nur eine dieser beiden Rollen (Leser oder Schreiber) ausgewählt haben, können Sie keinen Auftrag auslösen oder das Ziel konfigurieren. In diesen Fällen erhalten Sie eine Fehlermeldung, wenn die Autorisierung von Dienst zu Dienst fehlschlägt. Stellen Sie sicher, dass Sie eine Autorisierung zwischen den Diensten mit beiden ausgewählten Rollen neu erstellen.

  9. Klicken Sie auf Autorisieren.

Autorisierung über die Befehlszeilenschnittstelle (CLI) erstellen

Führen Sie den Befehl ibmcloud iam authorization-policy-create aus, um einen Quellenservice für den Zugriff auf einen Zielservice zu berechtigen.

Weitere Informationen zu allen Parametern, die für diesen Befehl verfügbar sind, finden Sie unter ibmcloud iam authorization-policy-create.

Zugriff auf Ereignisnutzdaten im Job Code Engine

Die Ereignis-Payloads wurden über eine Umgebungsvariable an Code Engine job übermittelt, die über die Umgebungsvariable ibmendata abgerufen werden kann.

Code Engine-Zielkonfiguration testen

Sie können ein Code Engine-Ziel im Optionsmenü neben dem Ziel testen. Mit einem einzigen Klick können Sie überprüfen, ob die angegebene Konfiguration korrekt ist.

Weitere Informationen zum Testen eines Ziels finden Sie unter Testen von Zielen.

Code Engine-Wiederholungsrichtlinie

Beim Senden von Benachrichtigungen an Code Engine können Probleme wie Netzwerkfehler und Anwendungsstörungen dazu führen, dass die Anfragen fehlschlagen. Event Notifications versucht automatisch, fehlgeschlagene Anfragen zu wiederholen, um Ausfallsicherheit zu gewährleisten.

Ausführliche Informationen zum Wiederholungsverhalten, einschließlich Wiederholungsversuchen, Verzögerungen und Timeout-Werten, finden Sie unter Wiederholungsrichtlinie für Ziele.