Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation weitere Informationen
Am Dienstag, dem 30. August 2016, wurde eine neue Version von Apigee Edge für die öffentliche Cloud veröffentlicht.
Neue Features und Updates
Im Folgenden sind die neuen Features und Aktualisierungen in diesem Release aufgeführt:
JSON-Nutzlasten in „Nachricht zuweisen“ und „Fehler auslösen“
Bei dieser Verbesserung sind keine Problemumgehungen erforderlich, um eine korrekte JSON-Nachrichtenformatierung sicherzustellen. Außerdem können Variablen mit geschweiften Klammern angegeben werden, ohne ungültige JSON-Dateien zu erstellen. Im folgenden Beispiel wird der Wert von message.content in die JSON-Nachricht eingefügt:
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
Wenn Sie eine Problemumgehung verwendet haben, funktioniert Ihr Code weiterhin wie gewohnt. Sie können Variablen auch mit „variablePräfix“ und „variableSuffix“ anstelle von geschweiften Klammern angeben.
Weitere Informationen finden Sie in der Referenzdokumentation zum Zuweisen von Nachrichtenrichtlinien und zur Fehlerrichtlinie anheben im Abschnitt zum Element <Set><Payload>. (APIRT-1160)
Verbesserungen der XML-zu-JSON-Richtlinien
Die Richtlinie „XML to JSON“ wurde um die folgenden Funktionen erweitert. Sie können die Richtlinie so konfigurieren:
- Behandeln Sie einige XML-Elemente während der Konvertierung als Arrays. Dadurch werden die Werte im JSON-Dokument in eckige Klammern „[ ]“ gesetzt.
- Entfernen oder entfernen Sie Ebenen der XML-Dokumenthierarchie im endgültigen JSON-Dokument.
Weitere Informationen findest du unter Richtlinie für XML in JSON. (APIRT-1144)
Mehrere Platzhalter in API-Produktressourcenpfaden
Wenn Sie Ressourcenpfade im API-Produkt definieren, können Sie an mehreren Stellen in einem Ressourcenpfad Platzhalter einfügen. Beispielsweise erlaubt /team/*/invoices/**
API-Aufrufe mit einem beliebigen Wert nach /team
und einem beliebigen Ressourcenpfad nach invoices/
. Ein zulässiger URI für einen API-Aufruf wäre proxyBasePath/team/finance/invoices/company/a
.
Wenn die vorhandenen API-Produktressourcenpfade nach diesem Release nicht mehr wie erwartet funktionieren, legen Sie das folgende Attribut für Ihre Organisation fest, um das vorherige Verhalten wiederherzustellen: features.enableStandardWildCardMatchForAPIProductResources = true
(MGMT-3273)
Kryptografische Funktionen in JavaScript
Es gibt eine Reihe neuer leistungsstarker JavaScript-crypto
-Funktionen zum Erstellen, Abrufen und Aktualisieren der folgenden mit Objekten: MD5, SHA-1, SHA256 und SHA512.
Mit dem Objekt crypto können Sie das Datum auch in verschiedenen Formaten abrufen. Weitere Informationen finden Sie unter JavaScript-Objektmodell.
(APIRT-2886)
Prüfung der Java-Callout-JAR-Version
Beim Hochladen einer Java-JAR-Ressource in einen API-Proxy wird ein HTTP 400-Statuscode (anstelle eines 500-Statuscodes) zurückgegeben, wenn die Version der Java-Ressource mit der von Edge unterstützten Java-Version nicht kompatibel ist (siehe Unterstützte Software und unterstützte Versionen). (MGMT-3420)
Validierung der API-Proxy-Ressourcen
Wenn Sie API-Proxy-Ressourcendateien (z. B. JavaScript- oder Java-JARs) im Umgebungs- oder Organisationsbereich gespeichert haben, erfordert das Validierungs-Framework nicht mehr, dass Sie diese Ressourcen auf API-Proxy-Ebene in ein Proxy-Bundle aufnehmen, damit der Import zum Bestehen der Validierung erfolgt. Die Ressourcenvalidierung erfolgt jetzt zum Zeitpunkt der Bereitstellung, nicht zum Zeitpunkt des Imports. (MGMT-1430)
Zeitlimit für einzelne API-Proxys konfigurieren
Sie können API-Proxys so konfigurieren, dass nach einer bestimmten Zeit (mit einem 504-Gateway-Zeitlimitstatus) eine Zeitüberschreitung auftritt. Der primäre Anwendungsfall ist für Private Cloud-Kunden mit API-Proxys, deren Ausführung länger dauert. Angenommen, Sie benötigen bestimmte Proxys, um nach 3 Minuten eine Zeitüberschreitung zu verursachen. Sie können in der Konfiguration für einen API-Proxy das neue Attribut api.timeout
verwenden. Im 3-Minuten-Beispiel würden Sie dazu Folgendes tun:
- Konfigurieren Sie zuerst den Load-Balancer, den Router und den Message Processor für eine Zeitüberschreitung nach 3 Minuten.
- Konfigurieren Sie anschließend die relevanten Proxy-Zeitüberschreitungen nach 3 Minuten. Geben Sie den Wert in Millisekunden an. Beispiel:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ...
- Beachten Sie jedoch, dass ein höheres Systemzeitlimit zu Leistungsproblemen führen kann, da alle Proxys ohne api.timeout-Einstellung die neuen Zeitüberschreitungen für Load-Balancer, Router und Message Processor verwenden. Konfigurieren Sie daher andere API-Proxys, die keine längeren Zeitüberschreitungen erfordern, um niedrigere Zeitüberschreitungen zu verwenden. Im folgenden Beispiel wird für einen API-Proxy eine Zeitüberschreitung nach 1 Minute festgelegt:
<Property name="api.timeout">60000</Property>
Cloud-Kunden, die die Edge-Zeitüberschreitungen nicht ändern können, können auch ein API-Proxy-Zeitlimit konfigurieren, solange das Zeitlimit kürzer als das Standardzeitlimit des Edge-Nachrichtenprozessors von 57 Sekunden ist.
Der Wert kann nicht mit einer Variablen ausgefüllt werden. Dieses Attribut wird in der Referenz zu Endpunktattributen behandelt. (APIRT-1778)
TLS/SSL für Nachrichten-Logging-Richtlinie
<KeyStore>
und <TrustStore>
können in der Konfiguration SSLInfo
der Nachrichten-Logging-Richtlinie festgelegt werden, sodass Ein- und Zweiweg-TLS/SSL mit einem Logging-Dienst zugelassen wird. Sie konfigurieren SSLInfo für die Nachrichtenprotokollierungsrichtlinie auf dieselbe Weise wie für einen Proxy-
TargetEndpoint. TLS/SSL unterstützt jedoch nur das TCP-Protokoll.
(APIRT-1858)
Fehlerkorrekturen
Folgende Fehler wurden in diesem Release behoben. Diese Liste ist hauptsächlich für Nutzer gedacht, die prüfen möchten, ob ihre Support-Tickets erfolgreich bearbeitet wurden. Sie enthält keine detaillierten Informationen für allgemeine Nutzer.
Fehler-ID | Beschreibung |
---|---|
SECENG-609 | Laufzeitaufrufe, die nicht fehlschlagen, während der zugehörige Truststore gelöscht wird oder das gültige Zertifikat im Truststore gelöscht wird |
MGMT-3404 | Das Anzeigen/Abrufen von Node.js-Logs und Bereitstellen von Proxys ist sehr langsam. |
MGMT-3400 | Der Aufruf der /userroles Management API schlägt fehl, wenn der Name des Nutzers, der den Aufruf durchführt, ein Pluszeichen (+) enthält. |
MGMT-3368 | java.lang.ArrayIndexOutOfBoundsException: 1, wenn ein API-Proxy-Bundle importiert wird, das das Verzeichnis „resources/node/resources“ enthält |
MGMT-3364 | OAuthV2: redirect_uri check |
MGMT-3319 | Einträge in einem Tresor auflisten, der in einem der Einträge einen Nullwert hat, funktioniert nicht für Organisationen (CPS und Nicht-CPS) |
MGMT-3226 | Durch Abfragen auf Organisations-/Umgebungsebene sollten nicht alle Daten abgerufen werden, die zum Fehlschlagen der API führen In Release_160302 trat ein Fehler auf, bei dem die Auflistung von Ressourcen auf Organisationsebene/Umgebungsebene fehlgeschlagen ist, wenn die kumulative Größe der Ressourcen über 16 MB liegt. Mit dieser Fehlerbehebung wird das Problem behoben. |
AXAPP-2429 | Die Analytics API, die „response_status_code“ verwendet, gibt einen Fehler beim Datenzugriff zurück |
AXAPP-2386 | Probleme mit leeren Berichten in täglichen Analytics-E-Mail-Berichten beheben |
AXAPP-2347 | Ich erhalte keine täglichen Analyse-E-Mails mit Zusammenfassung |
APIRT-3141 | Java-Callouts schlagen beim Aufrufen von neuer ExecutionResult() fehl, da der Konstruktor als privat gekennzeichnet wurde. |
APIRT-3140 | ServiceCallout-Richtlinie funktioniert in HEAD-API-Aufrufen nicht |
APIRT-3131 | Falscher „createBy“ wird für einen API-Proxy angezeigt, wenn die Monetarisierung mit einem externen Authentifizierungsanbieter verwendet wird |
APIRT-3121 | Die Änderung der Ressourcendatei der Organisation ist nicht zu 100% wirksam. |
APIRT-3117 | Der MP hat eine CPU-Auslastung von 100% erreicht und stellt keinen Traffic mehr bereit. |
APIRT-3016 | Fehler „Zeitüberschreitung beim Aufrufen des Routers“ bei Bereitstellungen |
APIRT-2975 | Fehler beim Hochladen des Zertifikat-Bundles |
APIRT-2955 | Bestimmte Attribute von JSON-Antwortdaten können für FHIR-Beschwerde im Content-Type-Header „application/json+fhir“ nicht maskiert werden |
APIRT-2946 | Die Richtlinie „OAuthV2-RefreshToken“ blendet Attribute nicht aus, obwohl die Anzeige auf „false“ gesetzt ist |
APIRT-2908 | Das Erzwingen von TLS1.2 für interne API-Aufrufe ist nach dem TLS1.2-Update auf virtualhost erforderlich |
APIRT-2901 | Vom Cache zurückgegebene Gzip-Antworten sind doppelt komprimiert |
APIRT-2873 | MPs lösen nach dem Löschen von Produkten/Entwicklern/Proxys eine NullPointerException im Zusammenhang mit „VerifyAPIKey“ aus |
APIRT-2871 | IOIntensive-Richtlinien erscheinen zweimal in Trace |
APIRT-2825 | Grammatikfehler in der Fehlerantwort für das Zugriffstoken |
APIRT-2750 | Viele Traffic-Fehler in einer bestimmten Organisation |
APIRT-2685 | Kein Traffic, es wird ein unbekannter Fehler ausgegeben |
APIRT-2647 | Fehler „Zugrunde liegender Eingabestream hat null Byte zurückgegeben“ mit Nicht-Produktion/Entwicklung |
APIRT-2630 | Zeitweilige Probleme beim Lesen eines Werts aus dem Cache |
APIRT-2620 | Separater Thread-Pool für einige blockierende Schritte |
APIRT-2610 | java.lang.ClassCastException mit Antwort-Cache-Richtlinie |
APIRT-2608 | Fehler beim Parsen von „Last-Modified“-Headern in Antwort-Cache-Richtlinien |
APIRT-2605 | Das Überschreiben von Variablen vom Typ „Organisation“ und „Umgebungsvariablen“ durch Richtlinien ist nicht zulässig |
APIRT-2566 | Die OAuthV2-Richtlinie gibt einen fehlerhaften WWW-Authentifizier-Header zurück. |
APIRT-2491 | Update des Zielservers aufgrund eines RPC-Zeitlimits zwischen Verwaltung und MPS fehlgeschlagen |
APIRT-2386 | In einem API-Produkt wird ein leerer Stringbereich mit einem leeren zulässigen OAuth-Bereich erstellt. |
APIRT-2383 | XSL-Transformationsrichtlinien scheinen bei einem Fehler keine Daten zu protokollieren. |
APIRT-2364 | OAuth-Fehlerflussvariablen werden bei einem Fehler nicht aktualisiert |
APIRT-2216 | Vom Server gesendete Ereignisse – Ereignisstream hat Probleme in der Produktion |
APIRT-2079 | DEBUG-CURL-Aufruf wird nach Ablauf des Zeitlimits für die erstellte Sitzung nicht beendet |
APIRT-1495 | XML-Bedrohungsschutz erkennt Fhir Content-Type nicht |
APIRT-347 | Die XSL-Richtlinie wird beim Import nicht ordnungsgemäß validiert (d. h. den Ausgabevariablen werden keine Ergebnisse wie dokumentiert zugewiesen) |