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
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:
- Najpierw skonfiguruj system równoważenia obciążenia, router i procesor wiadomości tak, aby przekraczały limit czasu po 3 minutach.
- 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> ...
- 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ą) |