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.
x-amazon-apigateway-integration objet
Spécifie les détails de l'intégration au backend utilisée pour cette méthode. Cette extension est une propriété étendue de l'objet Open API Operation
Nom de la propriété | Type | Description |
---|---|---|
cacheKeyParameters |
Tableau d'éléments string |
Liste de paramètres de demande dont les valeurs doivent être mises en cache. |
cacheNamespace |
string |
Un groupe de balises API spécifique contenant des paramètres mis en cache associés. |
connectionId |
string |
L'ID d'un VpcLinkpour l'intégration privée. |
connectionType |
string |
Type de connexion de l'intégration. La valeur valide est "VPC_LINK" pour l'intégration privée ou "INTERNET" , dans le cas contraire. |
credentials |
string |
Pour les informations d'identification AWS IAM basées sur les rôles, spécifiez ARN le rôle appropriéIAM. Si elles ne sont pas spécifiées, les informations d'identification correspondent par défaut à des autorisations basées sur les ressources qui doivent être ajoutées manuellement pour permettre l'accès API à la ressource. Pour de plus amples informations, veuillez consulter Accord d'autorisations à l'aide d'une stratégie de ressources. Remarque : Lorsque vous utilisez des IAM informations d'identification, assurez-vous que les points de terminaison AWS STS régionaux sont activés pour la région dans laquelle ils API sont déployés pour de meilleures performances. |
contentHandling |
string |
Types de conversion de l'encodage des charges utiles de la demande. Les valeurs valides sont 1) CONVERT_TO_TEXT , pour la conversion d'une charge utile binaire en chaîne encodée en base64 ou pour la conversion d'une charge utile de texte en chaîne encodée en utf-8 ou pour le passage de la charge utile de texte en mode natif sans modification, et 2) CONVERT_TO_BINARY , pour la conversion d'une charge utile de texte en bloc encodé en base64 ou le passage par une charge utile binaire en mode natif sans modification. |
httpMethod |
string |
HTTPMéthode utilisée dans la demande d'intégration. Pour les appels de fonction Lambda, la valeur doit être POST . |
integrationSubtype |
string |
Spécifie le sous-type d'intégration pour une intégration AWS de services. Pris en charge uniquement pour HTTPAPIs. Pour connaître les sous-types d'intégration pris en charge, veuillez consulter Référence de sous-type d'intégration. |
passthroughBehavior |
string |
Spécifie comment une charge utile de demande d'un type de contenu non mappé est transmise par le biais de la demande d'intégration sans modification. Les valeurs prises en charge sont when_no_templates , when_no_match et never . Pour plus d'informations, consultez la section Intégration. passthroughBehavior. |
payloadFormatVersion |
string |
Spécifie le format de la charge utile envoyée à une intégration. Nécessaire pour HTTPAPIs. Pour HTTPAPIs, les valeurs prises en charge pour les intégrations de proxy Lambda sont et. 1.0 2.0 Pour toutes les autres intégrations, 1.0 est la seule valeur prise en charge. Pour en savoir plus, consultez Création d'intégrations de AWS Lambda proxy pour HTTP APIs dans Gateway API et Référence de sous-type d'intégration. |
requestParameters |
x-amazon-apigateway-integration. requestParameters objet | Pour RESTAPIs, spécifie les mappages entre les paramètres de demande de méthode et les paramètres de demande d'intégration. Les paramètres de demande pris en charge sont En effet HTTPAPIs, les paramètres de demande sont une carte clé-valeur spécifiant les paramètres qui sont transmis aux |
requestTemplates |
x-amazon-apigateway-integration. requestTemplates objet | Modèles de mappage pour une charge utile de demande de MIME types spécifiés. |
responses |
x-amazon-apigateway-integrationobjet .responses | Définit les réponses de la méthode et spécifie les mappages de paramètres souhaités ou les mappages de charge utile des réponses d'intégration aux réponses de méthode. |
timeoutInMillis |
integer |
Délais d'expiration de l'intégration compris entre 50 ms et 29 000 ms. |
type |
string |
Type d'intégration au backend spécifié. Les valeurs valides sont :
Pour de plus amples informations sur les types d'intégrations, veuillez consulter integration:type. |
tlsConfig |
x-amazon-apigateway-integration. tlsConfig objet | Spécifie la TLS configuration d'une intégration. |
uri |
string |
Le point URI de terminaison du backend. Pour les intégrations de ce aws type, il s'agit d'une ARN valeur. Pour l'HTTPintégration, il s'agit du HTTP point URL de terminaison, y compris le http schéma https or. |
x-amazon-apigateway-integration exemples
En HTTP APIs effet, vous pouvez définir des intégrations dans la section des composants de votre API définition ouverte. Pour en savoir plus, consultez la section x-amazon-apigateway-integrations objet.
"x-amazon-apigateway-integration": { "$ref": "#/components/x-amazon-apigateway-integrations/
integration1
" }
L'exemple suivant crée une intégration avec une fonction Lambda. À des fins de démonstration, les exemples de modèles responseTemplates
de mappage présentés dans requestTemplates
et parmi les exemples ci-dessous sont supposés s'appliquer à la charge utile JSON formatée suivante : {
"name":"value_1", "key":"value_2", "redirect": {"url" :"..."} }
pour générer une JSON sortie de { "stage":"value_1", "user-id":"value_2" }
ou une XML sortie de. <stage>value_1</stage>
"x-amazon-apigateway-integration" : { "type" : "aws", "uri" : "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:012345678901:function:HelloWorld/invocations", "httpMethod" : "POST", "credentials" : "arn:aws:iam::012345678901:role/apigateway-invoke-lambda-exec-role", "requestTemplates" : { "application/json" : "#set ($root=$input.path('$')) { \"stage\": \"$root.name\", \"user-id\": \"$root.key\" }", "application/xml" : "#set ($root=$input.path('$')) <stage>$root.name</stage> " }, "requestParameters" : { "integration.request.path.
stage
" : "method.request.querystring.version
", "integration.request.querystring.provider
" : "method.request.querystring.vendor
" }, "cacheNamespace" : "cache namespace", "cacheKeyParameters" : [], "responses" : { "2\\d{2}" : { "statusCode" : "200", "responseParameters" : { "method.response.header.requestId
" : "integration.response.header.cid
" }, "responseTemplates" : { "application/json" : "#set ($root=$input.path('$')) { \"stage\": \"$root.name\", \"user-id\": \"$root.key\" }", "application/xml" : "#set ($root=$input.path('$')) <stage>$root.name</stage> " } }, "302" : { "statusCode" : "302", "responseParameters" : { "method.response.header.Location" : "integration.response.body.redirect.url
" } }, "default" : { "statusCode" : "400", "responseParameters" : { "method.response.header.test-method-response-header
" : "'static value'
" } } } }
Notez que les guillemets («) pour la JSON chaîne dans les modèles de mappage doivent être exempts de chaînes (\ »).