Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Martedì 30 agosto 2016 abbiamo rilasciato una nuova versione di Apigee Edge per il cloud pubblico.
Nuove funzionalità e aggiornamenti
Di seguito sono riportate le nuove funzionalità e gli aggiornamenti di questa release.
Payload JSON in Assign Message e Raise Fault
Con questo miglioramento, non sono necessarie soluzioni alternative per garantire la corretta formattazione dei messaggi JSON e le variabili possono essere specificate utilizzando le parentesi graffe senza creare JSON non validi. Ad esempio, il seguente inserisce il valore di message.content nel messaggio JSON:
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
Se hai utilizzato una soluzione alternativa, il codice continuerà a funzionare così com'è. Puoi anche utilizzare variablePrefix e variableSuffix anziché le parentesi graffe per indicare le variabili.
Consulta l'elemento <Set><Payload> nella documentazione di riferimento delle policy Assign Message e Raise Fault. (APIRT-1160)
Miglioramenti della policy XML to JSON
La policy XML to JSON è stata migliorata con le seguenti funzionalità. Puoi configurare la policy per:
- Trattare alcuni elementi XML come array durante la conversione, che inserisce i valori tra parentesi quadre "[ ]" nel documento JSON.
- Rimuovere o eliminare i livelli della gerarchia dei documenti XML nel documento JSON finale.
Per saperne di più, consulta la policy XML to JSON. (APIRT-1144)
Più caratteri jolly in percorsi delle risorse del prodotto API
Quando definisci i percorsi delle risorse nel prodotto API, puoi includere caratteri jolly in più punti di un
percorso di risorsa. Ad esempio, /team/*/invoices/** consente chiamate API con un solo valore dopo /team e qualsiasi percorso di risorsa dopo invoices/. Un URI consentito in una chiamata API sarebbe
proxyBasePath/team/finance/invoices/company/a.
Se dopo questa release i percorsi delle risorse del prodotto API esistenti smettono di funzionare come previsto, imposta
la seguente proprietà nella tua organizzazione per ripristinare il comportamento precedente: features.enableStandardWildCardMatchForAPIProductResources = true
(MGMT-3273)
Funzioni di crittografia in JavaScript
È disponibile un nuovo set di funzioni JavaScript crypto ad alte prestazioni
per creare, recuperare e aggiornare i seguenti oggetti hash: MD5, SHA-1, SHA256, SHA512.
L'oggetto crypto consente anche di ottenere la
data in vari formati. Per saperne di più, consulta il modello di oggetti JavaScript.
(APIRT-2886)
Controllo della versione JAR del callout Java checking
Quando carichi una risorsa JAR Java in un proxy API, viene restituito un codice di stato HTTP 400 (anziché 500) se la versione della risorsa Java non è compatibile con la versione di Java supportata da Edge, elencata in Software supportato e versioni supportate. (MGMT-3420)
Convalida delle risorse del proxy API
Quando hai file di risorse del proxy API (come JAR JavaScript o Java) archiviati nell' ambito dell'ambiente o dell'organizzazione, il framework di convalida non richiede più di includere queste risorse anche a livello di proxy API in un bundle proxy per superare la convalida di importazione. La convalida delle risorse ora avviene in fase di deployment, non in fase di importazione. (MGMT-1430)
Configurare il timeout per i singoli proxy API
Puoi configurare i proxy API in modo che scadano dopo un periodo di tempo specificato (con uno stato di timeout del gateway 504
). Il caso d'uso principale è per i clienti del cloud privato che hanno proxy API che richiedono
più tempo per l'esecuzione. Ad esempio, supponiamo che tu abbia bisogno di proxy specifici che scadano dopo 3 minuti. Puoi
utilizzare una nuova api.timeout proprietà nella configurazione di un proxy API. Ecco come
farlo con l'esempio di 3 minuti:
- Innanzitutto, assicurati di configurare il bilanciatore del carico, il router e il processore di messaggi in modo che scadano dopo 3 minuti.
- Quindi configura i proxy pertinenti in modo che scadano dopo 3 minuti. Specifica il valore in
millisecondi. Ad esempio:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ... - Tieni presente, tuttavia, che l'aumento dei timeout di sistema potrebbe causare problemi di prestazioni, perché
tutti i proxy senza un'impostazione api.timeout utilizzano i nuovi timeout più elevati del bilanciatore del carico, del router e del
processore di messaggi. Quindi configura altri proxy API che non richiedono timeout più lunghi
per utilizzare timeout inferiori. Ad esempio, il seguente imposta un proxy API in modo che scada dopo 1
minuto:
<Property name="api.timeout">60000</Property>
I clienti cloud, che non possono modificare i timeout di Edge, possono anche configurare un timeout del proxy API, purché il timeout sia inferiore al timeout standard del processore di messaggi Edge di 57 secondi.
Non puoi inserire il valore con una variabile. Questa proprietà è trattata nel riferimento per le proprietà degli endpoint. (APIRT-1778)
TLS/SSL per la policy di logging dei messaggi
<KeyStore> e <TrustStore> possono essere impostati nella configurazione
SSLInfo della policy di logging dei messaggi,
consentendo TLS/SSL unidirezionale e bidirezionale con un servizio di logging. Configura SSLInfo nella policy di logging dei messaggi nello stesso modo in cui lo
faresti in un
TargetEndpoint del proxy. Tuttavia, TLS/SSL di logging dei messaggi supporta solo il protocollo TCP.
(APIRT-1858)
Bug corretti
In questa release sono stati corretti i seguenti bug. Questo elenco è destinato principalmente agli utenti che vogliono verificare se i loro ticket di assistenza sono stati risolti. Non è progettato per fornire informazioni dettagliate a tutti gli utenti.
| ID problema | Descrizione |
|---|---|
| SECENG-609 | Le chiamate di runtime non hanno esito negativo durante l'eliminazione del truststore associato o quando viene eliminato il certificato valido nel truststore |
| MGMT-3404 | La visualizzazione/il recupero dei log di Node.js e il deployment dei proxy sono molto lenti |
| MGMT-3400 | La chiamata all'API di gestione /userroles non riesce se l'utente che effettua la chiamata ha un "+" nel nome |
| MGMT-3368 | java.lang.ArrayIndexOutOfBoundsException: 1, durante l'importazione di un bundle di proxy API che contiene la directory resources/node/resources |
| MGMT-3364 | OAuthV2: controllo redirect_uri |
| MGMT-3319 | L'elenco delle voci in un vault con un valore nullo in una delle voci non funziona per le organizzazioni (CPS e non CPS) |
| MGMT-3226 | L'esecuzione di query a livello di organizzazione/ambiente non deve estrarre tutti i dati, causando il mancato funzionamento dell'API Release_160302 aveva un bug per cui l'elenco delle risorse a livello di organizzazione/ambiente non riusciva se la dimensione cumulativa delle risorse superava i 16 MB. Questa correzione risolve il problema. |
| AXAPP-2429 | L'API Analytics che utilizza response_status_code restituisce un errore di accesso ai dati |
| AXAPP-2386 | Correzione del contenuto dei report vuoto nei report email giornalieri di Analytics |
| AXAPP-2347 | Non ricevo le email di riepilogo giornaliere di Analytics |
| APIRT-3141 | I callout Java non riescono quando chiamano new ExecutionResult() , perché il costruttore è stato reso privato |
| APIRT-3140 | La policy ServiceCallout non funziona nelle chiamate API HEAD |
| APIRT-3131 | createdBy errato per un proxy API quando si utilizza la monetizzazione con un provider di autenticazione esterno |
| APIRT-3121 | La modifica del file di risorse dell'organizzazione non è efficace al 100% |
| APIRT-3117 | Il processore di messaggi ha raggiunto il 100% di utilizzo della CPU e ha smesso di gestire il traffico |
| APIRT-3016 | Errori "Chiamata scaduta" del router durante i deployment |
| APIRT-2975 | Errore di caricamento del bundle di certificati |
| APIRT-2955 | Impossibile mascherare determinati attributi dei dati di risposta JSON per l'intestazione Content-Type conforme a FHIR "application/json+fhir" |
| APIRT-2946 | La policy OAuthV2-RefreshToken non nasconde gli attributi anche se la visualizzazione è impostata su false |
| APIRT-2908 | L'applicazione di TLS 1.2 per la chiamata API interna è obbligatoria dopo l'aggiornamento di TLS 1.2 su host virtuale |
| APIRT-2901 | Le risposte compresse con gzip restituite dalla cache vengono compresse due volte |
| APIRT-2873 | I processori di messaggi generano NullPointerException relative a VerifyAPIKey dopo l'eliminazione di prodotti/sviluppatori/proxy |
| APIRT-2871 | Le policy IOIntensive vengono visualizzate due volte in Trace |
| APIRT-2825 | Errore grammaticale nella risposta di errore accesstoken |
| APIRT-2750 | Traffico elevato di errori in un'organizzazione specifica |
| APIRT-2685 | Il traffico non può fluire a causa di un errore sconosciuto |
| APIRT-2647 | Errore"Underlying input stream returned zero bytes" (Il flusso di input sottostante ha restituito zero byte) con nonprod/dev |
| APIRT-2630 | Problemi intermittenti durante il tentativo di leggere il valore dalla cache |
| APIRT-2620 | Pool di thread separato per alcuni passaggi di blocco |
| APIRT-2610 | java.lang.ClassCastException con la policy Response Cache |
| APIRT-2608 | Errore di analisi delle intestazioni Last-Modified nelle policy Response Cache |
| APIRT-2605 | Le variabili"organization" e "environment" non devono essere sovrascritte tramite le policy |
| APIRT-2566 | La policy OAuthV2 restituisce un'intestazione WWW-Authenticate non valida |
| APIRT-2491 | L'aggiornamento di TargetServer non è riuscito a causa del timeout RPC tra gestione e processori di messaggi |
| APIRT-2386 | In un prodotto API con ambiti OAuth consentiti vuoti viene creata una stringa di ambito vuota ambiti |
| APIRT-2383 | Le policy di trasformazione XSL non sembrano registrare dati in caso di errore |
| APIRT-2364 | Le variabili del flusso di errori OAuth non vengono aggiornate in caso di errore |
| APIRT-2216 | Eventi inviati dal server: flusso di eventi con problemi in produzione |
| APIRT-2079 | La chiamata cURL DEBUG non si interrompe dopo la scadenza del timeout per la sessione creata |
| APIRT-1495 | XML Threat Protection non rileva Content-Type fhir |
| APIRT-347 | La policy XSL non viene convalidata correttamente durante l'importazione (non assegna i risultati alle variabili di output come documentato) |