16.08.17 – informacje o wersji Apigee Edge dla Public Cloud

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

We wtorek 30 sierpnia 2016 roku opublikowaliśmy nową wersję Apigee Edge dla chmury publicznej.

Nowe funkcje i aktualizacje

Poniżej znajdziesz opis nowych funkcji i aktualizacji w tej wersji.

Ładunki JSON w sekcji Przypisz wiadomość i zgłoś błąd

Podczas ustawiania ładunku JSON za pomocą zasady przypisywania wiadomości lub podnoszenia błędu użytkownicy musieli stosować obejścia, aby mieć pewność, że wiadomość JSON została poprawnie sformatowana w czasie działania, na przykład zacząć ładunek od ukośnika lewego lub określić zmienną przedrostek i zmiennąSuffix w elemencie Payload, nawet jeśli w wiadomości nie używano żadnych zmiennych.

Dzięki temu ulepszeniu nie trzeba stosować 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 formatu JSON. Na przykład ten kod wstawia wartość message.content w wiadomości JSON:

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

Jeśli skorzystasz z obejścia, Twój kod będzie nadal działać bez zmian. Do wskazywania zmiennych zamiast nawiasów klamrowych możesz też używać zmiennej Prefiks i zmiennaSufiks.

Zobacz element <Set><Payload> w dokumentacji referencyjnej Assign Message policy (zasady przypisywania wiadomości) i Move Fault policy (Zasada Zgłaszanie błędów). (APIRT-1160)

Ulepszenia zasad dotyczących formatu XML na JSON

Zasada XML na JSON została udoskonalona o następujące funkcje. Możesz skonfigurować tę zasadę, aby:

  • Podczas konwersji traktuj niektóre elementy XML jako tablice, co spowoduje umieszczenie wartości w nawiasach kwadratowych „[ ]” w dokumencie JSON.
  • Usuń lub usuń poziomy hierarchii dokumentów XML w ostatecznej wersji dokumentu JSON.

Więcej informacji znajdziesz w opisie zasad z XML na JSON. (APIRT-1144)

Wiele symboli wieloznacznych w ścieżkach zasobów usługi API

Podczas definiowania ścieżek zasobów w usłudze API możesz umieszczać symbole wieloznaczne w wielu miejscach w ścieżce zasobu. Na przykład /team/*/invoices/** zezwala na wywołania interfejsu API o dowolnej wartości po /team i wszystkich ścieżkach zasobów po invoices/. Dozwolony identyfikator URI w wywołaniu interfejsu API to proxyBasePath/team/finance/invoices/company/a.

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

(MGMT-3273)

Funkcje kryptograficzne w JavaScripcie

Dostępny jest nowy zestaw funkcji JavaScript crypto o wysokiej wydajności do tworzenia, pobierania i aktualizowania tych obiektów z obiektami: MD5, SHA-1, SHA256, SHA512. Obiekt crypto pozwala też uzyskać datę w różnych formatach. Więcej informacji znajdziesz w artykule o modelu obiektów JavaScript. (APIRT-2886)

Sprawdzanie wersji JAR objaśnienia Java

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

Weryfikacja zasobów serwera proxy interfejsu API

Jeśli przechowujesz pliki zasobów serwera proxy interfejsu API (np. JavaScript lub Java JAR) w zakresie na poziomie organizacji, platforma weryfikacji nie wymaga już uwzględniania tych zasobów na poziomie serwera proxy interfejsu API w pakiecie proxy interfejsu API w celu ich importu w celu przejścia weryfikacji. Weryfikacja zasobów odbywa się teraz w czasie wdrażania, a nie podczas importu. (MGMT-1430)

Skonfiguruj czas oczekiwania dla poszczególnych serwerów proxy interfejsu API

Możesz skonfigurować serwery proxy interfejsu API tak, aby przekraczały limit czasu po określonym czasie (ze stanem limitu czasu bramy 504). Główny przypadek użycia dotyczy klientów Private Cloud, którzy mają serwery proxy API, których wykonanie trwa dłużej. Załóżmy na przykład, że określone serwery proxy mają przekraczać limit czasu po 3 minutach. W konfiguracji serwera proxy interfejsu API możesz użyć nowej właściwości api.timeout. Robi się to w takim 3-minutowym przykładzie:

  1. Najpierw skonfiguruj system równoważenia obciążenia, router i procesor wiadomości tak, aby przekraczały limit czasu po 3 minutach.
  2. Następnie skonfiguruj odpowiednie serwery proxy, aby przekraczały limit czasu po 3 minutach. Określ wartość w milisekundach. 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 oczekiwania systemu może spowodować problemy z wydajnością, ponieważ wszystkie serwery proxy bez ustawienia api.timeout korzystają z nowego, wyższego systemu równoważenia obciążenia, routera i procesora wiadomości. Skonfiguruj więc inne serwery proxy interfejsu API, które nie wymagają dłuższych limitów czasu, aby używały krótszych limitów czasu. Poniższy przykład ustawia na przykład limit czasu serwera proxy interfejsu API po upływie 1 minuty:
    <Property name="api.timeout">60000</Property>

Klienci Google Cloud, którzy nie mogą zmieniać limitów czasu oczekiwania na Edge, mogą też skonfigurować limit czasu serwera proxy interfejsu API, o ile będzie on krótszy niż standardowy czas oczekiwania procesora wiadomości Edge, który wynosi 57 sekund.

Nie możesz wypełnić wartości zmienną. Tę właściwość znajdziesz w dokumentacji właściwości punktów końcowych. (APIRT-1778)

Zasada TLS/SSL na potrzeby logowania wiadomości

<KeyStore> i <TrustStore> można ustawić w konfiguracji SSLInfo w zasadach logowania wiadomości, co pozwala korzystać z jedno- i dwukierunkowego protokołu TLS/SSL w usłudze logowania. SSLInfo konfigurujesz w zasadzie usługi Message Logging w taki sam sposób jak w przypadku punktu końcowego serwera proxy. Jednak protokół TLS/SSL usługi rejestrowania wiadomości obsługuje tylko protokół TCP. (APIRT-1858)

Naprawione błędy

Poprawiliśmy w niej wymienione niżej błędy. Ta lista jest przeznaczona głównie dla użytkowników, którzy chcą sprawdzić, czy ich zgłoszenia do zespołu pomocy zostały rozwiązane. Jej zadaniem nie jest dostarczanie szczegółowych informacji o wszystkich użytkownikach.

Identyfikator problemu Opis
SECENG-609 Wywołania środowiska wykonawczego nie kończą się niepowodzeniem podczas usuwania powiązanego magazynu zaufania lub po usunięciu prawidłowego certyfikatu w magazynie zaufania
MGMT-3404 Wyświetlanie/pobieranie logów Node.js i wdrażanie serwerów proxy jest bardzo powolne
MGMT-3400 Wywołanie interfejsu API zarządzania /userroles nie powiedzie się, jeśli użytkownik wykonujący wywołanie ma w nazwie znak „+”
MGMT-3368 java.lang.TrackIndexOutOfBoundsWyjątek: 1 – podczas importowania pakietu serwera proxy interfejsu API zawierającego katalog zasobów/węzłów/zasobów
MGMT-3364 protokół OAuthV2: sprawdzanie atrybutu redirect_uri;
MGMT-3319 Wyświetlanie listy wpisów w Vault, które w jednym z nich mają wartość null, nie działa w organizacjach (CPS i bez CPS)
MGMT-3226 Zapytanie na poziomie organizacji lub środowiska nie powinno pobrać wszystkich danych powodujących błędy interfejsu API
W wersji nr 160302 wystąpił błąd polegający na tym, że wyświetlanie listy zasobów na poziomie organizacji lub środowiska nie powiodło się, jeśli łączny rozmiar zasobów przekracza 16 MB. Ta poprawka rozwiązuje problem.
AXAPP-2429 Interfejs Analytics API korzystający z parametru „response_status_code” zwraca błąd dostępu do danych
AXAPP-2386 Naprawianie treści pustych raportów w dziennych raportach e-mailowych Analytics
AXAPP-2347 Brak e-maili z codziennymi podsumowaniami statystyk
APIRT-3141 Objaśnienia w Javie kończą się niepowodzeniem przy wywoływaniu nowej funkcji ExecutionResult() , ponieważ konstruktor został ustawiony jako prywatny
APIRT-3140 Zasada ServiceCallout nie działa w wywołaniach interfejsu HEAD API
APIRT-3131 Wyświetlana jest nieprawidłowa wartość createBy w przypadku serwera proxy interfejsu API podczas korzystania z funkcji zarabiania u zewnętrznego dostawcy uwierzytelniania
APIRT-3121 Wprowadzona zmiana pliku zasobów organizacji nie jest skuteczna w 100%
APIRT-3117 MP osiągnęło 100% wykorzystania procesora i przestało obsługiwać ruch
APIRT-3016 Błędy „Osiągnięto limit czasu wywołania” routera we wdrożeniach
APIRT-2975 Błąd przesyłania pakietu certyfikatów
APIRT-2955 Nie można zamaskować niektórych atrybutów danych odpowiedzi JSON w nagłówku FHIR-skargi Content-Type „application/json+fhir”
APIRT-2946 Zasada OAuthV2-Odśwież token nie ukrywa atrybutów, mimo że wyświetlanie jest ustawione na fałsz
APIRT-2908 Wymuszanie korzystania z TLS1.2 w wewnętrznym wywołaniu interfejsu API jest wymagane po aktualizacji protokołu TLS1.2 na virtualhost
APIRT-2901 Odpowiedzi zip zwracane z pamięci podręcznej są podwójnie kompresowane
APIRT-2873 Po usunięciu usług/programistów/serwerów proxy użytkownicy zgłaszają wyjątek NullPointerWyjątek związany z parametremVerifyAPIKey po usunięciu usług.
APIRT-2871 Zasady IOIntensywnie pojawiają się dwukrotnie w Trace
APIRT-2825 Błąd gramatyczny w odpowiedzi na błąd tokenu dostępu
APIRT-2750 Duża liczba błędów ruchu w określonej organizacji
APIRT-2685 Ruch nie może przepływać, a występuje nieznany błąd
APIRT-2647 Błąd „Podstawowy strumień danych wejściowych zwrócił zero bajtów” z wartością nonprod/dev
APIRT-2630 Sporadyczne problemy podczas próby odczytania wartości z pamięci podręcznej
APIRT-2620 Oddzielna pula wątków na niektóre kroki blokowania
APIRT-2610 java.lang.ClassCastWyjątek z zasadą buforowania odpowiedzi
APIRT-2608 Błąd analizy nagłówków Last-Modified w zasadach buforowania odpowiedzi
APIRT-2605 Zmiennych „organization” i „środowiskowych” nie należy zastępować za pomocą zasad
APIRT-2566 Zasada OAuthV2 zwraca 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 interfejsu API tworzony jest pusty zakres z ciągami tekstowymi z pustymi dozwolonymi zakresami OAuth
APIRT-2383 Wygląda na to, że zasady transformacji XSL nie rejestrują żadnych danych w przypadku błędu
APIRT-2364 Zmienne przepływu błędów protokołu OAuth nie są aktualizowane w przypadku błędu
APIRT-2216 Zdarzenia wysłane z serwera – problemy ze strumieniem zdarzeń w środowisku produkcyjnym
APIRT-2079 Wywołanie DEBUG cURL nie zostaje zatrzymane po upływie czasu oczekiwania dla utworzonej sesji
APIRT-1495 Ochrona przed zagrożeniami XML nie wyłapuje treści typu Content-Type
APIRT-347 Zasada XSL nie jest prawidłowo weryfikowana podczas importowania (nie przypisuje wyników do zmiennych wyjściowych zgodnie z dokumentacją)