Wiederverwendbare freigegebene Abläufe

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie 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.

Das folgende Video zeigt, wie Sie einen freigegebenen Ablauf in der Edge-Benutzeroberfläche erstellen und verfolgen.

Im folgenden 5-minütigen Video wird gezeigt, wie Sie in der klassischen Version Edge-Benutzeroberfläche (Edge nur für Private Cloud)

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.

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. 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 Erstellen eines freigegebenen Ablaufs in der Edge-Benutzeroberfläche.

    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 eine mit der Verwaltungs-API teilen:

    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. Siehe API-Proxys mit der Verwaltungs-API. So sieht das Anfrageformular für die Verwaltungs-API aus:

    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. 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. 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 eine FlowCallout-Richtlinie hinzu, die es verbraucht. Wie bei einer Richtlinie für Zusatzinformationen, mit der Sie auf einen anderen Dienst verweisen, FlowCallout verweist auf den freigegebenen Ablauf. Der bereitgestellte API-Proxy muss nach dem freigegebenen Ablauf und in derselben Umgebung wie der freigegebene Ablauf bereitgestellt werden. Die freigegebener Ablauf muss vorhanden sein, wenn Sie einen Aufruf an ihn mithilfe der FlowCallout-Richtlinie testen möchten.

    Im folgenden Code ruft eine FlowCallout-Richtlinie einen freigegebenen Ablauf mit dem Namen traffic-management-shared

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

    Und so gehts:

    1. Achten Sie darauf, dass sowohl der freigegebene Ablauf als auch der API-Proxy, der ihn mit einem FlowCallout aufruft, 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 Datenfluss vom Endpunkt muss FlowCallout-Richtlinie einschließen, 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, 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 aus oder vorhandene Flussquellen als ZIP-Datei für das Flow-Bundle 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 mit freigegebenen Abläufen zu:

    1. Melden Sie sich bei 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 mit freigegebenen Abläufen zu:

    1. Melden Sie sich in http://ms-ip:9000 an. ms-ip ist hierbei IP-Adresse oder DNS-Name des Verwaltungsserverknotens.
    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 APIs > Shared Flows.
  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 Shared Flow erstellen aus, wie Sie den neuen Ablauf erstellen möchten: <ph type="x-smartling-placeholder">
      </ph>
    • Neuen Ablauf erstellen Sie können Richtlinien und Ressourcen als Schritte im Ablauf konfigurieren.
      1. Wählen Sie Empty Shared Flow 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 Sie den neuen Ablauf bereitstellen möchten.

        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.

    • Sie können einen freigegebenen Ablauf aus vorhandenen Quellen erstellen, indem Sie ein Ablaufset hochladen.
      1. Wählen Sie Gemeinsames Ablauf-Bundle aus, um eine ZIP-Datei mit den Artefakten zu definieren, die im neuen Ablauf enthalten sein sollen.

        Ein freigegebenes Ablaufset enthält die Quellartefakte eines freigegebenen Ablaufs. Beispiel: Wenn Sie einen freigegebenen Ablauf über die Edge-Benutzeroberfläche herunterladen, benötigen Sie eine ZIP-Datei. mit dem Flow-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.

<ph type="x-smartling-placeholder">
  1. Suchen Sie in der Edge-Benutzeroberfläche den Proxy oder den freigegebenen Ablauf, von dem aus Sie einen anderen freigegebenen Ablauf aufzurufen.
  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 erfolgen soll, die neue FlowCallout-Richtlinie hinzu.

Weitere Informationen

<ph type="x-smartling-placeholder"></ph> API-Proxys verketten