InvokeWithResponseStream - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

InvokeWithResponseStream

Configurez vos fonctions Lambda pour qu’elles diffusent les charges utiles des réponses aux clients. Pour plus d’informations, consultez Configuration d’une fonction Lambda pour le streaming des réponses (français non garanti).

Cette opération nécessite une autorisation pour l'InvokeFunctionaction lambda :. Pour plus de détails sur la façon de configurer les autorisations pour les invocations intercomptes, consultez Octroi d’accès intercomptes à la fonction.

Syntaxe de la demande

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

Paramètres de demande URI

La demande utilise les paramètres URI suivants.

ClientContext

Jusqu’à 3 583 octets de données codées en base 64 sur le client invoquant pour transmettre à la fonction dans l’objet contextuel.

FunctionName

Nom de la fonction Lambda.

Formats de nom
  • Nom de fonctionmy-function.

  • ARN de fonctionarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • ARN partiel123456789012:function:my-function.

Contrainte de longueur qui s’applique uniquement à l’ARN complet. Si vous spécifiez uniquement le nom de la fonction, ce dernier est limité à 64 caractères.

Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 170.

Modèle : (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-_]+))?

Obligatoire : oui

InvocationType

Utilisez l’une des options suivantes :

  • RequestResponse (par défaut) – Invoquer la fonction de manière synchrone. Garder la connexion ouverte jusqu’à ce que la fonction renvoie une réponse ou expire. La réponse de l’opération d’API inclut la réponse de la fonction et des données supplémentaires.

  • DryRun : valider les valeurs des paramètres et vérifier que l’utilisateur IAM ou le rôle possèdent l’autorisation pour invoquer la fonction.

Valeurs valides : RequestResponse | DryRun

LogType

Définissez sur Tail pour inclure le journal d’exécution dans la réponse. S’applique uniquement aux fonctions invoquées de manière synchrone.

Valeurs valides : None | Tail

Qualifier

Le nom de l’alias.

Contraintes de longueur : longueur minimum de 1. Longueur maximum de 128.

Modèle : (|[a-zA-Z0-9$_-]+)

Corps de la demande

La demande accepte les données binaires suivantes.

Payload

JSON à fournir à votre fonction Lambda en entrée.

Vous pouvez saisir directement le format JSON. Par exemple, --payload '{ "key": "value" }'. Vous pouvez également spécifier un chemin d’accès au fichier. Par exemple, --payload file://payload.json.

Syntaxe de la réponse

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 } }

Eléments de réponse

Si l’action aboutit, le service renvoie la réponse HTTP suivante.

StatusCode

Pour une demande réussie, le code d’état HTTP s’inscrit dans la plage 200. Pour le type d’invocation RequestResponse, ce code d’état est 200. Pour le type d’invocation DryRun, ce code d’état est 204.

La réponse renvoie les en-têtes HTTP suivants.

ExecutedVersion

Version de la fonction exécutée. Lorsque vous invoquez une fonction avec un alias, cela indique la version résultant de la résolution de l’alias.

Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 1024.

Modèle : (\$LATEST|[0-9]+)

ResponseStreamContentType

Le type de données renvoyées par le flux.

Les données suivantes sont renvoyées au format JSON par le service.

InvokeComplete

Un objet qui est renvoyé lorsque le flux est terminé et que tous les blocs de données utiles ont été renvoyés.

Type : objet InvokeWithResponseStreamCompleteEvent

PayloadChunk

Une partie de la charge utile de la réponse diffusée.

Type : objet InvokeResponseStreamUpdate

Erreurs

Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez Erreurs courantes.

EC2AccessDeniedException

Besoin d’autorisations supplémentaires pour configurer les paramètres du VPC.

Code d’état HTTP : 502

EC2ThrottledException

Amazon EC2 a limité AWS Lambda lors de l’initialisation de la fonction Lambda en utilisant le rôle d’exécution fourni pour la fonction.

Code d’état HTTP : 502

EC2UnexpectedException

AWS Lambda a reçu une exception client Amazon EC2 inattendue lors de la configuration de la fonction Lambda.

Code d’état HTTP : 502

EFSIOException

Une erreur s’est produite lors de la lecture d’un système de fichiers connecté, ou lors de l’écriture sur celui-ci.

Code d’état HTTP : 410

EFSMountConnectivityException

La fonction Lambda n’a pas pu établir une connexion réseau au système de fichiers configuré.

Code d’état HTTP : 408

EFSMountFailureException

La fonction Lambda n’a pas pu monter le système de fichiers configuré en raison d’un problème d’autorisation ou de configuration.

Code d’état HTTP : 403

EFSMountTimeoutException

La fonction Lambda a établi une connexion réseau avec le système de fichiers configuré, mais l’opération de montage a été interrompue.

Code d’état HTTP : 408

ENILimitReachedException

AWS Lambda n’a pas pu créer une interface réseau Elastic dans le VPC, spécifié comme faisant partie de la configuration de la fonction Lambda, car la limite des interfaces réseau a été atteinte. Pour plus d’informations, consultez Quotas Lambda.

Code d’état HTTP : 502

InvalidParameterValueException

L’un des paramètres dans la demande n’est pas valide.

Code d’état HTTP : 400

InvalidRequestContentException

Le corps de la demande n’a pas pu être analysé en tant que JSON.

Code d’état HTTP : 400

InvalidRuntimeException

L’exécution ou la version d’exécution spécifiée n’est pas prise en charge.

Code d’état HTTP : 502

InvalidSecurityGroupIDException

L’ID de groupe de sécurité spécifié dans la configuration VPC de la fonction Lambda n’est pas valide.

Code d’état HTTP : 502

InvalidSubnetIDException

L’ID de sous-réseau spécifié dans la configuration VPC de la fonction Lambda n’est pas valide.

Code d’état HTTP : 502

InvalidZipFileException

AWS Lambda n’est pas parvenu à décompresser le package de déploiement.

Code d’état HTTP : 502

KMSAccessDeniedException

Lambda n’a pas pu déchiffrer les variables d’environnement, car l’accès AWS KMS a été refusé. Vérifiez les autorisations KMS de la fonction Lambda.

Code d’état HTTP : 502

KMSDisabledException

Lambda n’a pas pu déchiffrer les variables d’environnement, car le AWS KMS key utilisé est désactivé. Vérifiez les paramètres de clé KMS de la fonction Lambda.

Code d’état HTTP : 502

KMSInvalidStateException

Lambda n’a pas pu déchiffrer les variables d’environnement, car l’état du AWS KMS key utilisé n’est pas valide pour le déchiffrage. Vérifiez les paramètres de clé KMS de la fonction.

Code d’état HTTP : 502

KMSNotFoundException

Lambda n’a pas pu déchiffrer les variables d’environnement, car le AWS KMS key utilisé n’a pas été trouvé. Vérifiez les paramètres de clé KMS de la fonction.

Code d’état HTTP : 502

RecursiveInvocationException

Lambda a détecté que votre fonction était invoquée dans une boucle récursive avec d’autres ressources AWS et a arrêté l’invocation de votre fonction.

Code d’état HTTP : 400

RequestTooLargeException

La charge utile de la demande dépassait le quota d’entrée JSON de corps de demande Invoke. Pour plus d’informations, consultez Quotas Lambda.

Code d’état HTTP : 413

ResourceConflictException

La ressource existe déjà ou une autre opération est en cours.

Code d’état HTTP : 409

ResourceNotFoundException

La ressource spécifiée dans la demande n’existe pas.

Code d’état HTTP : 404

ResourceNotReadyException

La fonction est inactive et sa connexion VPC n’est plus disponible. Attendez que la connexion VPC soit rétablie, puis réessayez.

Code d’état HTTP : 502

ServiceException

Le service AWS Lambda a rencontré une erreur interne.

Code d’état HTTP : 500

SnapStartException

Le hook d’exécution afterRestore() a rencontré une erreur. Pour plus d'informations, consultez les CloudWatch journaux Amazon.

Code d’état HTTP : 400

SnapStartNotReadyException

Lambda est en train d’initialiser votre fonction. Vous pouvez invoquer la fonction lorsque l’état de la fonction devient Active.

Code d’état HTTP : 409

SnapStartTimeoutException

Lambda n’a pas pu restaurer l’instantané dans le délai imparti.

Code d’état HTTP : 408

SubnetIPAddressLimitReachedException

AWS Lambda n’a pas pu configurer l’accès VPC pour la fonction Lambda, car un ou plusieurs sous-réseaux configurés n’ont pas d’adresse IP disponible.

Code d’état HTTP : 502

TooManyRequestsException

La limite de débit de demande a été dépassée. Pour plus d’informations, consultez Quotas Lambda.

Code d’état HTTP : 429

UnsupportedMediaTypeException

Le type de contenu du corps de la demande Invoke n’est pas JSON.

Code d’état HTTP : 415

consultez aussi

Pour plus d’informations sur l’utilisation de cette API dans l’un des kits SDK AWS spécifiques au langage, consultez les ressources suivantes :