Wiederverwendbare freigegebene Abläufe erstellen

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Kombinieren Sie Richtlinien und Ressourcen zu einem freigegebenen Ablauf, den Sie von mehreren API-Proxys und sogar von anderen freigegebenen Abläufen nutzen können. Obwohl er wie ein Proxy ist, hat ein freigegebener Ablauf keinen Endpunkt. Es kann nur über einen API-Proxy oder einen gemeinsam genutzten Ablauf verwendet werden, der sich in derselben Organisation wie der freigegebene Ablauf befindet.

Durch die Erfassung von Funktionen an einem Ort, die an mehreren Orten nützlich sind, wird ein gemeinsamer Ablauf gewährleistet, um Konsistenz sicherzustellen, die Entwicklungszeit zu verkürzen und den Code leichter zu verwalten.

Im folgenden Video wird gezeigt, wie Sie in der Apigee-Benutzeroberfläche einen freigegebenen Ablauf erstellen und debuggen.

Sie können mithilfe der FlowCallout-Richtlinie einen freigegebenen Ablauf aufrufen. Wenn Sie einen freigegebenen Ablauf an einen Ablauf-Hook anhängen, können Sie außerdem dafür sorgen, dass der freigegebene Ablauf vor einer Proxy- oder Zielanfrage oder nach einer Proxy- oder Zielantwort ausgeführt wird.

Informationen zur Richtlinie FlowCallout finden Sie unter FlowCallout-Richtlinie. Weitere Informationen zu Ablauf-Hooks finden Sie unter Freigegebenen Ablauf mithilfe eines Ablauf-Hooks anhängen.

Angenommen, Sie haben Bereiche, die entweder an mehreren Stellen verwendet werden oder die APIs in Ihrer Organisation standardisiert haben. Sie können für jede Kategorie einen gemeinsamen Ablauf haben, darunter:

  • Sicherheit mit Autorisierungscode über OAuth und die API-Schlüsselprüfung sowie Code zum Schutz vor Bedrohungen.
  • Logging zum Generieren von Standardfehlermeldungen.
  • Mediation, um zwischen XML- und JSON-Nachrichtenformaten zu transformieren.

In der folgenden Abbildung wird von zwei API-Proxys (mit einer FlowCallout-Richtlinie) ein freigegebener Ablauf aufgerufen, um eingehende Nutzeranfragen zu authentifizieren. AuthSharedFlow wurde der Organisation separat vor den Proxys bereitgestellt, damit es für Anfragen von den Proxys verfügbar ist. Ein gemeinsamer Ablauf kann von einem Team entwickelt und verwaltet werden, das für die breiten Unternehmensrichtlinien zuständig ist. Dieses wird dann von Proxys von Geschäftsteams genutzt, die spezialisierte Anwendungen entwickeln.

Ablaufdiagramm mit POST-/foodcarts-Richtlinie zur POST-/menus-Richtlinie zu AuthSharedFlow.
          Callout-Text:
          a) Mehrere API-Proxys nutzen freigegebenen Ablauf über FlowCallouts.
          b) FlowCallout-Richtlinien führen Aufrufe von API-Proxys zu einem gemeinsam genutzten Ablauf aus.
          c) Das freigegebene Ablauf-Bundle enthält wiederverwendbare Logik als Richtlinien und Ressourcen.

Freigegebenen Ablauf entwickeln

Wenn Sie einen freigegebenen Ablauf entwickeln, müssen Sie ihn immer mit Aufrufen testen, die an einen API-Proxy gesendet werden. Mit anderen Worten: Sie können Anfragen nicht direkt an einen freigegebenen Ablauf senden, wie Sie dies mit einem API-Proxy tun würden. Stattdessen senden Sie Anfragen an einen API-Proxy, der wiederum den freigegebenen Ablauf aufruft.

Allgemeine Schritte für die Entwicklung eines freigegebenen Ablaufs:

  1. Sehen Sie sich an, wie die freigegebenen genutzten Funktionen aussehen sollten.

    Sie können beispielsweise Features zur Trafficverwaltung kombinieren und Traffic-Spitzen unterdrücken. Auf diese Weise können Sie die Konfiguration außerhalb des Workflows verwalten, der eine Geschäftslogik implementiert.

  2. Entwickeln Sie einen gemeinsamen Ablauf, indem Sie Richtlinien und unterstützende Ressourcen genau wie bei der Entwicklung eines API-Proxys implementieren.

    Ein freigegebener Ablauf ist eine Abfolge bedingter Schritte. Die Entwicklung einer Anwendung ist also die Entwicklung eines API-Proxys. Sie können Richtlinien und Ressourcen einbinden, die Sie in einen Proxy aufnehmen können.

    Als Teil Ihrer Traffic-Verwaltung können Sie beispielsweise eine Spike Arrest-Richtlinie implementieren, um nur 30 Anfragen pro Sekunde zuzulassen, wie im folgenden Beispiel gezeigt:

    <SpikeArrest async="false" continueOnError="false" enabled="true" name="Spike-Arrest">
        <DisplayName>Spike Arrest</DisplayName>
        <Properties/>
        <Identifier ref="request.header.some-header-name"/>
        <MessageWeight ref="request.header.weight"/>
        <Rate>30ps</Rate>
    </SpikeArrest>
    

    Dann können Sie die Spike Arrest-Richtlinie als Schritt an einen freigegebenen Ablauf für die Trafficverwaltung anhängen. Die Richtlinie würde für jeden API-Proxy ausgeführt werden, der den freigegebenen Ablauf aufruft.

    <SharedFlow name="default">
        <Step>
            <Name>Spike-Arrest</Name>
        </Step>
    </SharedFlow>
    

    Informationen zum Starten eines freigegebenen Ablaufs in der Verwaltungskonsole finden Sie unter Gemeinsamen Ablauf in der Apigee-Benutzeroberfläche erstellen.

    Wie bei API-Proxys können Sie eine ZIP-Datei mit Ihren freigegebenen Ablaufquellartefakten mithilfe der API für freigegebenen Ablauf importieren. Im Folgenden wird gezeigt, wie Sie einen freigegebenen Ablauf mit der Apigee API importieren:

    curl "https://apigee.googleapis.com/v1/organizations/$ORG/sharedflows?action=import&sharedFlowID=mySharedFlow" \
      -X POST \
      -F "file=@sharedflow.zip" \
      -H "Authorization: Bearer $TOKEN"
    

    Dabei ist $TOKEN auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen finden Sie unter Umgebungsvariablen für Apigee API-Anfragen festlegen.

  3. Bereitstellen des freigegebenen Ablaufs in der Umgebung, bevor Sie Proxys oder freigegebene Abläufe bereitstellen, die ihn nutzen. Sie stellen einen freigegebenen Ablauf auf die gleiche Weise wie einen API-Proxy bereit. Weitere Informationen finden Sie in der Bereitstellungsübersicht.

    Ein freigegebener Ablauf muss sich in derselben Organisation befinden und in derselben Umgebung wie die API-Proxys und andere gemeinsam genutzte Abläufe bereitgestellt werden, die ihn verwenden. Wenn Sie den freigegebenen Ablauf vor den Proxys bereitstellen, ist es möglich, die Abhängigkeit des Proxys zum Zeitpunkt der Bereitstellung auf den freigegebenen Ablauf aufzulösen.

    Sie können einen freigegebenen Ablauf mit einem Apigee API-Aufruf bereitstellen, der in etwa so aussieht:

    curl https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/sharedflows/$SHAREDFLOW/revisions/$REV/deployments \
      -X POST \
      -H "Authorization: Bearer $TOKEN"

    Ähnlich wie API-Proxys sind alle erfolgreich freigegebenen Bereitstellungen zu Apigee Bereitstellungen ohne Ausfallzeiten.

  4. Entsprechenden API-Proxy entwickeln, damit er den freigegebenen Ablauf als Teil seines eigenen Ablaufs aufrufen kann.

    Von einem API-Proxy aus rufen Sie einen freigegebenen Ablauf mit einer FlowCallout-Richtlinie auf. Sie können den freigegebenen Ablauf auch mithilfe eines Ablauf-Hooks an den Proxy anhängen.

    Zur Nutzung eines freigegebenen Ablaufs fügen Sie dem Proxy oder freigegebenen Ablauf, der diesen verwendet, eine FlowCallout-Richtlinie hinzu. Wie bei einer Service-Callout-Richtlinie, bei der Sie einen anderen Dienst aufrufen, ruft ein FlowCallout die gemeinsam genutzten Abläufe ab. Der bereitgestellte API-Proxy muss nach dem freigegebenen Ablauf und in derselben Umgebung wie der freigegebene Ablauf bereitgestellt werden. Der freigegebene Ablauf muss vor Ort sein, wenn Sie einen Aufruf mithilfe der Richtlinie FlowCallout testen möchten.

    Im folgenden Code ruft eine FlowCallout-Richtlinie einen freigegebenen Ablauf namens traffic-management-shared auf.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Traffic-Management-Flow-Callout">
        <DisplayName>Traffic Management FlowCallout</DisplayName>
        <Properties/>
        <SharedFlowBundle>traffic-management-shared</SharedFlowBundle>
    </FlowCallout>
    

    Weitere Informationen finden Sie unter Freigegebenen Ablauf über einen API-Proxy oder einen freigegebenen Ablauf aufrufen.

  5. Stellen Sie den zustandsorientierten API-Proxy bereit, um den freigegebenen Ablauf zu verwenden. Weitere Informationen zur Bereitstellung im Allgemeinen finden Sie in der Bereitstellungsübersicht.
  6. Entwickeln Sie schrittweise durch Tracing, wie Sie dies mit einem API-Proxy tun würden.

    Wie bei einem API-Proxy entwickeln Sie einen freigegebenen Ablauf durch iteratives Aufrufen und Tracing, bis die Logik Ihren Wünschen entspricht. Da der freigegebene Ablauf nicht allein ausgeführt wird, rufen Sie einen Proxy-Endpunkt auf und debuggen Sie den Proxy.

    Gehen Sie so vor:

    1. Sorgen Sie dafür, dass sich der freigegebene Ablauf und der API-Proxy, der ihn mit einer FlowCallout-Richtlinie aufruft, in derselben Organisation befinden und in derselben Umgebung bereitgestellt werden.
    2. Auf dem Tab Trace des API-Proxys beginnen Sie mit der Verfolgung des API-Proxys.
    3. Anfrage an einen Proxyendpunkt im API-Proxy senden. Der Ablauf vom Endpunkt muss die Richtlinie FlowCallout enthalten, die den freigegebenen Ablauf aufruft.
    4. Prüfen Sie auf dem Tab Trace den Ablauf vom API-Proxy zum freigegebenen Ablauf.

      Beachten Sie, dass der gemeinsam genutzte Ablauf in Tracing als eine Reihe von Schritten oder Richtlinien dargestellt wird. Symbole für FlowCallout-Richtlinien vor freigegebenen Abläufen. Weitere Informationen zum Tracing finden Sie unter Debug-Tool.

      Transaktionszuordnung.  Callout-Text:
            a) FlowCallout-Richtlinie ruft den freigegebenen Ablauf auf.
            b) Der freigegebene Ablauf umfasst eine SpikeArrest-Richtlinie und eine FlowCallout-Richtlinie.
            Die FlowCallout-Richtlinie ruft einen anderen freigegebenen Ablauf mit einer VerifyAPIKey-Richtlinie auf.

Freigegebenen Ablauf in der Apigee-Benutzeroberfläche erstellen

Wenn Sie mit der Apigee API einen freigegebenen Ablauf erstellen, können Sie entweder einen komplett neuen erstellen oder vorhandene Ablaufquellen als Ablauf-Bundle-ZIP-Datei importieren.

Rufen Sie die Seite he Freigegebene Abläufe auf, wie unten beschrieben. Auf der Seite Freigegebene Abläufe können Sie eine Liste der freigegebenen Abläufe in der Organisation einsehen und Abläufe in der Liste bearbeiten oder löschen.

So erstellen Sie einen freigegebenen Ablauf in der Apigee-UI:

  1. Melden Sie sich bei der Apigee-UI an.
  2. Wählen Sie die Organisation aus, die den freigegebenen Ablauf enthält. Weitere Informationen finden Sie unter Zwischen Organisationen wechseln.

    Der freigegebene Ablauf ist für alle API-Proxys und freigegebene Abläufe verfügbar, die in einer Umgebung aus dieser Organisation bereitgestellt werden. Er ist von außerhalb dieser Organisation nicht verfügbar.

  3. Wählen Sie in der linken Navigationsleiste Entwickeln > Freigegebene Abläufe.
  4. Erstellen Sie einen freigegebenen Ablauf oder laden Sie einen hoch:
    • Klicken Sie auf Neu erstellen, um einen komplett neuen Ablauf zu erstellen. Sie können Richtlinien und Ressourcen als Schritte im Ablauf konfigurieren.

      Das Dialogfeld Freigegebenen Ablauf erstellen wird angezeigt.

      1. Geben Sie den Namen des freigegebenen Ablaufs ein.

        Dies ist der Name, mit dem API-Proxys und andere freigegebene Abläufe auf diesen freigegebenen Ablauf verweisen. Der Name sollte für Entwickler aussagekräftig sein, die den Ablauf verwenden.

      2. Geben Sie eine Beschreibung ein, um mehr über die Funktionsweise des Ablaufs zu erfahren.
      3. Klicken Sie auf Erstellen.

        Der freigegebene Ablauf wird erstellt.

      4. Als Nächstes können Sie die Funktionen des freigegebenen Ablaufs entwickeln und in der gewünschten Umgebung bereitstellen.
    • Klicken Sie auf Bundle hochladen, um einen freigegebenen Ablauf aus vorhandenen Quellen durch Hochladen eines Ablauf-Bundles zu erstellen.

      Ein freigegebenes Ablaufset enthält die Quellartefakte eines freigegebenen Ablaufs. Wenn Sie beispielsweise einen freigegebenen Ablauf aus der Apigee-Benutzeroberfläche herunterladen möchten, haben Sie eine ZIP-Datei mit dem Ablauf-Bundle.

      Das Dialogfeld Freigegebenen Ablauf erstellen wird angezeigt.

      1. Wählen Sie die ZIP-Datei mit den Artefakten aus, die Sie im neuen Ablauf verwenden möchten.
      2. Klicken Sie auf Öffnen.
      3. Geben Sie einen Namen für den importierten freigegebenen Ablauf ein.

        Dies ist der Name, mit dem API-Proxys und andere freigegebene Abläufe auf diesen freigegebenen Ablauf verweisen. Der Name sollte für Entwickler aussagekräftig sein, die den Ablauf verwenden.

      4. Klicken Sie auf Erstellen.

        Der freigegebene Ablauf wird aus dem Bundle erstellt.

      5. Als Nächstes können Sie die Funktionen des freigegebenen Ablaufs entwickeln und in der gewünschten Umgebung bereitstellen.

Freigegebenen Ablauf über einen API-Proxy oder freigegebenen Ablauf aufrufen

Sie können einen freigegebenen Ablauf von einem Proxy oder aus einem anderen freigegebenen Ablauf mithilfe der Ablauf-Callout-Richtlinie aufrufen.

  1. Öffnen Sie in der Apigee-Benutzeroberfläche den API-Proxy oder den freigegebenen Ablauf, aus dem Sie den freigegebenen Ablauf aufrufen möchten.
  2. Klicken Sie auf den Tab Entwickeln.
  3. Klicken Sie in derNavigation, nebenRichtlinien auf +.
  4. Klicken Sie in der Liste der Richtlinien unter Erweiterung auf FlowCallout.
  5. Geben Sie den Anzeigenamen und den Namen (eindeutige Kennzeichnung) ein und wählen Sie dann den freigegebenen Ablauf aus, der von dieser Richtlinie aufgerufen wird.
  6. Klicken Sie auf Add.
  7. Fügen Sie dem Proxy, in dem der Aufruf erfolgen soll, die neue FlowCallout-Richtlinie hinzu.

Weitere Informationen

API-Proxys verketten