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 fonction –
my-function
. -
ARN de fonction –
arn:aws:lambda:us-west-2:123456789012:function:my-function
. -
ARN partiel –
123456789012: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’invocationDryRun
, 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 :