

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

# Tutorial: creare un'API REST con un' AWS integrazione
<a name="getting-started-aws-proxy"></a>

 Gli argomenti [Tutorial: creazione di una REST API con un'integrazione proxy Lambda](api-gateway-create-api-as-simple-proxy-for-lambda.md) e [Tutorial: creazione di una REST API con un'integrazione non proxy Lambda](getting-started-lambda-non-proxy-integration.md) descrivono entrambi come creare un'API di API Gateway per esporre la funzione Lambda integrata. Inoltre, puoi creare un'API API Gateway per esporre altri AWS servizi, come Amazon SNS, Amazon S3, Amazon Kinesis e persino. AWS Lambda Questo è possibile grazie all'integrazione di `AWS`. L'integrazione Lambda o l'integrazione proxy Lambda è un caso speciale, in cui la chiamata della funzione Lambda viene esposta tramite l'API di API Gateway. 

 Tutti i AWS servizi supportano un supporto dedicato per esporre APIs le proprie funzionalità. Tuttavia, è probabile che i protocolli applicativi o le interfacce di programmazione differiscano da servizio a servizio. Un'API API Gateway con `AWS` integrazione ha il vantaggio di fornire un protocollo applicativo coerente per consentire al cliente di accedere a diversi AWS servizi. 

 In questa procedura guidata creeremo un'API per esporre Amazon SNS. Per altri esempi di integrazione di un'API con altri AWS servizi, consulta[Tutorial e workshop di Amazon API Gateway](api-gateway-tutorials.md). 

 Diversamente dall'integrazione proxy Lambda, non esiste un'integrazione proxy corrispondente per altri servizi AWS . Pertanto, un metodo API è integrato con una singola AWS azione. Per ottenere maggiore flessibilità, analogamente all'integrazione proxy, puoi configurare l'integrazione proxy Lambda. La funzione Lambda quindi analizza ed elabora le richieste di altre azioni. AWS 

 API Gateway non esegue un nuovo tentativo quando si verifica il timeout dell'endpoint. La chiamata API deve implementare una logica di ripetizione per gestire i timeout degli endpoint. 

 Questa procedura dettagliata si basa sulle istruzioni e sui concetti riportati in [Tutorial: creazione di una REST API con un'integrazione non proxy Lambda](getting-started-lambda-non-proxy-integration.md). Se la procedura dettagliata non è ancora stata completata, è consigliabile eseguirla ora prima di proseguire. 



**Topics**
+ [Prerequisiti](#getting-started-aws-proxy-prerequisites)
+ [Fase 1: creare il ruolo di esecuzione del proxy del AWS servizio](#getting-started-aws-proxy-add-roles)
+ [Fase 2: creazione della risorsa](#getting-started-aws-proxy-add-resources)
+ [Fase 3: creazione del metodo GET](#getting-started-aws-proxy-add-methods)
+ [Fase 4: specifica delle impostazioni del metodo e test del metodo](#getting-started-aws-proxy-set-methods)
+ [Fase 5: distribuzione dell'API](#getting-started-aws-proxy-deploy)
+ [Fase 6: test dell'API](#getting-started-aws-proxy-test)
+ [Fase 7: pulire](#getting-started-aws-proxy-clean-up)

## Prerequisiti
<a name="getting-started-aws-proxy-prerequisites"></a>

Prima di iniziare questa procedura guidata, esegui queste operazioni:

1. Completa le fasi descritte in [Configurazione per l'utilizzo di Gateway API](setting-up.md).

1.  Crea una nuova API denominata `MyDemoAPI`. Per ulteriori informazioni, consulta [Tutorial: creazione di una REST API con un'integrazione non proxy HTTP](api-gateway-create-api-step-by-step.md). 

1. Distribuisci l'API almeno una volta in una fase denominata `test`. Per ulteriori informazioni, consulta la pagina relativa alla [distribuzione dell'API](getting-started-lambda-non-proxy-integration.md#getting-started-deploy-api) in [Scegli un tutorial di integrazione AWS Lambda](getting-started-with-lambda-integration.md).

1. Completa le altre fasi descritte in [Scegli un tutorial di integrazione AWS Lambda](getting-started-with-lambda-integration.md).

1. Crea almeno un argomento in Amazon Simple Notification Service (Amazon SNS). Utilizzerai l'API distribuita per ottenere un elenco di argomenti in Amazon SNS associati AWS al tuo account. Per informazioni su come creare un argomento in Amazon SNS, consulta [Creazione di un argomento](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html). Non devi copiare l'ARN dell'argomento citato nella fase 5.

## Fase 1: creare il ruolo di esecuzione del proxy del AWS servizio
<a name="getting-started-aws-proxy-add-roles"></a>

 Per permettere all'API di richiamare le operazioni Amazon SNS necessarie, devi aver collegato le policy IAM appropriate a un ruolo IAM. In questo passaggio si crea un nuovo ruolo IAM.

**Per creare il ruolo di esecuzione del proxy di AWS servizio**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Scegliere **Roles (Ruoli)**.

1. Scegli **Crea ruolo**.

1.  Scegli il **AWS servizio** in **Seleziona il tipo di entità affidabile**, quindi seleziona **API Gateway** e seleziona Consenti **a API Gateway di inviare i log ai CloudWatch log**.

1.  Scegli **Successivo** e di nuovo **Successivo**.

1. In **Role name (Nome ruolo)** immettere **APIGatewaySNSProxyPolicy** e quindi selezionare **Create role (Crea ruolo)**.

1. Nell'elenco **Roles (Ruoli)** scegliere il ruolo appena creato. Potrebbe essere necessario scorrere o utilizzare la barra di ricerca per trovare il ruolo.

1. Per il ruolo selezionato, seleziona la scheda **Aggiungi autorizzazioni**.

1. Dall'elenco a discesa scegli **Collega policy**.

1. Nella barra di ricerca inserisci **AmazonSNSReadOnlyAccess** e scegli **Aggiungi autorizzazioni**. 
**Nota**  
Per semplicità, questo tutorial utilizza una policy gestita. Come best practice, dovresti creare la tua policy IAM per concedere le autorizzazioni minime richieste. 

1. Annota l'**ARN del ruolo** appena creato, lo utilizzerai in seguito.

## Fase 2: creazione della risorsa
<a name="getting-started-aws-proxy-add-resources"></a>

In questo passaggio, crei una risorsa che consente al proxy del AWS servizio di interagire con il AWS servizio.

**Per creare la risorsa**

1. Accedi alla console API Gateway all'indirizzo [https://console.aws.amazon.com/apigateway.](https://console.aws.amazon.com/apigateway)

1. Scegliere l'API.

1. Seleziona la risorsa root **/**, rappresentata da una singola barra (**/**), quindi scegli **Crea risorsa**.

1. Mantieni l'opzione **Risorsa proxy** disattivata.

1. Mantieni **Percorso risorsa** impostato su `/`.

1. Per **Resource Name (Nome risorsa)** immetti **mydemoawsproxy**.

1. Mantieni **CORS (Cross Origin Resource Sharing)** disattivato.

1. Scegli **Crea risorsa**.

## Fase 3: creazione del metodo GET
<a name="getting-started-aws-proxy-add-methods"></a>

In questo passaggio, si crea un metodo GET che consente al proxy del AWS servizio di interagire con il servizio. AWS 

**Per creare il metodo `GET`**

1. Seleziona la risorsa **/mydemoawsproxy**, quindi scegli **Crea metodo**.

1. Per Tipo di metodo seleziona **GET**.

1. Per **Tipo di integrazione** seleziona **Servizio AWS**.

1. Per **Regione AWS**, seleziona l'argomento Regione AWS in cui hai creato il tuo Amazon SNS.

1. Per **Servizio AWS** seleziona **Amazon SNS**.

1. Lascia vuoto **Sottodominio AWS **.

1. Per **Metodo HTTP** seleziona **GET**.

1. Per **Tipo di operazione** scegli **Usa nome operazione**.

1. Per **Nome azione** immetti **ListTopics**.

1. Per **Ruolo di esecuzione** immetti l'ARN del ruolo per **APIGatewaySNSProxyPolicy**.

1. Scegli **Crea metodo**.

## Fase 4: specifica delle impostazioni del metodo e test del metodo
<a name="getting-started-aws-proxy-set-methods"></a>

A questo punto puoi testare il metodo `GET` per verificare che sia stato configurato correttamente per elencare gli argomenti Amazon SNS.

**Test del metodo `GET`**

1. Seleziona la scheda **Test**. Potrebbe essere necessario scegliere il pulsante freccia destra per visualizzare la scheda.

1. Scegli **Test (Esegui test)**.

   Il risultato mostra una risposta simile a quella riportata di seguito:

   ```
   {
     "ListTopicsResponse": {
       "ListTopicsResult": {
         "NextToken": null,
         "Topics": [
           {
             "TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-1"
           },
           {
             "TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-2"
           },
           ...
           {
             "TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-N"
           }
         ]
       },
       "ResponseMetadata": {
         "RequestId": "abc1de23-45fa-6789-b0c1-d2e345fa6b78"
       }
     }
   }
   ```

## Fase 5: distribuzione dell'API
<a name="getting-started-aws-proxy-deploy"></a>

In questa fase, viene distribuita l'API per poterla chiamare esternamente alla console API Gateway.

**Per distribuire l'API**

1. Seleziona **Deploy API (Distribuisci API)**.

1. In **Fase**, seleziona **Nuova fase**.

1. In **Stage name (Nome fase)** immettere **test**.

1. (Facoltativo) In **Descrizione**, immetti una descrizione.

1. Selezionare **Deploy (Distribuisci)**.

## Fase 6: test dell'API
<a name="getting-started-aws-proxy-test"></a>

In questa fase, esci dalla console API Gateway e utilizzi il proxy del AWS servizio per interagire con il servizio Amazon SNS.

1. Nel pannello di navigazione principale scegli **Fase**.

1. In **Dettagli fase**, scegli l'icona Copia per copiare l'URL di richiamo dell'API.

   L'URL dovrebbe essere simile a questo:

   ```
   https://my-api-id.execute-api.region-id.amazonaws.com/test
   ```

1. Immetti l'URL nella barra degli indirizzi di una nuova scheda del browser.

1. Aggiungi `/mydemoawsproxy` in modo che l'URL sia simile al seguente:

   ```
   https://my-api-id.execute-api.region-id.amazonaws.com/test/mydemoawsproxy
   ```

   Accedi all'URL. Verranno visualizzate informazioni simili alle seguenti:

   ```
   {"ListTopicsResponse":{"ListTopicsResult":{"NextToken": null,"Topics":[{"TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-1"},{"TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-2"},...{"TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-N}]},"ResponseMetadata":{"RequestId":"abc1de23-45fa-6789-b0c1-d2e345fa6b78}}}
   ```

## Fase 7: pulire
<a name="getting-started-aws-proxy-clean-up"></a>

Puoi eliminare le risorse IAM necessarie al proxy del AWS servizio per funzionare.

**avvertimento**  
Se elimini una risorsa IAM su cui si basa un proxy di AWS servizio, quel proxy di AWS servizio e tutti quelli APIs che si basano su di essa non funzioneranno più. L'eliminazione di una risorsa IAM non può essere annullata. Per usare di nuovo la risorsa IAM, è necessario ricrearla.

**Per eliminare le risorse IAM associate**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nell'area **Details (Dettagli)** scegliere **Roles (Ruoli)**.

1. Selezionare **APIGatewayAWSProxyExecRole** e quindi scegliere **Role Actions (Operazioni ruolo)**, **Delete Role (Elimina ruolo)**. Quando viene richiesto, scegliere **Yes, Delete (Sì, elimina)**.

1. Nell'area **Details (Dettagli)** scegliere **Policies (Policy)**.

1. Selezionare **APIGatewayAWSProxyExecPolicy** e quindi scegliere **Policy actions (Operazioni policy)**, **Delete (Elimina)**. Quando viene richiesto, scegliere **Delete (Elimina)**.

 Hai completato questa procedura guidata. Per discussioni più dettagliate sulla creazione di API come proxy di AWS servizio, consulta [Tutorial: creazione di una REST API come un proxy Amazon S3](integrating-api-with-aws-services-s3.md)[Tutorial: crea un'API REST per calcolatrice con due integrazioni AWS di servizi e un'integrazione non proxy Lambda](integrating-api-with-aws-services-lambda.md), o[Tutorial: creazione di un'API REST come un proxy Amazon Kinesis](integrating-api-with-aws-services-kinesis.md). 