

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: creazione di una REST API con un'integrazione proxy Lambda multi-account
<a name="apigateway-cross-account-lambda-integrations"></a>

Ora puoi utilizzare una AWS Lambda funzione di un altro AWS account come backend di integrazione delle API. Ogni account può trovarsi in qualsiasi regione in cui è disponibile Amazon API Gateway. Ciò semplifica la gestione e la condivisione centralizzata delle funzioni di backend Lambda tra più utenti. APIs

In questa sezione, viene illustrato come configurare l'integrazione proxy Lambda tra più account utilizzando la console Amazon API Gateway.

## Creazione di un'API per l'integrazione Lambda tra più account API Gateway
<a name="apigateway-cross-account-lambda-integrations-create-api"></a>

**Come creare un’API**

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

1. Se si utilizza API Gateway per la prima volta, verrà visualizzata una pagina che presenta le caratteristiche del servizio. In **API REST**, scegliere **Crea**. Quando appare il popup **Create Example API (Crea API di esempio)**, scegliere **OK**.

   Se non è la prima volta che si utilizza API Gateway, scegliere **Create API (Crea API)**. In **API REST**, scegliere **Crea**.

1.  Per **API name (Nome API)**, immettere **CrossAccountLambdaAPI**.

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

1. Lasciare l'opzione **Tipo di endpoint API** impostata su **Regionale**.

1. Per il tipo di **indirizzo IP**, selezionare. **IPv4**

1. Seleziona **Create API** (Crea API).

## Creazione di una funzione di integrazione Lambda in un altro account
<a name="apigateway-cross-account-lambda-integrations-create-lambda-function"></a>

Viene ora creata una funzione Lambda in un account diverso da quello in cui hai creato l'API di esempio.

**Creazione di una funzione Lambda in un altro account**

1. Accedere alla console Lambda in un account diverso da quello in cui è stata creata l'API di API Gateway.

1. Selezionare **Create function (Crea funzione)**.

1. Scegli **Author from scratch** (Crea da zero).

1. In **Author from scratch (Crea da zero)**, effettuare le seguenti operazioni:

   1. Per **Function name (Nome funzione)** immettere un nome.

   1. Dall'elenco a discesa **Runtime**, scegliere un runtime Node.js supportato.

   1. Mantieni l'impostazione predefinita per **Architettura**.

   1. In **Autorizzazioni**, espandere **Scegli o crea un ruolo di esecuzione**. È possibile creare un ruolo o scegliere un ruolo esistente.

   1. Selezionare **Create function (Crea funzione)** per continuare.

1. Scorrere verso il basso fino al riquadro **Function code (Codice funzione)**.

1. Immetti l'implementazione della funzione Node.js da [Tutorial: creazione di una REST API con un'integrazione proxy Lambda](api-gateway-create-api-as-simple-proxy-for-lambda.md).

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

1. Prendere nota dell'ARN completo della funzione (nell'angolo in alto a destra del riquadro della funzione Lambda), in quanto sarà necessario per la creazione dell'integrazione Lambda tra più account.

## Configurazione dell'integrazione Lambda tra più account
<a name="apigateway-cross-account-lambda-integrations-create-integration2"></a>

Dopo la creazione di una funzione di integrazione Lambda in un altro account, puoi utilizzare la console API Gateway per aggiungerla all'API nel tuo primo account.

**Nota**  
Se si sta configurando una regione, un provider di autorizzazioni tra più account, `sourceArn` che viene aggiunto alla funzione di destinazione deve utilizzare la regione della funzione, non la regione dell'API.

Dopo l'API, è necessario creare una risorsa. In genere, le risorse API sono organizzate in una struttura di risorse in base alla logica dell'applicazione. In questo esempio crei una risorsa **/helloworld**. 

**Come creare una risorsa**

1. Scegli **Crea risorsa**.

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

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

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

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

1. Scegli **Crea risorsa**.

Dopo la risorsa, è necessario creare un metodo `GET`. Integra il metodo `GET` con una funzione Lambda in un altro account. 

**Creazione di un metodo `GET`**

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

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

1. Per **Tipo di integrazione** seleziona **Funzione Lambda**.

1. Attiva l'opzione **Integrazione proxy Lambda**.

1. Per **Funzione Lambda** immetti l'ARN completo della funzione Lambda dalla fase 1. 

   Nella console Lambda, puoi trovare l'ARN della funzione nell'angolo in alto a destra.

1. Quando immetti l'ARN, viene visualizzata una stringa di comando `aws lambda add-permission`. Questa policy fornisce al tuo primo account l'accesso alla funzione Lambda del secondo account. Copia e incolla la stringa di `aws lambda add-permission` comando in una AWS CLI finestra configurata per il secondo account.

1. Scegli **Crea metodo**.

Puoi visualizzare la policy aggiornata per la funzione nella console Lambda.

**(Facoltativo) Per visualizzare la policy aggiornata**

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

1. Seleziona la funzione Lambda.

1. Seleziona **Autorizzazioni**.

   Viene visualizzata una policy `Allow` con una clausola `Condition` in cui `AWS:SourceArn` è l'ARN per il metodo `GET` dell'API.