16.08.17 – informacje o wersji Apigee Edge dla Public Cloud

Wyświetlasz dokumentację Apigee Edge.
Zapoznaj się z dokumentacją Apigee X. info

We wtorek 30 sierpnia 2016 r. udostępniliśmy nową wersję Apigee Edge na chmurę publiczną.

Nowe funkcje i aktualizacje

Oto nowe funkcje i aktualizacje wprowadzone w tej wersji.

Ładunki JSON w komunikatach przypisywania i zgłaszania błędu

Podczas ustawiania ładunku JSON za pomocą zasad Przypisz wiadomość lub Zgłoś błąd użytkownicy musieli czasami stosować obejścia, aby zapewnić prawidłowe formatowanie wiadomości JSON w czasie działania, np. rozpoczynać ładunek od ukośnika wstecznego „\” lub określać elementy variablePrefix i variableSuffix w elemencie Payload, nawet jeśli w wiadomości nie były używane żadne zmienne.

Dzięki temu ulepszeniu nie są potrzebne żadne obejścia, aby zapewnić prawidłowe formatowanie wiadomości JSON, a zmienne można określać za pomocą nawiasów klamrowych bez tworzenia nieprawidłowego kodu JSON. Na przykład poniższy kod wstawia wartość message.content do wiadomości JSON:

<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>

Jeśli używasz obejścia, Twój kod będzie nadal działać bez zmian. Zamiast nawiasów klamrowych możesz też używać zmiennych variablePrefix i variableSuffix, aby wskazywać zmienne.

Zobacz element <Set><Payload> w dokumentacji referencyjnej zasad przypisywania wiadomości i zasad zgłaszania błędu. (APIRT-1160)

Ulepszenia zasad XML do JSON

Zasady XML do JSON zostały rozszerzone o te funkcje: Możesz skonfigurować zasady w ten sposób:

  • Traktuj niektóre elementy XML jako tablice podczas konwersji, co powoduje umieszczenie wartości w nawiasach kwadratowych „[ ]” w dokumencie JSON.
  • Usuń lub wyeliminuj poziomy hierarchii dokumentu XML w końcowym dokumencie JSON.

Więcej informacji znajdziesz w artykule Zasady dotyczące konwersji XML na JSON. (APIRT-1144)

Wiele symboli wieloznacznych w ścieżkach zasobów produktu API

Podczas definiowania ścieżek zasobów w produkcie API możesz uwzględnić symbole wieloznaczne w wielu miejscach ścieżki zasobu. Na przykład /team/*/invoices/** zezwala na wywołania interfejsu API z dowolną wartością po /team i dowolnymi ścieżkami zasobów po invoices/. Dozwolony identyfikator URI w wywołaniu interfejsu API to proxyBasePath/team/finance/invoices/company/a.

Jeśli po tej wersji ścieżki zasobów istniejącego produktu API przestaną działać zgodnie z oczekiwaniami, ustaw w organizacji tę właściwość, aby przywrócić poprzednie działanie: features.enableStandardWildCardMatchForAPIProductResources = true

(MGMT-3273)

Funkcje kryptograficzne w JavaScript

Dostępny jest nowy zestaw funkcji JavaScriptu o wysokiej wydajności crypto do tworzenia, pobierania i aktualizowania tych obiektów skrótu: MD5, SHA-1, SHA256, SHA512. Obiekt crypto umożliwia też uzyskanie daty w różnych formatach. Więcej informacji znajdziesz w modelu obiektu JavaScript. (APIRT-2886)

Sprawdzanie wersji pliku JAR wywołania Javy

Podczas przesyłania zasobu JAR w języku Java do serwera proxy interfejsu API zwracany jest kod stanu HTTP 400 (zamiast 500), jeśli wersja zasobu Java jest niezgodna z obsługiwaną przez Edge wersją języka Java, która jest wymieniona w sekcji Obsługiwane oprogramowanie i obsługiwane wersje. (MGMT-3420)

Weryfikacja zasobów proxy interfejsu API

Jeśli pliki zasobów serwera proxy interfejsu API (takie jak pliki JAR w JavaScript lub Java) są przechowywane w zakresie środowiska lub organizacji, platforma weryfikacyjna nie wymaga już, aby te zasoby były też uwzględniane na poziomie serwera proxy interfejsu API w pakiecie serwera proxy na potrzeby importu, aby przejść weryfikację. Weryfikacja zasobów odbywa się teraz w momencie wdrażania, a nie importowania. (MGMT-1430)

Konfigurowanie limitu czasu dla poszczególnych proxy interfejsu API

Możesz skonfigurować proxy interfejsu API tak, aby po określonym czasie wygasł (ze stanem 504 – przekroczenie limitu czasu bramy). Głównym przypadkiem użycia jest sytuacja, w której klienci chmury prywatnej mają serwery proxy interfejsu API, których wykonanie trwa dłużej. Załóżmy na przykład, że chcesz, aby określone serwery proxy osiągały limit czasu po 3 minutach. W konfiguracji serwera proxy API możesz użyć nowej właściwości api.timeout. Oto jak to zrobić na przykładzie 3-minutowego filmu:

  1. Najpierw skonfiguruj system równoważenia obciążenia, router i procesor wiadomości tak, aby po 3 minutach przekraczały limit czasu.
  2. Następnie skonfiguruj odpowiednie serwery proxy, aby przekraczały limit czasu po 3 minutach. Podaj wartość w milisekundach. Na przykład:
    <ProxyEndpoint name="default">
      <HTTPProxyConnection>
        <BasePath>/v1/weather</BasePath>
        <Properties>
          <!-- api.timeout is in milliseconeds -->
          <Property name="api.timeout">180000</Property>
        </Properties>
        ...
  3. Pamiętaj jednak, że zwiększenie limitów czasu systemu może spowodować problemy z wydajnością, ponieważ wszystkie serwery proxy bez ustawienia api.timeout używają nowych, wyższych limitów czasu modułu równoważenia obciążenia, routera i procesora wiadomości. Skonfiguruj inne proxy interfejsów API, które nie wymagają dłuższych limitów czasu oczekiwania, tak aby korzystały z krótszych limitów. Na przykład ten kod ustawia limit czasu dla serwera proxy interfejsu API na 1 minutę:
    <Property name="api.timeout">60000</Property>

Klienci Cloud, którzy nie mogą modyfikować limitów czasu Edge, mogą też skonfigurować limit czasu serwera proxy interfejsu API, o ile jest on krótszy niż standardowy limit czasu procesora wiadomości Edge wynoszący 57 sekund.

Nie możesz wypełnić wartości zmienną. Ta właściwość jest opisana w dokumentacji właściwości punktu końcowego. (APIRT-1778)

Zasady TLS/SSL dotyczące rejestrowania wiadomości

<KeyStore><TrustStore> można ustawić w konfiguracji SSLInfozasadach rejestrowania wiadomości, co umożliwia dwukierunkowe i jednokierunkowe połączenia TLS/SSL z usługą rejestrowania. Element SSLInfo w zasadach logowania wiadomości konfiguruje się tak samo jak w  TargetEndpoint serwera proxy. Jednak TLS/SSL rejestrowania wiadomości obsługuje tylko protokół TCP. (APIRT-1858)

Usunięte błędy

W tej wersji naprawiliśmy te błędy: Ta lista jest przeznaczona głównie dla użytkowników, którzy chcą sprawdzić, czy ich zgłoszenia zostały rozwiązane. Nie jest on przeznaczony do dostarczania szczegółowych informacji wszystkim użytkownikom.

Identyfikator problemu Opis
SECENG-609 Wywołania w czasie działania nie kończą się niepowodzeniem podczas usuwania powiązanego magazynu zaufanych certyfikatów lub gdy z magazynu zaufanych certyfikatów zostanie usunięty ważny certyfikat
MGMT-3404 Wyświetlanie i pobieranie logów Node.js oraz wdrażanie serwerów proxy jest bardzo powolne
MGMT-3400 Wywołanie interfejsu API zarządzania /userroles kończy się niepowodzeniem, jeśli nazwa użytkownika, który wywołuje interfejs API, zawiera znak „+”
MGMT-3368 java.lang.ArrayIndexOutOfBoundsException: 1 podczas importowania pakietu serwera proxy interfejsu API, który zawiera katalog resources/node/resources
MGMT-3364 OAuthV2: weryfikacja redirect_uri
MGMT-3319 Wyświetlanie wpisów na liście w skarbcu, który zawiera wartość null w jednym z wpisów, nie działa w przypadku organizacji (CPS i non-CPS)
MGMT-3226 Zapytania na poziomie organizacji lub środowiska nie powinny pobierać wszystkich danych, co powoduje błędy interfejsu API
W wersji 160302 występował błąd, który powodował, że lista zasobów na poziomie organizacji lub środowiska nie działała, jeśli łączny rozmiar zasobów przekraczał 16 MB. Ta poprawka rozwiązuje ten problem.
AXAPP-2429 Interfejs Analytics API zwraca błąd dostępu do danych za pomocą kodu response_status_code
AXAPP-2386 Rozwiązywanie problemu z pustymi raportami w codziennych raportach e-mail Analytics
AXAPP-2347 Nie otrzymuję e-maili z dziennym podsumowaniem danych analitycznych
APIRT-3141 Wywołania Java Callouts kończą się niepowodzeniem podczas wywoływania new ExecutionResult() , ponieważ konstruktor został oznaczony jako prywatny
APIRT-3140 Zasady ServiceCallout nie działają w wywołaniach interfejsu API HEAD
APIRT-3131 Nieprawidłowy atrybut createdBy w przypadku serwera proxy interfejsu API, gdy do zarabiania używany jest zewnętrzny dostawca uwierzytelniania
APIRT-3121 Zmiana w pliku zasobów organizacji nie jest w 100% skuteczna
APIRT-3117 MP osiągnął 100% wykorzystania procesora i przestał obsługiwać ruch
APIRT-3016 Błędy „Przekroczono limit czasu połączenia” w routerze wdrożeń
APIRT-2975 Nie udało się przesłać pakietu certyfikatów
APIRT-2955 Nie można zamaskować niektórych atrybutów danych odpowiedzi JSON dla nagłówka Content-Type zgodnego z FHIR „application/json+fhir”
APIRT-2946 Zasada OAuthV2-RefreshToken nie ukrywa atrybutów, mimo że wyświetlanie jest ustawione na wartość false
APIRT-2908 Po zaktualizowaniu protokołu TLS 1.2 na hoście wirtualnym wymagane jest wymuszanie protokołu TLS 1.2 w przypadku wewnętrznych wywołań interfejsu API
APIRT-2901 Odpowiedzi skompresowane za pomocą gzipa zwracane z pamięci podręcznej są podwójnie skompresowane
APIRT-2873 Moduły Message Processor zgłaszają wyjątek NullPointerException związany z zasadą VerifyAPIKey po usunięciu produktów/deweloperów/proxy
APIRT-2871 Zasady IOIntensive pojawiające się w śladzie dwukrotnie
APIRT-2825 Błąd gramatyczny w odpowiedzi na błąd tokena dostępu
APIRT-2750 Wysoki odsetek nieudanych prób połączenia w określonej organizacji
APIRT-2685 Nie można przekierowywać ruchu z powodu nieznanego błędu
APIRT-2647 Błąd „Podstawowy strumień wejściowy zwrócił zero bajtów” w środowisku nieprodukcyjnym/deweloperskim
APIRT-2630 Sporadyczne problemy podczas próby odczytania wartości z pamięci podręcznej
APIRT-2620 Osobna pula wątków dla niektórych kroków blokujących
APIRT-2610 java.lang.ClassCastException w przypadku zasady pamięci podręcznej odpowiedzi
APIRT-2608 Błąd analizowania nagłówków Last-Modified w zasadach pamięci podręcznej odpowiedzi
APIRT-2605 Zmienne „organization” i „environment” nie powinny być nadpisywane przez zasady
APIRT-2566 Zasady OAuthV2 zwracają nieprawidłowo sformatowany nagłówek WWW-Authenticate
APIRT-2491 Nie udało się zaktualizować serwera docelowego z powodu przekroczenia limitu czasu RPC między zarządzaniem a mps
APIRT-2386 W usłudze API z pustym polem Dozwolone zakresy OAuth tworzony jest zakres pustego ciągu znaków
APIRT-2383 Zasady transformacji XSL nie rejestrują żadnych danych w przypadku błędu
APIRT-2364 Zmienne przepływu błędów OAuth nie są aktualizowane w przypadku błędu
APIRT-2216 Zdarzenia wysyłane przez serwer – strumień zdarzeń ma problemy w środowisku produkcyjnym
APIRT-2079 Wywołanie cURL w trybie DEBUG nie zatrzymuje się po upływie limitu czasu utworzonej sesji
APIRT-1495 Ochrona przed zagrożeniami w XML nie wykrywa typu treści FHIR
APIRT-347 Zasady XSL nie są prawidłowo weryfikowane podczas importowania (nie przypisują wyników do zmiennych wyjściowych zgodnie z dokumentacją).