

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

# Creazione di un'implementazione per una REST API in Gateway API
<a name="set-up-deployments"></a>

 In API Gateway una distribuzione di API REST è rappresentata da una risorsa [Distribuzione](https://docs.aws.amazon.com/apigateway/latest/api/API_Deployment.html). È simile a un eseguibile di un'API rappresentato da una risorsa [RestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html). 

Per consentire al client di chiamare l'API, è necessario creare una distribuzione e associarvi una fase. Una fase è rappresentata da una risorsa [Fase](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html). Rappresenta una snapshot dell'API, inclusi metodi, integrazioni, modelli, modelli di mappatura e autorizzazioni Lambda (in precedenza note come autorizzazioni ad hoc). Quando si aggiorna l'API, è possibile ridistribuirla associando una nuova fase alla distribuzione esistente. La procedura di creazione di una fase è illustrata in [Configurazione di una fase per una REST API in Gateway API](set-up-stages.md).

**Topics**
+ [Crea distribuzione](#create-deployment)
+ [Fasi successive per l'implementazione di un'API](#apigateway-deployment-next-steps)

## Crea distribuzione
<a name="create-deployment"></a>

Le procedure seguenti mostrano come creare l'implementazione di una REST API.

------
#### [ Console di gestione AWS ]

 Per poter distribuire un'API REST per la prima volta, è necessario crearla. Per ulteriori informazioni, consulta [Sviluppa REST APIs in API Gateway](rest-api-develop.md). 

 La console API Gateway consente di distribuire un'API creando una distribuzione e associandola a una fase nuova o esistente. 

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

1.  Nel riquadro di navigazione **APIs (API)** scegliere l'API che si desidera distribuire. 

1. Nel riquadro **Resources (Risorse)** scegliere **Deploy API (Distribuisci API)**.

1. In **Fase**, procedi come segue:

   1. Per creare una nuova fase, seleziona **Nuova fase**, quindi immetti un nome in **Nome fase**. Facoltativamente, puoi immettere una descrizione dell'implementazione in **Descrizione distribuzione**.

   1. Per scegliere una fase esistente, seleziona il nome della fase nel menu a discesa. Se lo desideri, puoi specificare una descrizione della nuova implementazione in **Descrizione distribuzione**.

   1. Per creare un'implementazione non associata a una fase, seleziona **Nessuna fase**. Successivamente, puoi associare questa implementazione a una fase.

1. Seleziona **Deploy (Implementa)**.

------
#### [ AWS CLI ]

Quando si crea una distribuzione, viene creata un'istanza della risorsa [Distribuzione](https://docs.aws.amazon.com/apigateway/latest/api/API_Deployment.html).

Il comando [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) seguente crea una nuova implementazione:

```
 aws apigateway create-deployment --rest-api-id rest-api-id
```

Non è possibile chiamare l’API fino a quando non si associa questa implementazione a una fase. Con una fase esistente, è possibile eseguire questa operazione aggiornando la proprietà [deploymentId](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#deploymentId) della fase con l’ID di implementazione appena creato. Il comando [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) seguente aggiorna la fase con una nuova implementazione. Nella console, questa azione è chiamata **Implementazione attiva**.

```
 aws apigateway update-stage \
    --rest-api-id rest-api-id \ 
    --stage-name 'stage-name' \ 
    --patch-operations op='replace',path='/deploymentId',value='deployment-id'
```

Quando si crea l’implementazione, è possibile contemporaneamente associarla a una nuova fase. Il comando [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) seguente crea una nuova implementazione e la associa a una nuova fase chiamata `beta`:

```
 aws apigateway create-deployment \
    --rest-api-id rest-api-id \
    --stage-name beta
```

------

Per implementare nuovamente un'API, esegui la stessa procedura. È possibile riutilizzare la stessa fase.

## Fasi successive per l'implementazione di un'API
<a name="apigateway-deployment-next-steps"></a>

Di seguito sono riportati i passaggi successivi per l'implementazione dell'API.

Modifica delle impostazioni di fase  
Dopo che un'API è stata distribuita, puoi modificare le impostazioni delle fasi per abilitare o disabilitare la cache, la registrazione o il throttling delle richieste dell'API. Puoi inoltre scegliere un certificato client per consentire al back-end di autenticare API Gateway e impostare le variabili delle fasi per passare il contesto della distribuzione all'integrazione dell'API al runtime. Per ulteriori informazioni, consulta [Modifica delle impostazioni di fase](set-up-stages.md#how-to-stage-settings)  
Dopo avere modificato le impostazioni della fase, per renderle effettive sarà necessario eseguire di nuovo la ridistribuzione dell'API.  
 Se le impostazioni aggiornate, come l'abilitazione della registrazione, richiedono un nuovo ruolo IAM, puoi aggiungere il ruolo IAM richiesto senza ridistribuire l'API. Tuttavia potrebbero essere necessari alcuni minuti prima che il nuovo ruolo IAM diventi effettivo. Fino ad allora, le tracce delle chiamate API non vengono registrate, anche se hai abilitato l'opzione di registrazione. 

Scelta di diverse combinazioni di fase-implementazione  
 Dal momento che una distribuzione rappresenta una snapshot dell'API e una fase definisce un percorso in una snapshot, puoi scegliere combinazioni diverse di distribuzione-fase per controllare il modo in cui gli utenti effettuano chiamate nelle diverse versioni dell'API. Ciò risulta utile se ad esempio desideri eseguire il rollback a uno stato precedente della distribuzione dell'API o unire una branca privata dell'API in quella pubblica.   
 La procedura seguente illustra come eseguire questa operazione tramite **Stage Editor (Editor fasi)** nella console API Gateway. Si presume che un'API sia stata distribuita più di una volta.   

1. Se non sei già nel riquadro **Fasi**, nel pannello di navigazione principale, scegli **Fasi**.

1. Seleziona la fase da aggiornare.

1. Nella scheda **Cronologia delle distribuzioni** seleziona l'implementazione da utilizzare per la fase. 

1. Scegli **Cambia implementazione attiva**.

1. Conferma di voler cambiare l'implementazione attiva e scegli **Cambia implementazione attiva** nella finestra di dialogo **Rendi attiva l'implementazione**.

Passare i dati specifici dell'implementazione all'API.  
 Per una distribuzione, puoi impostare o modificare le variabili delle fasi per passare i dati specifici della distribuzione all'integrazione dell'API in fase di runtime. Puoi eseguire questa operazione nella scheda **Stage Variables (Variabili di fase)** in **Stage Editor (Editor fasi)**. Per ulteriori informazioni, consulta le istruzioni in [Utilizzo delle variabili di fase per una REST API in Gateway API](stage-variables.md).