Wiederverwendbare freigegebene Abläufe

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Sie können Richtlinien und Ressourcen in einem gemeinsam genutzten Ablauf kombinieren, den Sie von mehreren API-Proxys und sogar von anderen freigegebenen Abläufen aus 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 Edge-Benutzeroberfläche einen freigegebenen Fluss erstellen und verfolgen.

Im folgenden 5-minütigen Video wird gezeigt, wie Sie einen freigegebenen Datenfluss in der Classic Edge-Benutzeroberfläche (nur Edge für Private Cloud) erstellen und verfolgen.

Sie können einen freigegebenen Ablauf mithilfe der FlowCallout-Richtlinie 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.

Eine Referenz zur FlowCallout-Richtlinie 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:

  • Security 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 Ablauf-Callout-Richtlinie) ein freigegebener Ablauf aufgerufen, um eingehende Nutzeranfragen zu authentifizieren. AuthSharedFlow wurde der Organisation separat vor den Proxys bereitgestellt, damit sie 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.

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. Finden Sie heraus, wie der gemeinsam genutzte Satz von Features aussehen sollte.

    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 implementieren, so wie Sie dies bei der Entwicklung eines API-Proxys tun würden.

    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 Freigegebene Ablaufdaten in der Edge-Benutzeroberfläche erstellen.

    Wie bei API-Proxys können Sie eine ZIP-Datei mit Ihren freigegebenen Ablaufquellartefakten importieren. Weitere Informationen zum Importieren von Proxys finden Sie unter Neuen API-Proxy importieren. Im Folgenden wird gezeigt, wie Sie einen freigegebenen Ablauf mit der Management API importieren:

    curl -X POST -F "file=@/path/to/zip/file.zip" \ 'https://api.enterprise.apigee.com/v1/o/{org_name}/sharedflows?action=import&name=shared-flow-name' \
    -u email:password
    
  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 Verwaltungs-API-Aufruf wie dem folgenden bereitstellen:

    curl -X POST --header "Content-Type: application/octet-stream" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments \
    -u email:password
    

    Sie können auch einen aktuell bereitgestellten freigegebenen Ablauf ohne Ausfallzeit ersetzen. Dies entspricht API-Proxys. Weitere Informationen finden Sie unter API-Proxys mit der Verwaltungs-API bereitstellen. Hier ist das Anfrageformular für die Verwaltungs-API:

    curl -X POST --header "Content-Type:application/x-www-form-urlencoded" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments?"override=true" \
    -u email:password
    
  4. Entwickeln Sie den nutzenden API-Proxy, 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. Weitere Informationen dazu finden Sie unter Gemeinsamen Ablauf mit einem Ablauf-Hook anhängen.) Eine einführende Anleitung zum Erstellen eines API-Proxys finden Sie unter Ersten API-Proxy erstellen.

    Zum Verarbeiten eines freigegebenen Ablaufs fügen Sie dem Proxy oder freigegebenen Ablauf, der ihn nutzen wird, eine FlowCallout-Richtlinie hinzu. Wie bei einer Service-Callout-Richtlinie, mit der Sie einen anderen Dienst aufrufen, ruft ein FlowCallout den freigegebenen Ablauf auf. Der bereitgestellte API-Proxy muss nach dem freigegebenen Ablauf und in derselben Umgebung wie der freigegebene Ablauf bereitgestellt werden. Der freigegebene Ablauf muss vorhanden sein, wenn Sie einen Aufruf mit der FlowCallout-Richtlinie 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 unter Informationen zur Bereitstellung.)
  6. Gehen Sie bei der iterativen Entwicklung wie bei einem API-Proxy durch Tracing vor.

    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 verfolgen den Proxy.

    Und so gehts:

    1. Der freigegebene Ablauf und der API-Proxy, der ihn mit einer FlowCallout-Richtlinie aufruft, müssen sich 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 FlowCallout-Richtlinie enthalten, die den freigegebenen Ablauf aufruft.
    4. Untersuchen Sie auf dem Tab Trace den Fluss 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, die FlowCallout-Richtlinien darstellen, stehen vor freigegebenen Abläufen. Weitere Informationen zum Tracing finden Sie unter Trace-Tool verwenden.

Erstellen eines freigegebenen Ablaufs in der Edge-Benutzeroberfläche

Wenn Sie die Apigee Edge-Benutzeroberfläche zum Erstellen eines freigegebenen Ablaufs verwenden, können Sie diesen entweder von Grund auf neu erstellen oder vorhandene Ablaufquellen als ZIP-Datei für Ablauf-Bundles importieren.

  1. Rufen Sie die Seite "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.

    Edge

    So greifen Sie über die Edge-Benutzeroberfläche auf die Seite "Shared Flows" (Freigegebene Abläufe) zu:

    1. Melden Sie sich unter apigee.com/edge 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. Sie ist von außerhalb dieser Organisation nicht verfügbar.

    3. Wählen Sie in der linken Navigationsleiste Entwickeln > Freigegebene Abläufe.

    Classic Edge (Private Cloud)

    So greifen Sie über die Classic Edge-Benutzeroberfläche auf die Seite "Shared Flows" (Freigegebene Abläufe) zu:

    1. Melden Sie sich bei http://ms-ip:9000 an, wobei ms-ip die IP-Adresse oder der DNS-Name des Knotens des Verwaltungsservers ist.
    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. Sie ist von außerhalb dieser Organisation nicht verfügbar.

    3. Wählen Sie in der oberen Navigationsleiste APIs > Shared Flows aus.
  2. Klicken Sie auf die Schaltfläche + Gemeinsamer Ablauf, um mit dem Hinzufügen eines neuen freigegebenen Ablaufs zu beginnen.
  3. Wählen Sie auf der Seite Create a Shared Flow (Freigegebenen Ablauf erstellen) aus, wie Sie den neuen Ablauf erstellen möchten:
    • Neuen Ablauf erstellen Sie können Richtlinien und Ressourcen als Schritte im Ablauf konfigurieren.
      1. Wählen Sie Empty Shared Flow (Leerer freigegebener Ablauf) aus.
      2. Geben Sie einen Namen ein. Dies ist der Name, den 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.
      3. Geben Sie eine Beschreibung ein, um mehr über die Funktionsweise des Ablaufs zu erfahren.
      4. Klicken Sie auf Weiter.
      5. Wählen Sie optional die Umgebungen aus, in denen der neue Ablauf bereitgestellt werden soll.

        Wenn Sie beispielsweise den freigegebenen Ablauf von API-Proxys testen möchten, die in der Testumgebung bereitgestellt werden, stellen Sie den freigegebenen Ablauf für Test bereit.

      6. Klicken Sie auf Erstellen und bereitstellen, um den neuen freigegebenen Ablauf in den ausgewählten Umgebungen zu erstellen und bereitzustellen. Wenn Sie keine Umgebung ausgewählt haben, wird der freigegebene Ablauf erstellt, aber nicht bereitgestellt.

    • Erstellen Sie einen freigegebenen Ablauf aus vorhandenen Quellen, indem Sie ein Ablauf-Bundle hochladen.
      1. Wählen Sie Shared Flow Bundle aus, um eine ZIP-Datei mit den Artefakten anzugeben, die Sie im neuen Ablauf verwenden möchten.

        Ein freigegebenes Ablaufset enthält die Quellartefakte eines freigegebenen Ablaufs. Wenn Sie beispielsweise einen freigegebenen Ablauf von der Edge-Benutzeroberfläche herunterladen, erhalten Sie eine ZIP-Datei mit dem Ablauf-Bundle.

      2. Klicken Sie auf Weiter.
      3. Klicken Sie auf Datei auswählen, um nach der ZIP-Datei mit den freigegebenen Ablaufquellen zu suchen, die Sie importieren möchten.
      4. Geben Sie im Feld Name des freigegebenen Ablaufs einen Namen für den importierten Ablauf ein. Dies ist der Name, den 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.
      5. Klicken Sie auf Weiter.
      6. Klicken Sie auf Erstellen, um den neuen Ablauf aus den zu importierenden Quellen zu erstellen.

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. Suchen Sie in der Edge-Benutzeroberfläche den Proxy oder den freigegebenen Ablauf, von dem Sie einen anderen freigegebenen Ablauf aufrufen möchten.
  2. Klicken Sie im Navigator neben Richtlinien auf die +-Schaltfläche.
  3. Klicken Sie in der Liste der Richtlinien unter Erweiterung auf FlowCallout.
  4. 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.
  5. Klicken Sie auf Hinzufügen.
  6. Fügen Sie dem Proxy, an dem der Aufruf ausgeführt werden soll, die neue FlowCallout-Richtlinie hinzu.

Weitere Informationen

API-Proxys verketten