Solo DataPower API Gateway

Configurazione della politica Richiama per DataPower API Gateway

Seguire questa procedura per configurare la politica Richiama per DataPower® API Gateway nell'interfaccia utente dell'assembly.

Informazioni su questa attività

Nota: questo argomento descrive l'implementazione della politica Richiama in DataPower API Gateway. Se si utilizza DataPower Gateway (v5 compatible), consultare Configurazione della politica di richiamo per DataPower Gateway (compatibile conv5 ). Per informazioni sui diversi tipi di gateway, consultare Tipi di gatewayAPI Connect.

Per i dettagli su come configurare la politica nella fonte OpenAPI , vedi invoke.

Procedura

  1. Nel riquadro di navigazione, fai clic su Icona di sviluppo nel quadro di navigazione Develop, quindi seleziona la scheda API.
    Viene aperta la pagina Sviluppa .
  2. Fai clic sul titolo della definizione API che vuoi utilizzare.
  3. Selezionare la scheda Gateway , quindi fare clic su Politiche nel riquadro di navigazione.
    Per ulteriori informazioni sull'utilizzo dell'editor di assemblaggio per un'API, consultare L'editor di assemblaggio.
  4. Trova la politica Richiama nella tavolozza e trascina la politica nell'area.
  5. Specificare le seguenti proprietà.
    Tabella 1. Proprietà della politica Richiama
    Etichetta proprietà Obbligatorio Descrizione Tipo di dati
    Titolo Vero Il titolo della politica.

    Il valore predefinito è invoke.

    stringa
    Descrizione N Una descrizione della politica. stringa
    URL Vero Specifica un indirizzo URL per il servizio di destinazione.

    Per un'API SOAP, viene aggiunto di default un URL. Ove possibile, il valore di Invoke URL viene fornito dalle informazioni definite nel WSDL importato.

    stringa
    Tipo di backend N Selezionare una delle opzioni riportate di seguito per determinare il modo in cui il payload viene inviato al backend.
    Rilevamento
    Rileva il tipo di messaggio e invia il payload al backend di conseguenza.
    XML
    Impacchettare il payload come XML e inviare. Se il tipo di messaggio non è XML, l'operazione ha esito negativo.
    JSON
    Impacchettare il payload come JSON e inviare. Se il tipo di messaggio non è JSON, l'operazione non riesce.
    Binario
    Impacchetta il payload come binario e invia, indipendentemente dal tipo di messaggio.
    GraphQL
    Impacchettare il payload come GraphQL e inviarlo. Se il tipo di messaggio non lo è GraphQL, l'operazione fallisce.

    Il valore predefinito è Rileva.

    stringa
    GraphQL tipo invio(versione della politica 2.2.0 e successive) Sì, se il tipo di backend è impostato su GraphQL o Detect e HTTP Method è impostato su POST o Keep Selezionare uno dei seguenti valori per determinare come il payload GraphQL viene inviato al backend.
    Rilevamento
    Rileva il tipo di messaggio e invia il payload al backend di conseguenza.
    GraphQL
    Impacchettare il payload come GraphQL e inviarlo. Se il tipo di messaggio non lo è GraphQL, l'operazione fallisce.
    JSON
    Impacchettare il payload come JSON e inviare. Se il tipo di messaggio non lo è GraphQL, l'operazione fallisce.
    Nota: Il tipo di invio GraphQL è supportato solo se il tipo di backend è impostato su GraphQL o Detect e HTTP Method è impostato su POST o Keep.
    stringa
    Profilo TLS N Specifica un profilo TLS da utilizzare per la trasmissione sicura dei dati. stringa
    Scadenza Vero Il tempo di attesa prima di una risposta dall'endpoint (in secondi).

    Il valore predefinito è 60.

    intero
    Segui reindirizzamenti N Specifica il comportamento se il server back-end restituisce il codice di stato HTTP 301 Moved Permanently . Se si seleziona questa casella di controllo, il criterio invoke segue il reindirizzamento URL effettuando un'ulteriore chiamata all'indirizzo URL specificato nell'intestazione Location della risposta. Se si deseleziona questa casella di spunta, invoke salva il codice di stato 301 e la chiamata API viene considerata completa.
    Nota: la proprietà follow-redirect è supportata solo da DataPower API Gateway. Se si utilizza DataPower Gateway (v5 compatible), invoke segue sempre il reindirizzamento URL ; il criterio (non supportato da ) salva il codice di stato e completa la chiamata API senza seguire il reindirizzamento proxy (non supportata da DataPower API Gateway ) salva il codice di stato 301 e completa la chiamata API senza seguire il reindirizzamento URL.
    booleano
    Nome utente N Il nome utente da utilizzare per l'autenticazione di base HTTP. stringa
    Password N La password da utilizzare per l'autenticazione di base HTTP. stringa
    Metodo HTTP Vero Il metodo HTTP da utilizzare per Richiama. Di seguito i valori validi.
    • Conserva
    • ACQUISISCI
    • INVIARE
    • INSERISCI
    • ELIMINA
    • PATCH
    • INTESTAZIONE
    • OPZIONI
    Il valore predefinito è GET. Tuttavia, se impostato su Keep o se la proprietà viene rimossa dalla sorgente, viene utilizzato il metodo HTTP della richiesta in arrivo.
    stringa
    HTTP Versione (versione del criterio 2.1.0 e successive) Vero La versione di HTTP che verrà utilizzata per la connessione al server backend. Selezionare uno dei seguenti valori.
    • HTTP/1.0
    • HTTP/1.1
    • HTTP/2
    Il valore predefinito è HTTP/1.1.
    stringa
    HTTP/2 Obbligatorio (versione politica 2.1.0 e successive) N Selezionare questa casella di spunta per richiedere che il server selezioni HTTP/2 durante una connessione TLS, altrimenti DataPower API Gateway rifiuta la connessione e non riesce la richiesta. Per una connessione non TLS, viene registrata un'avvertenza che indica che non è possibile applicare il requisito. Questa impostazione si applica solo se HTTP Version è impostato su HTTP/2. booleano
    Compressione N Selezionare questa casella di spunta per abilitare la compressione Content - Encoding al caricamento.

    La casella di spunta è deselezionata per impostazione predefinita.

    booleano

    Tipo di cache

    N Il tipo di cache determina se mettere in cache i documenti, rispettando o sovrascrivendo le direttive di HTTP Cache Control ricevute nella risposta dal sito di destinazione URL. Questa proprietà ha effetto solo quando viene ricevuta una risposta, altrimenti la politica restituisce sempre la risposta non scaduta precedentemente salvata nella cache.
    I valori validi sono:
    Protocollo
    Il comportamento della cache è determinato dalle intestazioni Cache - Control sulla risposta, in conformità con RFC 7234.

    Per ottimizzare le prestazioni, se il gateway riceve più di una richiesta per una risorsa che non è presente nella cache ma che potrebbe essere memorizzata nella cache quando viene ricevuta la risposta dal sito URL di destinazione, il gateway invia solo una richiesta al sito URL di destinazione; le altre richieste non vengono elaborate fino a quando non viene ricevuta la risposta alla prima richiesta e non viene determinato il comportamento della cache in base a tale risposta. Se la risposta indica che la memorizzazione nella cache è possibile, il gateway risponde a tutte le richieste in attesa con la risorsa memorizzata nella cache. Se la risposta indica che il caching non è possibile, il gateway invia tutte le richieste in attesa al sito di destinazione URL.

    Utilizzare questa opzione solo se si prevede che le risposte dal sito URL di destinazione possano essere memorizzate nella cache, nel qual caso dovrebbe migliorare le prestazioni e limitare la richiesta al sito URL di destinazione. Se, tuttavia, la destinazione URL non indica mai che il gateway deve memorizzare nella cache la sua risposta, le prestazioni potrebbero essere ridotte rispetto all'opzione No Cache.

    Nessuna cache
    Le risposte del sito URL di destinazione non vengono memorizzate nella cache del gateway, indipendentemente dalle intestazioni di cache restituite. In questo caso, ogni richiesta del client viene inviata alla destinazione URL.

    Usare questa opzione se non si vuole memorizzare nella cache nessuna delle risposte del backend sul gateway, o se è improbabile che una risposta dal sito di destinazione URL permetta la memorizzazione nella cache attraverso le impostazioni dell'intestazione Cache-Control.

    TTL (Time to Live)
    Questa opzione è simile all'opzione Protocollo tranne per il fatto che consente di specificare la quantità di tempo in cui si desidera che la risposta corretta dal richiamo o dal proxy rimanga nella cache. Utilizzare questa opzione solo se si prevede che le risposte del sito URL di destinazione possano essere memorizzate nella cache.

    Il valore predefinito è Protocollo.

    stringa
    TTL (Time to Live) N Specifica la quantità di tempo, in secondi, in cui la risposta rimane nella cache. Si applica solo se la proprietà Tipo di cache è impostata su Time to Live. Immettere un valore compreso nell'intervallo da 5 a 31708800.

    Il valore predefinito è 900.

    intero
    Chiave della cache N Specifica l'identificativo univoco della voce cache del documento. Se questo valore non viene specificato, l'intera stringa URL verrà utilizzata come chiave. stringa
    Allow WebSocket Upgrade (versione della politica 2.1.0 e successive) N Selezionare questa casella di controllo per consentire l'aggiornamento di una connessione HTTP o HTTPS al protocollo WebSocket se la richiesta ricevuta dal gestore corrispondente HTTP o HTTPS su DataPower API Gateway utilizza WebSocket (ws) o WebSocket Secure (wss).
    Nota:
    • Questa impostazione è disponibile solo per API GraphQL .
    • L'impostazione Consenti aggiornamento WebSocket è obsoleta. Per consentire le richieste di aggiornamento WebSocket che possono gestire i dati di elaborazione API, definisci una politica di aggiornamento WebSocket dell'assembly. Per ulteriori informazioni, vedi Websocket Upgrade.
    booleano
    Inserisci intestazioni proxy N Se si seleziona questa casella di controllo, il criterio invoke inietta le intestazioni X-Forwarded-For, X-Forwarded-To, X-Forwarded-Host e X-Forwarded-Proto nella richiesta inviata al target URL.

    La casella di spunta è deselezionata per impostazione predefinita.

    booleano
    Parametri richiesta Decode N Se si seleziona questa casella di controllo, tutti i parametri di richiesta che sono referenziati da una definizione di variabile sul sito URL di destinazione del criterio di invocazione vengono decodificati URL.

    La casella di spunta è deselezionata per impostazione predefinita.

    booleano
    Codifica dei parametri della query N Se si seleziona questa casella di controllo, tutti i caratteri "+" nei valori dei parametri di query del sito URL di destinazione vengono codificati in %2F.

    La casella di spunta è deselezionata per impostazione predefinita.

    booleano
    Conserva Payload N Se si seleziona questa casella di spunta, la politica di richiamo invia un payload su un metodo HTTP DELETE .

    La casella di spunta è deselezionata per impostazione predefinita.

    booleano
    Limitarsi a HTTP 1.0 (solo la versione della politica 2.0.0 ) N Se si seleziona questa casella di controllo, le transazioni di HTTP sono limitate alla versione 1.0.

    La casella di controllo è deselezionata per impostazione predefinita.

    booleano
    Consenti caricamenti in blocchi N Se si seleziona questa casella di spunta, i documenti codificati in blocchi vengono inviati al server. Quando si utilizza il protocollo HTTP 1.1, il corpo del documento può essere delimitato dalla codifica Content-Length o chunked. Mentre tutti i server possono interpretare Content-Length, molte applicazioni non riescono a comprendere i documenti codificati in blocchi. Per questo motivo, Content-Length è il metodo standard.

    L'utilizzo di Content-Length interferisce con la capacità di DataPower Gateway di eseguire il flusso completo. Se è necessario inviare documenti completi al server di destinazione, abilitare questa proprietà.

    Se abilitato, il server deve essere compatibile con RFC 2616. A differenza di tutte le altre funzioni HTTP 1.1 che possono essere negoziate in fase di esecuzione, è necessario sapere in precedenza se il server di destinazione è compatibile con la RFC 2616.

    La casella di spunta è selezionata per impostazione predefinita.

    Nota: La codifica Chunked non è supportata dal protocollo HTTP 1.0.
    booleano
    Connessione persistente (versione politica 2.3.0 e successive) N Selezionare questa casella di controllo per abilitare le connessioni persistenti di HTTP, consentendo il riutilizzo della connessione.

    La casella di spunta è selezionata per impostazione predefinita.

    booleano
    Controllo intestazione N Specifica le intestazioni in message.headers che si desidera copiare nella destinazione URL.
    Per impedire la copia delle intestazioni, completare la seguente procedura.
    1. Selezionare Blocklist.
    2. Fai clic su Add blocklist.
    3. Nel campo vuoto visualizzato, immettere il nome dell'intestazione.
    4. Per aggiungere ulteriori intestazioni, ripetere i passi precedenti.
    Per specificare le intestazioni che si desidera copiare, effettuare le operazioni riportate di seguito.
    1. Selezionare Allowlist.
    2. Fare clic su Aggiungi allowlist.
    3. Nel campo vuoto visualizzato, immettere il nome dell'intestazione.
    4. Per aggiungere ulteriori intestazioni, ripetere i passi precedenti.

    I valori specificati sono in formato di espressione regolare. Ad esempio, per specificare l'intestazione Content-Type, immettere ^Content-Type$

    Per impostazione predefinita, è selezionato Blocklist , senza voci di blocklist, il che significa che vengono copiate tutte le intestazioni.

    stringa
    Controllo parametro N Specifica i parametri della richiesta in entrata che si desidera copiare nella destinazione URL.
    Per impedire la copia dei parametri, effettuare le operazioni riportate di seguito.
    1. Selezionare Blocklist.
    2. Fai clic su Add blocklist.
    3. Nel campo vuoto visualizzato, immettere il nome del parametro.
    4. Per aggiungere ulteriori parametri, ripetere i passaggi precedenti.
    Per specificare i parametri che si desidera copiare, completare la seguente procedura.
    1. Selezionare Allowlist.
    2. Fare clic su Aggiungi allowlist.
    3. Nel campo vuoto visualizzato, immettere il nome del parametro.
    4. Per aggiungere ulteriori parametri, ripetere i passaggi precedenti.

    I valori specificati sono in formato di espressione regolare.

    Ad esempio, se la richiesta in entrata è
    http://apigw/org/sandbox/petstore/base?petid=100&display=detailed
    e si specifica una voce della lista bianca di ^petid$, il target URL in fase di esecuzione sarà
    http://myhost/mypath?storeid=3&petid=100

    Per impostazione predefinita, è selezionato Allowlist , senza voci allowlist, il che significa che nessun parametro viene copiato.

    stringa
    Arresta in caso di errore N Selezionare gli errori che, se generati durante l'esecuzione della politica, causano l'arresto del flusso di assemblaggio. Se esiste un flusso catch configurato per l'errore, viene attivato per gestire l'errore generato. Se viene generato un errore e non vi sono errori selezionati per l'impostazione Arresta in caso di errore o se l'errore generato non è uno degli errori selezionati, l'esecuzione della politica è consentita e il flusso di assemblaggio continua. stringa

    Variabile oggetto risposta

    N Il nome di una variabile che verrà utilizzata per archiviare i dati della risposta. Per impostazione predefinita, la risposta di chiamata, ovvero il corpo, le intestazioni, statusCode E statusMessage, viene salvato nella variabile Messaggio. Utilizzare questa proprietà per specificare un'ubicazione alternativa in cui memorizzare la risposta di richiamo. È possibile fare riferimento a questa variabile in altre azioni, come ad esempio Mappa.
    Nota: se si desidera che la risposta venga salvata in messaggio, lasciare vuota la proprietà Variabile oggetto risposta , non fornire il valore message.
    stringa
    Buffering N Selezionare Buffering per specificare se bufferizzare il payload. Se si seleziona Buffering, il payload viene bufferizzato e il criterio Invoke può controllare il tipo di payload. Se non si seleziona Buffering, il payload viene trasmesso in streaming e il criterio Invoke non può controllare il tipo di payload.
    Nota: Se si attiva il buffering, è necessario configurare anche un criterio di analisi per interpretare il payload. Senza una politica Parse, il payload rimane un buffer non interpretato e la politica Invoke ha successo se il servizio di backend accetta payload di tipo binary o detect. Se è configurato un criterio Parse, esso disabilita implicitamente lo streaming, anche se il buffering è disattivato, perché il parsing richiede il buffering dell'intero payload. Per ulteriori informazioni, vedere Parse.
    booleano
  6. Specificare una versione per il criterio facendo clic sull'icona Sorgente Icona origine OpenAPI e completando la sezione version del criterio YAML. Ad esempio:
    execute:
      - invoke:
          version: 2.0.0
          title: invoke
      ...
    È possibile specificare una versione per la politica compatibile con il gateway che si sta utilizzando. Quando l'API viene pubblicata, se la versione è incompatibile con il gateway, viene generato un errore di convalida che specifica le versioni disponibili.
  7. Fare clic su Salva.

Esempio

- invoke:
    version: 2.0.0
    title: get the account status
    target-url: https://example.com/accounts/{id}?status={status}
    cache-response: time-to-live
    cache-putpost-response: true
    tls-profile: MyTLSProfile:1.0.0
    verb: POST
    timeout: 60
    compression: false 
    username: MyUser
    password: MyPassword
    stop-on-error:
      - ConnectionError
      - OperationError