

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à.

# Crea integrazioni AWS di servizi per HTTP APIs in API Gateway
<a name="http-api-develop-integrations-aws-services"></a>

Puoi integrare la tua API HTTP con AWS i servizi utilizzando *integrazioni di prima classe*. Un'integrazione di prima classe collega una route di un'API HTTP a un'API di un servizio AWS . Quando un client richiama un percorso supportato da un'integrazione di prima classe, API Gateway richiama un' AWS API di servizio per te. Ad esempio, puoi utilizzare integrazioni di prima classe per inviare un messaggio a una coda di Amazon Simple Queue Service o per avviare una macchina a stati. AWS Step Functions Per le operazioni di servizio supportate, consulta [Riferimento al sottotipo di integrazione](http-api-develop-integrations-aws-services-reference.md).

## Mappatura dei parametri delle richieste
<a name="http-api-develop-integrations-aws-services-parameter-mapping"></a>

Le integrazioni di prima classe hanno parametri obbligatori e facoltativi. È necessario configurare tutti i parametri obbligatori per creare un'integrazione. È possibile utilizzare valori statici o mappare i parametri che vengono valutati dinamicamente in fase di runtime. Per un elenco completo delle integrazioni e dei parametri supportati, consulta [Riferimento al sottotipo di integrazione](http-api-develop-integrations-aws-services-reference.md).

Nella tabella seguente vengono descritti i parametri supportati della richiesta di mappatura.


| Tipo | Esempio | Note | 
| --- | --- | --- | 
| Valore intestazione | \$1request.header. name | I nomi delle intestazioni non fanno distinzione tra maiuscole e minuscole. API Gateway combina più valori di intestazione con virgole, ad esempio "header1": "value1,value2". | 
| Valore della stringa di query | \$1request.querystring. name | I nomi delle stringhe di query fanno distinzione tra maiuscole e minuscole. API Gateway combina più valori con virgole, ad esempio "querystring1": "Value1,Value2". | 
| Parametro del percorso | \$1richiesta.percorso. name | Il valore di un parametro del percorso nella richiesta. Ad esempio, se l'instradamento è /pets/\$1petId\$1, è possibile mappare il parametro petId della richiesta con \$1request.path.petId. | 
| Passthrough corpo richiesta | \$1request.body | API Gateway passa l'intero corpo della richiesta. | 
| Corpo della richiesta | \$1request.body. name | Un'[espressione di percorso JSON](https://goessner.net/articles/JsonPath/index.html#e2). Le espressioni di discesa ricorsiva (\$1request.body..name) e di filtro (?(expression)) non sono supportate.  Quando si specifica un percorso JSON, API Gateway tronca il corpo della richiesta a 100 KB e quindi applica l'espressione di selezione. Per inviare payload superiori a 100 KB, specificare `$request.body`.   | 
| Variabile di contesto | \$1contesto. variableName | Valore di una [variabile di contesto](http-api-logging-variables.md) supportata. | 
| Variabile di fase | \$1stageVariabili. variableName | Il valore di una [variabile di fase](http-api-stages.stage-variables.md). | 
| Valore statico | string | Un valore costante. | 

## Creazione di un'integrazione di prima classe
<a name="http-api-develop-integrations-aws-services-example"></a>

Prima di creare un'integrazione di prima classe, devi creare un ruolo IAM che conceda le autorizzazioni API Gateway per richiamare l'azione di AWS servizio con cui stai effettuando l'integrazione. Per ulteriori informazioni, consulta [Creazione di un ruolo per un servizio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

Per creare un'integrazione di prima classe, scegli un'azione di AWS servizio supportata`SQS-SendMessage`, ad esempio configura i parametri di richiesta e fornisci un ruolo che conceda le autorizzazioni API Gateway per richiamare l'API del servizio integrato. AWS A seconda del sottotipo di integrazione, sono necessari diversi parametri di richiesta. Per ulteriori informazioni, consulta [Riferimento al sottotipo di integrazione](http-api-develop-integrations-aws-services-reference.md).

Il comando [create-integration](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-integration.html) seguente crea un’integrazione che invia un messaggio 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"}'
```

## Crea un'integrazione di prima classe utilizzando CloudFormation
<a name="http-api-develop-integrations-aws-services-example-cfn"></a>

L'esempio seguente mostra uno CloudFormation snippet che crea un `/{source}/{detailType}` percorso con un'integrazione di prima classe con Amazon. EventBridge

Il parametro `Source` viene mappato al parametro del percorso `{source}`, `DetailType` viene mappato al parametro del percorso `{DetailType}` e il parametro `Detail` viene mappato al corpo della richiesta.

Lo snippet non mostra il router di eventi o il ruolo IAM che concede le autorizzazioni Gateway API per richiamare l'operazione `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"
```

# Riferimento al sottotipo di integrazione
<a name="http-api-develop-integrations-aws-services-reference"></a>

I seguenti [sottotipi di integrazione](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis-apiid-integrations-integrationid.html#apis-apiid-integrations-integrationid-prop-integration-integrationsubtype) sono supportati per le 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>

Invia eventi personalizzati ad Amazon EventBridge in modo che possano essere abbinati alle regole.


| Parametro | Campo obbligatorio | 
| --- | --- | 
| Dettaglio | True | 
| DetailType | True | 
| Crea | True | 
| Orario | False | 
| EventBusName | False | 
| Risorse | False | 
| Regione | False | 
| TraceHeader | False | 

Per ulteriori informazioni, consulta [PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html) nella *Guida di riferimento per le API di Amazon EventBridge*.

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

Recapita un messaggio alla coda specificata.


| Parametro | Campo obbligatorio | 
| --- | --- | 
| QueueUrl | True | 
| MessageBody | True | 
| DelaySeconds | False | 
| MessageAttributes | False | 
| MessageDeduplicationId | False | 
| MessageGroupId | False | 
| MessageSystemAttributes | False | 
| Regione | False | 

Per ulteriori informazioni, consulta [SendMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) nella *Guida di riferimento per le API di Amazon Simple Queue Service*.

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

Recupera uno o più messaggi (fino a 10) dalla coda specificata.


| Parametro | Campo obbligatorio | 
| --- | --- | 
| QueueUrl | True | 
| AttributeNames | False | 
| MaxNumberOfMessages | False | 
| MessageAttributeNames | False | 
| ReceiveRequestAttemptId | False | 
| VisibilityTimeout | False | 
| WaitTimeSeconds | False | 
| Regione | False | 

Per ulteriori informazioni, consulta [ReceiveMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) nella *Guida di riferimento per le API di Amazon Simple Queue Service*.

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

Elimina il messaggio specificato dalla coda specificata.


| Parametro | Campo obbligatorio | 
| --- | --- | 
| ReceiptHandle | True | 
| QueueUrl | True | 
| Regione | False | 

Per ulteriori informazioni, consulta [DeleteMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html) nella *Guida di riferimento per le API di Amazon Simple Queue Service*.

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

Elimina tutti i messaggi nella coda specificata.


| Parametro | Campo obbligatorio | 
| --- | --- | 
| QueueUrl | True | 
| Regione | False | 

Per ulteriori informazioni, consulta [PurgeQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html) nella *Guida di riferimento per le API di Amazon Simple Queue Service*.

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

Ricezione di informazioni su una configurazione.


| Parametro | Campo obbligatorio | 
| --- | --- | 
| Applicazione | True | 
| Ambiente | True | 
| Configurazione | True | 
| ClientId | True | 
| ClientConfigurationVersion | False | 
| Regione | False | 

Per ulteriori informazioni, consulta [GetConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html) in *Documentazione di riferimento delle API AWS AppConfig*.

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

Scrive un singolo record di dati in un flusso di dati di Amazon Kinesis.


| Parametro | Campo obbligatorio | 
| --- | --- | 
| StreamName | True | 
| Dati | True | 
| PartitionKey | True | 
| SequenceNumberForOrdering | False | 
| ExplicitHashKey | False | 
| Regione | False | 

Per ulteriori informazioni, consulta [PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html) nella *Guida di riferimento per le API di Amazon Kinesis Data Streams*.

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

Avvia l'esecuzione di una macchina a stati.


| Parametro | Campo obbligatorio | 
| --- | --- | 
| StateMachineArn | True | 
| Nome | False | 
| Input | False | 
| Regione | False | 

Per ulteriori informazioni, consulta [StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html) nella *Documentazione di riferimento delle API AWS Step Functions*.

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

Avvia un'esecuzione sincrona di una macchina a stati.


| Parametro | Campo obbligatorio | 
| --- | --- | 
| StateMachineArn | True | 
| Nome | False | 
| Input | False | 
| Regione | False | 
| TraceHeader | False | 

Per ulteriori informazioni, consulta [StartSyncExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartSyncExecution.html) nella *Documentazione di riferimento delle API AWS Step Functions*.

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

Interrompe un'esecuzione.


| Parametro | Campo obbligatorio | 
| --- | --- | 
| ExecutionArn | True | 
| Causa | False | 
| Errore | False | 
| Regione | False | 

Per ulteriori informazioni, consulta [StopExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StopExecution.html) nella *Documentazione di riferimento delle API AWS Step Functions*.