16.08.17 - Note di rilascio di Apigee Edge per il cloud pubblico

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

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 funzioni e gli aggiornamenti di questa release.

Payload JSON in Assegna messaggio e Genera errore

Durante l'impostazione di un payload JSON utilizzando un criterio Assegna messaggio o Genera errore, a volte agli utenti veniva richiesto di utilizzare soluzioni alternative per garantire che un messaggio JSON venisse formattato correttamente in fase di runtime, ad esempio l'inizio del payload con una barra rovesciata "\" o la specifica di un prefisso e una variabile di {5}Vifix nell'elemento Payload, anche se nel messaggio non venivano utilizzate variabili.

Con questo miglioramento, non sono necessarie soluzioni alternative per garantire la corretta formattazione dei messaggi JSON ed è possibile specificare le variabili utilizzando parentesi graffe senza creare un JSON non valido. Ad esempio, quanto segue inserisce il valore di message.content nel messaggio JSON:

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

Se hai utilizzato una soluzione alternativa, il tuo codice continuerà a funzionare così com'è. Per indicare le variabili, puoi anche utilizzare variabiliPrefisso e fisseSuffix anziché parentesi graffe.

Consulta l'elemento <Set><Payload> nella documentazione di riferimento relativa a Assegna criterio ai messaggi e Aumenta il criterio di errore. (APIRT-1160)

Miglioramenti dei criteri da XML a JSON

Il criterio da XML a JSON è stato migliorato con le seguenti funzionalità. Puoi configurare il criterio per:

  • Tratta alcuni elementi XML come array durante la conversione, in modo che i valori vengano inseriti tra parentesi quadre "[ ]" nel documento JSON.
  • Elimina o elimina i livelli della gerarchia dei documenti XML nel documento JSON finale.

Per maggiori informazioni, consulta la sezione Criterio da XML a JSON. (APIRT-1144)

Più caratteri jolly nei percorsi delle risorse del prodotto API

Quando definisci i percorsi delle risorse nel prodotto API, puoi includere caratteri jolly in più posizioni di un percorso della risorsa. Ad esempio, /team/*/invoices/** consente le chiamate API con un valore qualsiasi dopo /team e qualsiasi percorso delle risorse 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 smetteranno di funzionare come previsto, imposta la seguente proprietà sulla tua organizzazione per ripristinare il comportamento precedente: features.enableStandardWildCardMatchForAPIProductResources = true

(MGMT-3273)

Funzioni crittografiche in JavaScript

È disponibile un nuovo set di funzioni crypto JavaScript ad alte prestazioni per creare, recuperare e aggiornare i seguenti oggetti: MD5, SHA-1, SHA256, SHA512. L'oggetto crypto consente anche di recuperare la data in vari formati. Per ulteriori informazioni, consulta la sezione Modello a oggetti JavaScript. (APIRT-2886)

Controllo della versione JAR del callout Java

Quando carichi una risorsa Java JAR su 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 e versioni supportate e supportate. (MGMT-3420)

Convalida delle risorse proxy API

Se hai file di risorse proxy API (come JavaScript o JAR Java) archiviati nell'ambito dell'ambiente o dell'organizzazione, il framework di convalida non richiede più di includere in un bundle proxy anche queste risorse a livello di proxy API affinché l'importazione superi la convalida. La convalida delle risorse ora avviene al momento del deployment, non al momento dell'importazione. (MGMT-1430)

Configura il timeout per 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 Private Cloud con proxy API che richiedono più tempo per l'esecuzione. Ad esempio, supponiamo che tu abbia bisogno di proxy specifici per scadere a 3 minuti. Puoi utilizzare una nuova proprietà api.timeout nella configurazione di un proxy API. Ecco come procederesti con l'esempio dei 3 minuti:

  1. Innanzitutto, assicurati di configurare il bilanciatore del carico, il router e il processore di messaggi in modo che scadano dopo 3 minuti.
  2. 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>
        ...
    
  3. Tuttavia, tieni presente che l'aumento dei timeout di sistema potrebbe causare problemi di prestazioni, poiché tutti i proxy senza un'impostazione api.timeout utilizzano i nuovi timeout più elevati per il bilanciatore del carico, il router e il processore di messaggi. Pertanto, configura altri proxy API che non richiedono timeout più lunghi per utilizzare timeout più bassi. Ad esempio, quanto segue imposta il timeout di un proxy API dopo 1 minuto:
    <Property name="api.timeout">60000</Property>

I clienti Cloud, che non possono modificare i timeout perimetrali, possono anche configurare un timeout del proxy API, a condizione che sia più breve rispetto al timeout standard del processore di messaggi Edge di 57 secondi.

Non puoi compilare il valore con una variabile. Questa proprietà è indicata nel riferimento sulle proprietà degli endpoint. (APIRT-1778)

Criterio TLS/SSL per il logging dei messaggi

È possibile impostare <KeyStore> e <TrustStore> nella configurazione SSLInfo del criterio di logging dei messaggi, consentendo il protocollo TLS/SSL a una o due vie con un servizio di logging. Configura SSLInfo sul criterio di logging dei messaggi come faresti su un proxy TargetEndpoint. Tuttavia, TLS/SSL per il logging dei messaggi supporta solo il protocollo TCP. (APIRT-1858)

Bug corretti

In questa release sono stati corretti i bug indicati di seguito. Questo elenco è destinato principalmente agli utenti che verificano se i ticket di assistenza sono stati risolti. Non è progettata per fornire informazioni dettagliate a tutti gli utenti.

ID problema Descrizione
SECENG-609 Le chiamate di runtime non andranno a buon fine durante l'eliminazione dell'archivio attendibilità associato o quando viene eliminato il certificato valido nell'archivio attendibilità
MGMT-3404 La visualizzazione/il recupero dei log Node.js e il deployment dei proxy sono molto lenti
MGMT-3400 La chiamata all'API /userroles management non riesce se l'utente che effettua la chiamata ha un segno "+" nel nome
MGMT-3368 java.lang.ArrayIndexOutOfBoundsException: 1, durante l'importazione di un bundle proxy API che contiene la directory resource/node/resources
MGMT-3364 OAuthV2: controllo redirect_uri
MGMT-3319 Le voci di elenco in un vault con valore null in una delle voci non funzionano per le organizzazioni (CPS e non CPS)
MGMT-3226 L'esecuzione di query a livello di organizzazione/ambiente non deve estrarre tutti i dati che causano errori nell'API
La release_160302 presentava un bug per cui l'elenco delle risorse a livello di organizzazione/ambiente non era riuscito se la dimensione cumulativa delle risorse è superiore a 16 MB, questa soluzione se ne occupa.
AXAPP-2429 L'API di Analytics che utilizza la risposta_status_code restituisce un errore di accesso ai dati
AXAPP-2386 Correggere i contenuti dei report vuoti nei report giornalieri di Analytics
AXAPP-2347 Non ricevo email giornaliere di riepilogo delle analisi
APIRT-3141 I callout Java non riescono quando si chiama la funzione ExecutionResult() perché il costruttore è stato reso privato
APIRT-3140 Il criterio di callout di servizio non funziona nelle chiamate dell'API HEAD
APIRT-3131 Viene visualizzato per un proxy API quando si utilizza la monetizzazione con un provider di autenticazione esterno
APIRT-3121 La modifica apportata al file delle risorse dell'organizzazione non è efficace al 100%
APIRT-3117 MP ha raggiunto il 100% di utilizzo della CPU e ha smesso di gestire il traffico
APIRT-3016 Errori di timeout della chiamata del router sui deployment
APIRT-2975 Errore di caricamento del pacchetto di certificati
APIRT-2955 Impossibile mascherare alcuni attributi dei dati delle risposte JSON per l'intestazione Content-Type FHIR-complaint "application/json+fhir"
APIRT-2946 Il criterio OAuthV2-refreshToken non nasconde gli attributi anche se la visualizzazione è impostata su false
APIRT-2908 L'applicazione di TLS1.2 per le chiamate API interne è obbligatoria dopo l'aggiornamento di TLS1.2 su virtualhost
APIRT-2901 Le risposte con gzip restituite dalla cache vengono compresse due volte
APIRT-2873 Gli MP generano un'eccezione NullPointerException relativa a VerificationAPIKey dopo l'eliminazione di prodotti/sviluppatori/proxy
APIRT-2871 Criteri IOIntensive visualizzati due volte in Trace
APIRT-2825 Errore grammaticale nella risposta di errore del token di accesso
APIRT-2750 Errori di traffico elevati in un'organizzazione specifica
APIRT-2685 Il traffico non può scorrere perché viene generato un errore sconosciuto
APIRT-2647 Errore"Il flusso di input sottostante ha restituito zero byte" con nonprod/dev
APIRT-2630 Problemi intermittenti durante il tentativo di lettura del valore dalla cache
APIRT-2620 Pool di thread separato per alcuni passaggi di blocco
APIRT-2610 java.lang.ClassCastException con criterio di cache delle risposte
APIRT-2608 Errore di analisi delle intestazioni Last-Modified nei criteri della cache delle risposte
APIRT-2605 Non è consentito sovrascrivere le variabili"organization" e "environment" tramite criteri
APIRT-2566 Il criterio OAuthV2 restituisce un'intestazione WWW-Authenticate in formato non corretto
APIRT-2491 Aggiornamento di TargetServer non riuscito a causa di un timeout RPC tra la gestione e mps
APIRT-2386 In un prodotto API con un ambito OAuth consentito vuoto viene creato un ambito stringa vuoto
APIRT-2383 I criteri di trasformazione di XLL non sembrano registrare dati in caso di errore
APIRT-2364 Le variabili di flusso di errore OAuth non vengono aggiornate in caso di errore
APIRT-2216 Eventi inviati dal server - stream di eventi con problemi di produzione
APIRT-2079 La chiamata DEBUG cURL non si interrompe allo scadere del timeout per la sessione creata
APIRT-1495 La protezione XML dalle minacce non riesce a raggiungere Content-Type
APIRT-347 Il criterio XSL non viene convalidato correttamente al momento dell'importazione (non assegna risultati alle variabili di output come documentato)