Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu
Apigee X. info
Die Apigee Edge API-Beispiele enthalten die API-Proxy-Beispiele, Richtlinien, Code und Tools, die die unten beschriebenen Funktionen der Apigee Edge API-Dienste veranschaulichen.
Eine Anleitung zur Verwendung der Beispiele finden Sie unter Beispiel-API-Proxys verwenden.
Praxisnahes Lernerlebnis
Möchten Sie schnell loslegen und sich eine solide Wissensbasis zu Apigee Edge aufbauen? Wir haben eine Bibliothek mit „learn-edge“-Beispielen auf GitHub, mit denen Sie schnell einige Beispiel-Proxys bereitstellen, aufrufen, und verfolgen können. Wir beginnen mit dem einfachsten Proxy und gehen dann zu Proxys über, die die API-Schlüsselvalidierung, Kontingente, das Antwort-Caching, die Fehlerbehandlung und mehr veranschaulichen.
Nachdem Sie das Repository geklont und Ihre Umgebung eingerichtet haben (dauert nur wenige Minuten), können Sie jedes Beispiel in weniger als einer Minute ausprobieren. Da für jedes Beispiel eine neue Überarbeitung desselben Proxys erstellt wird, wird Ihre Umgebung nicht mit vielen Beispielen überladen. Sie können jederzeit zwischen Überarbeitungen wechseln, eine andere Überarbeitung in der Management-UI neu bereitstellen und den Proxy-Code ansehen. In der Readme-Datei für jedes Beispiel finden Sie außerdem eine kurze Zusammenfassung der Funktionsweise des Beispiels und der Einrichtung.
Probieren Sie es aus: https://github.com/apigee/api-platform-samples/tree/master/learn-edge
Cookbook-Beispiele für die Dokumentation
Für die Themen im API-Proxy-Cookbook wird eine Reihe von Beispielen bereitgestellt.
| Name | Beschreibung | Richtlinientypen | Ressourcen |
|---|---|---|---|
| javascript-cookbook | Veranschaulicht ein einfaches JavaScript-Snippet, das HTTP-Header aus Variablen hinzufügt, einen XML-formatierten Wetterbericht von JSON in XML umwandelt und Inhalte für mobile Clients kürzt. | minimize.js setHeaders.js |
|
| javascript-mashup-cookbook | Eine vollständige JavaScript-Anwendung, die öffentliche APIs aufruft, Ergebnisse kombiniert und eine angereicherte Antwort für die Clientanwendung generiert. Hinweis: Dieser API-Proxy implementiert die gleiche Funktionalität wie der Policy-Mashup. Dies zeigt, dass dasselbe Problem mit verschiedenen Techniken angegangen werden kann. | JavaScript | MashItUp.js |
| java-hello | Einfaches Java-Callout „Hello World“. | JavaCallout | JavaHello.java |
| java-cookbook | Wandelt Antwortinhalte und -header in Großbuchstaben um. | JavaCallout |
ResponseUppercase.java |
| java-properties | Veranschaulicht, wie Attribute in einem Java-Callout verwendet werden. | JavaCallout | JavaProperties.java |
| java-error | Veranschaulicht Muster für die Fehlerbehandlung, die Sie im Java-Callout-Code verwenden können. | JavaCallout | JavaError.java |
| policy-mashup-cookbook | Eine vollständige Anwendung, die zwei Richtlinien miteinander über den Aufruf von zwei öffentlichen APIs aufruft, die Ergebnisse kombiniert und eine angereicherte Antwort für die Clientanwendung generiert. Hinweis: Dieser API-Proxy implementiert dieselbe Funktionalität wie der JavaScript-Mashup. Dies zeigt, dass dasselbe Problem mit verschiedenen Techniken angegangen werden kann. | AssignMessage ServiceCallout ExtractVariables JavaScript XMLToJSON |
GenerateResponse.js |
API-Proxy-Beispiele
Die folgenden API-Proxys befinden sich auf GitHub. Auf den Readme-Seiten finden Sie detaillierte Beschreibungen der Beispiele. Wenn Sie wissen möchten, wie eine bestimmte Richtlinie in einem Beispiel funktioniert, suchen Sie in der Spalte „Richtlinientypen“ unten nach der gewünschten Richtlinie und klicken Sie dann in der Spalte „Name“ auf den Namen des Beispiels. Die Richtlinien sind mit den entsprechenden Referenzseiten in der Dokumentation verknüpft.
Referenz und Tools
Zusätzlich zu den Cookbook-Beispielen für die Dokumentation und den Beispiel-Proxys in den obigen Tabellen enthalten die Edge-GitHub-Beispiele auch die folgenden Ressourcen:
| Name | Beschreibung | Richtlinientypen | Ressourcen |
|---|---|---|---|
| regex-protection | Die Richtlinie zum Schutz vor Bedrohungen durch reguläre Ausdrücke kann Ihre Back-End-APIs und Microservices vor Angriffen mit SQL-Einschleusung schützen. | – | |
| oauth-validate-key-secret | Sie implementieren den Ablauf des OAuth-Grant-Typs „Passwort“. Sie müssen sowohl den Anwendungsschlüssel als auch das Anwendungspasswort auf Edge validieren, bevor Sie einen externen Identitätsanbieter aufrufen, um die Anmeldedaten des Nutzers zu validieren. | OAuthV2, andere | – |
| condition-pattern-matching | Mit diesem Proxy können Sie bedingte Anweisungen in einem API-Proxy Ablauf einfach ausprobieren und testen. | AssignMessage | – |
| access-entity | Zeigt, wie Profile für Entitäten aus dem Apigee Edge-Datenspeicher abgerufen werden. | AssignMessage AccessEntity ExtractVariables |
Keine |
| apikey | Implementiert eine einfache API-Schlüsselvalidierung. | VerifyAPIKey AssignMessage Quota |
Keine |
| async-callout | Veranschaulicht ein einfaches asynchrones Callout mit dem JavaScript-httpClient. | JavaScript | assemble_response.js callout.js |
| base64encoder | Veranschaulicht, wie JavaScript-Includes aus JavaScript-Ressourcen in API Proxys aufgerufen werden. | AssignMessage JavaScript |
core-min.js enc-utf16-min.js enc-base64-min.js encodeAuthHeader.js |
| conditional-policy | Implementiert eine einfache bedingte Richtlinienerzwingung. Wenn eine Anfrage einen HTTP Header responsetime:true enthält, führt eine Richtlinie ein Python-Skript aus, das der Antwortnachricht eine Reihe von Leistung messwerten als HTTP-Header hinzufügt. | Skript (Python) | timer.py |
| dynamic-endpoint | Implementiert ein einfaches bedingtes Routing in einem etwas komplexeren Szenario, das zwei URLs und eine Standardroute definiert. | Keine | Keine |
| jira-release-notes | Dies ist der API-Proxy, der vom Apigee-Dokumentationsteam verwendet wird, um Release-Hinweise aus Jira zu generieren. | JSONToXML XSL |
releasenotes_api.xsl |
| kerberos-credential-mediation | In diesem Beispiel wird gezeigt, wie die Kerberos-Anmeldedatenvermittlung in Apigee Edge durchgeführt wird. | JavaCallout | Java-JAR-Datei |
| oauth-advanced | Ein vollständiges, funktionierendes Beispiel für den Ablauf des Grant-Typs „Autorisierungscode“ mit Apigee Edge als Autorisierungsserver. |
GenerateAccessToken Viele andere... |
Beispielcode ansehen |
| oauth-client-credentials | Veranschaulicht einen voll funktionsfähigen OAuth 2.0-Tokenendpunkt, der für den Grant-Typ „Client Anmeldedaten“ konfiguriert ist. | GenerateAccessToken | Keine |
| oauth-login-app | Verworfen. Wir empfehlen, sich stattdindestatt das Beispiel oauth-advanced anzusehen. | ||
| oauth-validate-key-secret | Veranschaulicht eine Technik zum Validieren des Schlüssels und des Passworts des Clients, bevor ein Identitätsanbieter aufgerufen wird, um die Anmeldedaten des Nutzers im Ablauf des Grant-Typs „Passwort“ zu validieren. | OAuthV2 AssignMessage ExtractVariables ServiceCallout RaiseFault |
Keine |
| oauth-verify-accesstoken | Veranschaulicht einen API-Proxy, der so konfiguriert ist, dass er OAuth 2.0-Zugriffstokens validiert und Kontingente überprüft. | VerifyAccessToken Quota |
Keine |
| oauth10a-3legged | Veranschaulicht eine dreibeinige OAuth-Konfiguration. | GenerateAceessToken GenerateRequestToken ServiceCallout VerifyAccessToken |
Keine |
| outbound-oauth | Verwendet die Microsoft Azure Übersetzer API für die Übersetzung von Tweets. Dazu wird ein ausgehender Aufruf getätigt, um ein OAuth-Zugriffstoken zu erhalten. Das Token wird anschließend mithilfe der Caching-Richtlinien der API Dienste gespeichert. Dabei wird das im Cache gespeicherte Token bei jedem ausgehenden Aufruf noch einmal verwendet. Enthält auch eine Demoanwendung, die zum Aufrufen des API-Proxys verwendet wird. | AssignMessage LookupCache PopulateCache JavaScript |
api-config.js api-token-get.js translate-query.js translate-results.js |
| Seitenumbruch | Paginierung einer XML-Antwortnachricht basierend auf den vom Client bereitgestellten Parametern für Limit und Offset Client | AssignMessage ExtractVariables ResponseCache VerifyApiKey XSL |
paginate.xslt |
| response-cache | Veranschaulicht, wie Wettervorhersagen in Edge für 10 Minuten im Cache gespeichert werden. | ResponseCache AssignMessage |
Keine |
| simple-python | Veranschaulicht ein einfaches Szenario, in dem ein Python-Skript an die Antwort angehängt wird, das einen Headerwert hinzufügt. |
Skript (Python) | setHeader.py |
| soap | Veranschaulicht eine XSL-Transformation, die eine WSDL-Datei als Antwort auf eine Anfrage mit dem Abfrageparameter ?wsdl neu schreibt. | AssignMessage ExtractVariables Skript (Python) XSL |
calculateaddress.py fixwsdl.xsl |
| Streaming | Veranschaulicht eine HTTP-Streamingkonfiguration. | Keine | Keine |
| target-reroute | Veranschaulicht, wie mit JavaScript dynamisch eine Ziel-URL basierend auf dem Inhalt einer Anfragenachricht ausgewählt wird. | ExtractVariables JavaScript |
rewriteTargetUrl.js |
| twitter-mobile-timeline | Veranschaulicht, wie mit JavaScript unnötige Parameter aus Tweets entfernt werden, um eine optimierte Twitter-Timeline zu erstellen, die für mobile Geräte mit begrenzten Ressourcen geeignet ist. | AssignMessage JavaScript |
MobileTimeline.js |
| twitter-oembed | Wandelt Timeline-Antworten (z.B. aus statuses/user_timeline.json) in eine oEmbed Antwort um, die die Timeline-Daten als Rich-HTML-Inhalt enthält. | AssignMessage JavaScript |
search-oembed.js |
| Variablen | Veranschaulicht, wie Variablen basierend auf Transport-, JSON- und XML Nachrichteninhalten extrahiert und festgelegt werden. | AssignMessage ExtractVariables XMLToJSON |
minimize.js |
| xmltojson | Wandelt Antwortdaten von XML in JSON um. | XMLToJSON JSONToXML |
Keine |
|
|
XML-Schemadateien, die Sie als Referenz verwenden können, wenn Sie API-Proxys, Richtlinien, API-Produkte sowie Entwickler- und App-Profile konfigurieren. |
||
|
|
Enthält ein Bereitstellungstool, deploy.py, das einen API-Proxy in eine Organisation in Apigee Edge importiert und ihn dann in der angegebenen Umgebung bereitstellt. |
||
|
|
Mit dem Tool für Organisation-Snapshots werden Organisationseinstellungen abgerufen, einschließlich Entwickler, API-Produkte, virtuelle Hosts, Schlüssel/Wert-Zuordnungen usw. Es kann verwendet werden, um die Details einer Organisation zu sichern oder die Einstellungen in einer Organisation zu ermitteln. |
Apigee-127
Wenn Sie Programmierer sind, können Sie mit Apigee-127 API-Proxys mit Node.js und Swagger programmieren. Sie finden auch a127-Beispiele auf GitHub: https://github.com/apigee-127/a127-samples.
Erlebnisse mit anderen teilen
Teilen Sie Ihre Erfahrungen im Apigee-Entwickler-Forum.