16.08.17 – Versionshinweise zu Apigee Edge for Public Cloud

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“

Beim Festlegen einer JSON-Nutzlast mithilfe der Richtlinie „Nachricht zuweisen“ oder „Fehler ausgeben“ mussten Nutzer manchmal Problemumgehungen verwenden, um sicherzustellen, dass eine JSON-Nachricht zur Laufzeit ordnungsgemäß formatiert wurde, z. B. die Nutzlast mit einem umgekehrten Schrägstrich („\“) beginnen oder für das Nutzlastelement ein Variablenpräfix und „variableSuffix“ angeben, auch wenn in der Nachricht keine Variablen verwendet wurden.

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:

  1. Konfigurieren Sie zuerst den Load-Balancer, den Router und den Message Processor für eine Zeitüberschreitung nach 3 Minuten.
  2. 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>
        ...
    
  3. 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)