InvokeWithResponseStream - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

InvokeWithResponseStream

Configura le funzioni Lambda per trasmettere i payload di risposta ai client. Per ulteriori informazioni, consulta la pagina Configurazione di una funzione Lambda per lo streaming delle risposte.

Questa operazione richiede l'autorizzazione per l'InvokeFunctionazione lambda:. Per ulteriori informazioni su come configurare le autorizzazioni per le chiamate tra account, consulta Concessione dell'accesso alle funzioni ad altri account.

Sintassi della richiesta

POST /2021-11-15/functions/FunctionName/response-streaming-invocations?Qualifier=Qualifier HTTP/1.1 X-Amz-Invocation-Type: InvocationType X-Amz-Log-Type: LogType X-Amz-Client-Context: ClientContext Payload

Parametri della richiesta URI

La richiesta utilizza i seguenti parametri URI.

ClientContext

Fino a 3.583 byte di dati codificati in base64 sul client dell'invocazione da passare alla funzione nell'oggetto contesto.

FunctionName

Il nome della funzione Lambda.

Formati di nome
  • Nome della funzione: my-function

  • ARN funzione: arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • ARN parziale: 123456789012:function:my-function.

Il vincolo di lunghezza si applica solo all'ARN completo. Se specifichi solo il nome della funzione, questo avrà un limite di lunghezza di 64 caratteri.

Limitazioni di lunghezza: lunghezza minima di 1. Lunghezza massima di 170.

Modello: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_\.]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

Campo obbligatorio: sì

InvocationType

Utilizzare una delle opzioni seguenti:

  • RequestResponse (predefinito): richiama la funzione in modo sincrono. Tiene la connessione aperta fino a quando la funzione non restituisce una risposta o un timeout. La risposta dell'operazione API include la risposta della funzione e dati aggiuntivi.

  • DryRun: convalida i valori dei parametri e verifica che l'utente IAM o il ruolo disponga dell'autorizzazione per richiamare la funzione.

Valori validi: RequestResponse | DryRun

LogType

Impostare su Tail per includere il log di esecuzione nella risposta. Si applica solo alle funzioni richiamate in modo sincrono.

Valori validi: None | Tail

Qualifier

Il nome alias.

Limitazioni di lunghezza: lunghezza minima di 1. La lunghezza massima è 128 caratteri.

Modello: (|[a-zA-Z0-9$_-]+)

Corpo della richiesta

La richiesta accetta i seguenti dati binari.

Payload

Il codice JSON che vuoi fornire come input alla funzione Lambda.

È possibile inserire direttamente il JSON. Ad esempio, --payload '{ "key": "value" }'. Puoi inoltre specificare un percorso file. Ad esempio, --payload file://payload.json.

Sintassi della risposta

HTTP/1.1 StatusCode X-Amz-Executed-Version: ExecutedVersion Content-Type: ResponseStreamContentType Content-type: application/json { "InvokeComplete": { "ErrorCode": "string", "ErrorDetails": "string", "LogResult": "string" }, "PayloadChunk": { "Payload": blob } }

Elementi di risposta

Se l'operazione riesce, il servizio restituisce la seguente risposta HTTP.

StatusCode

Per una richiesta con esito positivo, il codice di stato HTTP è compreso nell'intervallo 200. Per il tipo di invocazione RequestResponse, questo codice di stato è 200. Per il tipo di invocazione DryRun, questo codice di stato è 204.

La risposta restituisce le seguenti intestazioni HTTP.

ExecutedVersion

La versione della funzione eseguita. Quando si richiama una funzione con un alias, indica a quale versione è stato risolto l'alias.

Limitazioni di lunghezza: lunghezza minima di 1. La lunghezza massima è 1024 caratteri.

Modello: (\$LATEST|[0-9]+)

ResponseStreamContentType

Il tipo di dati restituiti dal flusso.

I dati seguenti vengono restituiti in formato JSON mediante il servizio.

InvokeComplete

Un oggetto che viene restituito quando lo streaming è terminato e tutti i blocchi di payload sono stati restituiti.

Tipo: oggetto InvokeWithResponseStreamCompleteEvent

PayloadChunk

Una parte del payload di risposta trasmesso.

Tipo: oggetto InvokeResponseStreamUpdate

Errori

Per informazioni sugli errori comuni a tutte le operazioni, consultare Errori comuni.

EC2AccessDeniedException

Sono necessarie autorizzazioni aggiuntive per configurare le impostazioni VPC.

Codice di stato HTTP: 502

EC2ThrottledException

Amazon EC2 ha limitato AWS Lambda durante l'inizializzazione della funzione Lambda tramite il ruolo di esecuzione fornito per la funzione.

Codice di stato HTTP: 502

EC2UnexpectedException

AWS Lambda ha ricevuto un'eccezione client Amazon EC2 imprevista durante la configurazione della funzione Lambda.

Codice di stato HTTP: 502

EFSIOException

Si è verificato un errore durante la lettura o la scrittura su un file system connesso.

Codice di stato HTTP: 410

EFSMountConnectivityException

La funzione Lambda non è riuscita a stabilire una connessione di rete al file system configurato.

Codice di stato HTTP: 408

EFSMountFailureException

La funzione Lambda non è riuscita a montare il file system configurato a causa di un problema di autorizzazione o di configurazione.

Codice di stato HTTP: 403

EFSMountTimeoutException

La funzione Lambda ha stabilito una connessione di rete al file system configurato, ma l'operazione di montaggio è scaduta.

Codice di stato HTTP: 408

ENILimitReachedException

AWS Lambda non ha creato un'interfaccia di rete elastica nel VPC, specificata come parte della configurazione della funzione Lambda, perché è stato raggiunto il limite per le interfacce di rete. Per ulteriori informazioni, consulta la pagina relativa alle quote di .

Codice di stato HTTP: 502

InvalidParameterValueException

Uno dei parametri della richiesta non è valido.

Codice di stato HTTP: 400

InvalidRequestContentException

Impossibile analizzare il corpo della richiesta come JSON.

Codice di stato HTTP: 400

InvalidRuntimeException

Il runtime o la versione di runtime specificata non sono supportati.

Codice di stato HTTP: 502

InvalidSecurityGroupIDException

L'ID del gruppo di sicurezza fornito nella configurazione VPC della funzione Lambda non è valido.

Codice di stato HTTP: 502

InvalidSubnetIDException

L'ID della sottorete fornito nella configurazione VPC della funzione Lambda non è valido.

Codice di stato HTTP: 502

InvalidZipFileException

AWS Lambda non è riuscito a decomprimere il pacchetto di distribuzione.

Codice di stato HTTP: 502

KMSAccessDeniedException

Lambda non è riuscito a decrittare le variabili d'ambiente perché l'accesso a AWS KMS è stato negato. Controlla le autorizzazioni KMS della funzione Lambda.

Codice di stato HTTP: 502

KMSDisabledException

Lambda non è riuscito a decrittare le variabili d'ambiente perché la AWS KMS key utilizzata è disabilitata. Controlla le impostazioni delle chiavi KMS della funzione Lambda.

Codice di stato HTTP: 502

KMSInvalidStateException

Lambda non è riuscito a decrittare le variabili di ambiente perché lo stato della AWS KMS key utilizzata è non valido per Decrypt (Decritta). Controlla le impostazioni delle chiavi KMS della funzione.

Codice di stato HTTP: 502

KMSNotFoundException

Lambda non è riuscito a decrittare le variabili d'ambiente perché la AWS KMS key non è stata trovata. Controlla le impostazioni delle chiavi KMS della funzione.

Codice di stato HTTP: 502

RecursiveInvocationException

Lambda ha rilevato che la funzione viene richiamata in un ciclo ricorsivo con altre risorse AWS e ha interrotto l'invocazione della funzione.

Codice di stato HTTP: 400

RequestTooLargeException

Il payload della richiesta ha superato la quota di immissione JSON del corpo della richiesta Invoke. Per ulteriori informazioni, consulta la pagina relativa alle quote di .

Codice di stato HTTP: 413

ResourceConflictException

La risorsa esiste già o è in corso un'altra operazione.

Codice di stato HTTP: 409

ResourceNotFoundException

La risorsa specificata nella richiesta non esiste.

Codice di stato HTTP: 404

ResourceNotReadyException

La funzione è inattiva e la sua connessione VPC non è più disponibile. Attendi il ripristino della connessione VPC e riprova.

Codice di stato HTTP: 502

ServiceException

Il servizio AWS Lambda ha riscontrato un errore interno.

Codice di stato HTTP: 500

SnapStartException

L'hook di runtime di afterRestore() ha riscontrato un errore. Per ulteriori informazioni, consulta i CloudWatch log di Amazon.

Codice di stato HTTP: 400

SnapStartNotReadyException

Lambda sta inizializzando la tua funzione. È possibile richiamare la funzione quando lo stato della funzione diventa Active.

Codice di stato HTTP: 409

SnapStartTimeoutException

Lambda non è riuscita a ripristinare lo snapshot entro il limite di timeout.

Codice di stato HTTP: 408

SubnetIPAddressLimitReachedException

AWS Lambda non è riuscito a configurare l'accesso VPC per la funzione Lambda perché una o più sottoreti configurate non hanno indirizzi IP disponibili.

Codice di stato HTTP: 502

TooManyRequestsException

È stato superato il limite di throughput della richiesta. Per ulteriori informazioni, consulta la pagina relativa alle quote di .

Codice di stato HTTP: 429

UnsupportedMediaTypeException

Il tipo di contenuto del corpo della richiesta Invoke non è JSON.

Codice di stato HTTP: 415

Vedi anche

Per ulteriori informazioni sull'utilizzo di questa API in uno degli SDK AWS specifici della lingua, consulta quanto segue: