

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.

# Création d'intégrations de AWS services pour HTTP APIs dans API Gateway
<a name="http-api-develop-integrations-aws-services"></a>

Vous pouvez intégrer votre API HTTP à des AWS services en utilisant des *intégrations de premier ordre*. Une intégration de première classe connecte une route API HTTP à une API de service AWS . Lorsqu'un client invoque une route soutenue par une intégration de premier ordre, API Gateway invoque une API de AWS service pour vous. Par exemple, vous pouvez utiliser des intégrations de premier ordre pour envoyer un message à une file d'attente Amazon Simple Queue Service ou pour démarrer une machine à AWS Step Functions états. Pour connaître les actions de service prises en charge, consultez [Référence de sous-type d’intégration](http-api-develop-integrations-aws-services-reference.md).

## Paramètres de demande de mappage
<a name="http-api-develop-integrations-aws-services-parameter-mapping"></a>

Les intégrations de première classe ont des paramètres requis et des paramètres facultatifs. Vous devez configurer tous les paramètres requis pour créer une intégration. Vous pouvez utiliser des valeurs statiques ou des paramètres de mappage évalués de manière dynamique lors de l’exécution. Pour obtenir la liste complète des intégrations et des paramètres pris en charge, consultez [Référence de sous-type d’intégration](http-api-develop-integrations-aws-services-reference.md).

Le tableau suivant décrit les paramètres de demande de mappage pris en charge.


| Type | Exemple | Remarques | 
| --- | --- | --- | 
| Valeur d'en-tête | \$1request.header. name | Les noms d'en-tête ne sont pas sensibles à la casse. API Gateway combine plusieurs valeurs d'en-tête avec des virgules, par exemple "header1": "value1,value2". | 
| Valeur de chaîne de requête | \$1request.querystring. name | Les noms de chaîne de requête sont sensibles à la casse. API Gateway combine plusieurs valeurs avec des virgules, par exemple "querystring1": "Value1,Value2". | 
| Paramètre de chemin | \$1request.path. name | Valeur d'un paramètre de chemin dans la demande. Par exemple, si la route est /pets/\$1petId\$1, vous pouvez mapper le paramètre petId de la demande avec \$1request.path.petId. | 
| Transmission de corps de demande | \$1request.body | API Gateway transmet l’ensemble du corps de la demande. | 
| Corps de la demande | \$1request.body. name | [Expression de chemin JSON](https://goessner.net/articles/JsonPath/index.html#e2). La descente récursive (\$1request.body..name) et les expressions de filtre (?(expression)) ne sont pas prises en charge.  Lorsque vous spécifiez un chemin JSON, API Gateway tronque le corps de la requête à 100 Ko, puis applique l'expression de sélection. Pour envoyer des charges utiles supérieures à 100 Ko, spécifiez `$request.body`.   | 
| Variable de contexte | \$1contexte. variableName | Valeur d'une [variable de contexte](http-api-logging-variables.md) prise en charge. | 
| Variable d'étape | \$1StageVariables. variableName | Valeur d'une [variable d'étape](http-api-stages.stage-variables.md). | 
| Valeur statique | string | Valeur constante. | 

## Créer une intégration de première classe
<a name="http-api-develop-integrations-aws-services-example"></a>

Avant de créer une intégration de premier ordre, vous devez créer un rôle IAM qui accorde à API Gateway les autorisations nécessaires pour appeler l'action de AWS service à laquelle vous effectuez l'intégration. Pour en savoir plus, consultez [Création d’un rôle pour un service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

Pour créer une intégration de premier ordre, choisissez une action de AWS service prise en charge, par exemple`SQS-SendMessage`, configurez les paramètres de demande et fournissez un rôle qui accorde à API Gateway les autorisations nécessaires pour appeler l'API du AWS service intégré. Selon le sous-type d’intégration, différents paramètres de demande sont requis. Pour en savoir plus, consultez la section [Référence de sous-type d’intégration](http-api-develop-integrations-aws-services-reference.md).

La commande [create-integration](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-integration.html) suivante crée une intégration qui envoie un message Amazon SQS.

```
aws apigatewayv2 create-integration \
    --api-id abcdef123 \
    --integration-subtype SQS-SendMessage \
    --integration-type AWS_PROXY \
    --payload-format-version 1.0 \
    --credentials-arn arn:aws:iam::123456789012:role/apigateway-sqs \
    --request-parameters '{"QueueUrl": "$request.header.queueUrl", "MessageBody": "$request.body.message"}'
```

## Créez une intégration de premier ordre en utilisant CloudFormation
<a name="http-api-develop-integrations-aws-services-example-cfn"></a>

L'exemple suivant montre un CloudFormation extrait qui crée un `/{source}/{detailType}` itinéraire avec une intégration de premier ordre avec Amazon. EventBridge

Le paramètre `Source` est mappé au paramètre de chemin `{source}`, le paramètre `DetailType` au paramètre de chemin `{DetailType}` et le paramètre `Detail` au corps de la demande.

L’extrait n’affiche pas le bus d’événements ni le rôle IAM qui accorde à API Gateway les autorisations nécessaires pour invoquer l’action `PutEvents`.

```
Route:
    Type: AWS::ApiGatewayV2::Route
    Properties:
      ApiId: !Ref HttpApi
      AuthorizationType: None
      RouteKey: 'POST /{source}/{detailType}'
      Target: !Join 
        - /
        - - integrations
          - !Ref Integration
  Integration:
    Type: AWS::ApiGatewayV2::Integration
    Properties:
      ApiId: !Ref HttpApi
      IntegrationType: AWS_PROXY
      IntegrationSubtype: EventBridge-PutEvents
      CredentialsArn: !GetAtt EventBridgeRole.Arn
      RequestParameters:
        Source: $request.path.source
        DetailType: $request.path.detailType
        Detail: $request.body
        EventBusName: !GetAtt EventBus.Arn
      PayloadFormatVersion: "1.0"
```

# Référence de sous-type d’intégration
<a name="http-api-develop-integrations-aws-services-reference"></a>

Les [sous-types d’intégration](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis-apiid-integrations-integrationid.html#apis-apiid-integrations-integrationid-prop-integration-integrationsubtype) suivants sont pris en charge pour les API HTTP.

**Topics**
+ [EventBridge-PutEvents 1.0](#EventBridge-PutEvents)
+ [SQS-SendMessage 1.0](#SQS-SendMessage)
+ [SQS-ReceiveMessage 1.0](#SQS-ReceiveMessage)
+ [SQS-DeleteMessage 1.0](#SQS-DeleteMessage)
+ [SQS-PurgeQueue 1.0](#SQS-PurgeQueue)
+ [AppConfig-GetConfiguration 1.0](#AppConfig-GetConfiguration)
+ [Kinesis-PutRecord 1.0](#Kinesis-PutRecord)
+ [StepFunctions-StartExecution 1.0](#StepFunctions-StartExecution)
+ [StepFunctions-StartSyncExecution 1.0](#StepFunctions-StartSyncExecution)
+ [StepFunctions-StopExecution 1.0](#StepFunctions-StopExecution)

## EventBridge-PutEvents 1.0
<a name="EventBridge-PutEvents"></a>

Envoie des événements personnalisés à Amazon EventBridge afin qu’ils puissent être mis en correspondance avec les règles.


| Paramètre | Obligatoire | 
| --- | --- | 
| Detail | Vrai | 
| DetailType | Vrai | 
| Source | Vrai | 
| Heure | Faux | 
| EventBusName | Faux | 
| Ressources | Faux | 
| Région | Faux | 
| TraceHeader | Faux | 

Pour en savoir plus, consultez [PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html) dans le document *Référence des API Amazon EventBridge*.

## SQS-SendMessage 1.0
<a name="SQS-SendMessage"></a>

Remet un message dans la file d’attente spécifiée.


| Paramètre | Obligatoire | 
| --- | --- | 
| QueueUrl | Vrai | 
| MessageBody | Vrai | 
| DelaySeconds | Faux | 
| MessageAttributes | Faux | 
| MessageDeduplicationId | Faux | 
| MessageGroupId | Faux | 
| MessageSystemAttributes | Faux | 
| Région | Faux | 

Pour en savoir plus, consultez [SendMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) dans le document *Référence des API Amazon Simple Queue Service*.

## SQS-ReceiveMessage 1.0
<a name="SQS-ReceiveMessage"></a>

Extrait un ou plusieurs messages (jusqu’à 10) de la file d’attente spécifiée.


| Paramètre | Obligatoire | 
| --- | --- | 
| QueueUrl | Vrai | 
| AttributeNames | Faux | 
| MaxNumberOfMessages | Faux | 
| MessageAttributeNames | Faux | 
| ReceiveRequestAttemptId | Faux | 
| VisibilityTimeout | Faux | 
| WaitTimeSeconds | Faux | 
| Région | Faux | 

Pour en savoir plus, consultez [ReceiveMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) dans le document *Référence des API Amazon Simple Queue Service*.

## SQS-DeleteMessage 1.0
<a name="SQS-DeleteMessage"></a>

Supprime le message spécifié de la file d’attente désignée.


| Paramètre | Obligatoire | 
| --- | --- | 
| ReceiptHandle | Vrai | 
| QueueUrl | Vrai | 
| Région | Faux | 

Pour en savoir plus, consultez [DeleteMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html) dans le document *Référence des API Amazon Simple Queue Service*.

## SQS-PurgeQueue 1.0
<a name="SQS-PurgeQueue"></a>

Supprime tous les messages de la file d’attente spécifiée.


| Paramètre | Obligatoire | 
| --- | --- | 
| QueueUrl | Vrai | 
| Région | Faux | 

Pour en savoir plus, consultez [PurgeQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html) dans le document *Référence des API Amazon Simple Queue Service*.

## AppConfig-GetConfiguration 1.0
<a name="AppConfig-GetConfiguration"></a>

Reçoit des informations sur une configuration.


| Paramètre | Obligatoire | 
| --- | --- | 
| Application | Vrai | 
| Environnement | Vrai | 
| Configuration | Vrai | 
| ClientId | Vrai | 
| ClientConfigurationVersion | Faux | 
| Région | Faux | 

Pour en savoir plus, consultez [GetConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html) dans la *Référence de l’API AWS AppConfig*.

## Kinesis-PutRecord 1.0
<a name="Kinesis-PutRecord"></a>

Écrit un enregistrement de données unique dans Amazon Kinesis Data Stream.


| Paramètre | Obligatoire | 
| --- | --- | 
| StreamName | Vrai | 
| non structurées | Vrai | 
| PartitionKey | Vrai | 
| SequenceNumberForOrdering | Faux | 
| ExplicitHashKey | Faux | 
| Région | Faux | 

Pour en savoir plus, consultez [PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html) dans le document *Référence des API Amazon Kinesis Data Streams*.

## StepFunctions-StartExecution 1.0
<a name="StepFunctions-StartExecution"></a>

Démarre l’exécution d’une machine d’état.


| Paramètre | Obligatoire | 
| --- | --- | 
| StateMachineArn | Vrai | 
| Nom | Faux | 
| Entrée | Faux | 
| Région | Faux | 

Pour en savoir plus, consultez [StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html) dans la *Référence de l’API AWS Step Functions*.

## StepFunctions-StartSyncExecution 1.0
<a name="StepFunctions-StartSyncExecution"></a>

Démarre une exécution de machine d’état synchrone.


| Paramètre | Obligatoire | 
| --- | --- | 
| StateMachineArn | Vrai | 
| Nom | Faux | 
| Entrée | Faux | 
| Région | Faux | 
| TraceHeader | Faux | 

Pour en savoir plus, consultez [StartSyncExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartSyncExecution.html) dans la *Référence de l’API AWS Step Functions*.

## StepFunctions-StopExecution 1.0
<a name="StepFunctions-StopExecution"></a>

Arrête une exécution.


| Paramètre | Obligatoire | 
| --- | --- | 
| ExecutionArn | Vrai | 
| Cause | Faux | 
| Erreur | Faux | 
| Région | Faux | 

Pour en savoir plus, consultez [StopExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StopExecution.html) dans la *Référence de l’API AWS Step Functions*.