

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

# Installazione Finch per l'uso con la AWS SAM CLI
<a name="install-finch"></a>

Finch AWSè lo strumento di sviluppo di container che fornisce un'alternativaDocker, particolarmente utile, sui sistemi macOS e Linux. Per ulteriori informazioni, vedere [Finch on. GitHub](https://github.com/runfinch) ConFinch, AWS SAM può fornire un ambiente locale simile a AWS Lambda un contenitore per creare, testare ed eseguire il debug delle applicazioni serverless.

**Nota**  
È necessario testare Finch le applicazioni localmente, creare pacchetti di distribuzione utilizzando l'`--use-container`opzione e creare funzioni di immagine OCI. A partire dalla versione AWS SAM CLI 1.145.0, AWS SAM CLI Finch supporta come alternativa il runtime del contenitore a. Docker

**Topics**
+ [Installazione di Finch](#install-finch-instructions)
+ [Configurazione Finch con CLI AWS SAM](#install-finch-configuration)
+ [Verifica dell'installazione](#install-finch-verification)
+ [Interrompere Finch](#install-finch-stopping)
+ [Risoluzione dei problemi](#install-finch-troubleshooting)
+ [Fasi successive](#install-finch-next-steps)

## Installazione di Finch
<a name="install-finch-instructions"></a>

Segui queste istruzioni per l'installazione Finch sul tuo sistema operativo.

### Prerequisiti
<a name="install-finch-prerequisites"></a>

**Nota**  
Finchl'integrazione nella AWS SAM CLI è disponibile su sistemi macOS e Linux. Per gli utenti Windows, valuta la possibilità di utilizzare una macchina virtuale o un ambiente Linux per Finch motivi di funzionalità.

**Versioni macOS:**
+ macOS 15 Sequoia
+ macOS 14 Sonoma

**Nota**  
Finchsupporta le ultime due versioni di macOS.

**Linux**:
+ Linux Kernel v4.x\+

### Installazione di Finch
<a name="install-finch"></a>

#### macOS
<a name="install-finch-instructions-macos"></a>

**Per installare Finch su macOS**

1. Installa Finch utilizzando la `brew` CLI. Se richiesto, inserisci la password di macOS.

   ```
   $ brew install finch
   ```

1. Controlla la versione installata. Finch

   ```
   $ finch --version
   ```

1. Inizializza la macchina Finch virtuale (prima configurazione).

   ```
   $ finch vm init
   ```

1. Avvia la macchina Finch virtuale.

   ```
   $ finch vm start
   ```

1. Controlla lo stato della macchina Finch virtuale.

   ```
   $ finch vm status
   ```

1. Verifica che Finch funzioni correttamente.

   ```
   $ finch --info
   $ finch ps
   ```

Per ulteriori informazioni, consulta [Installazione di Finch su macOS](https://runfinch.com/docs/managing-finch/macos/installation/).

#### Linux
<a name="install-finch-instructions-linux"></a>

Puoi eseguire l'installazione Finch su Amazon Linux, Ubuntu o utilizzando un metodo di installazione generico. Per ulteriori informazioni, consulta [Installazione di Finch su Linux](https://runfinch.com/docs/managing-finch/linux/installation/).

## Configurazione Finch con CLI AWS SAM
<a name="install-finch-configuration"></a>

Dopo l'installazioneFinch, la AWS SAM CLI rileva e utilizza automaticamente Finch come runtime del contenitore quando Docker non viene eseguita.

**Nota**  
Finchfunge da riserva a. Docker Se le hai entrambe Finch installate Docker e funzionanti, la AWS SAM CLI dà la priorità Docker per impostazione predefinita.

### Configurazione delle preferenze dell'amministratore (macOS)
<a name="install-finch-configuration-preference"></a>

È possibile configurare la AWS SAM CLI per utilizzare un runtime di contenitore specifico come predefinito creando un file delle preferenze dell'amministratore. Questa preferenza a livello di sistema sostituisce il comportamento di fallback predefinito.

**Opzioni di configurazione disponibili**
+ **Imposta Finch come runtime preferito del contenitore:**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist
  ```
+ **Imposta Docker come runtime preferito del contenitore:**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist
  ```
+ **Rimuovi preferenza (ritorno al comportamento predefinito):**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Remove :DefaultContainerRuntime" /Library/Preferences/com.amazon.samcli.plist
  ```

**Nota**  
Quando non è impostata alcuna preferenza dell'amministratore, la AWS SAM CLI utilizza Docker per impostazione predefinita quando disponibile, Finch mentre come riserva quando non Docker è in esecuzione.

### Differenze di montaggio delle directory (macOS)
<a name="install-finch-differences"></a>

Su macOS, i comandi AWS SAM locali falliscono se localizzi il progetto fuori dalla tua home directory (`~`) o. `/Volumes` Questo design limita il montaggio automatico delle directory per motivi di sicurezza a tua insaputa.

**Opzioni di mitigazione**
+ **Opzione 1:** apri la configurazione di Finch in un editor di testo `~/.finch/finch.yaml` e aggiungi il percorso del progetto nella `additional_directories` sezione, quindi riavvia la Finch macchina virtuale. Per ulteriori informazioni, consultate la documentazione di [Finch.](https://runfinch.com/docs/managing-finch/macos/disk-management/#adding-additional-disk-mounts)

  ```
  $ finch vm stop
  $ finch vm start
  ```
+ **Opzione 2:** spostate il progetto nella vostra home directory.

## Verifica dell'installazione
<a name="install-finch-verification"></a>

Dopo l'installazione e l'avvioFinch, verifica che funzioni con la AWS SAM CLI.

### Verifica di base
<a name="install-finch-verification-basic"></a>

Esegui il comando seguente per verificare che la AWS SAM CLI possa utilizzare: Finch

```
$ sam build --use-container
```

Dovresti vedere l'uso della AWS SAM CLI Finch per creare la tua applicazione in un ambiente container.

**Nota**  
Finchfunge da riserva a. Docker Se Docker è in esecuzione, la AWS SAM CLI assegnerà la priorità Docker per impostazione predefinita.

### Test Finch come fallback
<a name="install-finch-verification-fallback"></a>

Per eseguire Finch il test come fallback quando Docker è in esecuzione, devi prima Docker fermarti.

**Per testare la funzionalità di Finch fallback**

1. Smetti Docker di usare i comandi appropriati per il tuo sistema operativo.

   **macOS:**

   ```
   $ docker stop $(docker ps -q)
   $ pkill -f "Docker Desktop"
   ```

   DockerLa verifica è stata interrotta.

   ```
   $ docker ps
   ```

   **Linux**:

   ```
   $ docker stop $(docker ps -q)
   $ sudo systemctl stop docker
   ```

   DockerLa verifica è stata interrotta.

   ```
   $ sudo systemctl status docker
   ```

1. Esegui il `sam build --use-container` comando per verificare che la AWS SAM CLI venga utilizzata automaticamente Finch come fallback.

## Interrompere Finch
<a name="install-finch-stopping"></a>

Se devi fermartiFinch, usa i seguenti comandi:

**macOS:**

```
$ finch vm stop
$ sudo pkill -f finch
```

FinchLa verifica è stata interrotta.

```
$ finch vm status
```

**Linux**:

```
$ sudo systemctl stop finch
$ sudo pkill -f finch
```

FinchLa verifica è stata interrotta.

```
$ sudo systemctl status finch
```

## Risoluzione dei problemi
<a name="install-finch-troubleshooting"></a>

Se riscontri problemi conFinch:
+ Verifica che il tuo sistema operativo soddisfi i prerequisiti.
+ Verifica di aver abilitato la virtualizzazione sul tuo sistema.
+ Per macOS, verifica di disporre di spazio su disco sufficiente per la macchina virtuale.
+ Per Linux, verifica di disporre delle autorizzazioni appropriate per eseguire `systemctl` i comandi.
+ Se riscontri errori di CloudFormation distribuzione con errori «tipo di supporto non supportato» quando invii immagini multiarchitettura ad Amazon Elastic Container Registry (Amazon ECR), crea un singolo elemento di immagine anziché utilizzare immagini multiarchitettura. Ciò si verifica perché Finch invia sia l'indice dell'immagine che l'immagine ad Amazon ECR, mentre Docker invia solo l'immagine.
+ Se la creazione multipiattaforma fallisce quando l'architettura della funzione di destinazione non corrisponde all'architettura della macchina host su Linux, abilita l'emulazione multipiattaforma eseguendo. `sudo finch run --privileged --rm tonistiigi/binfmt:master --install all`

Per ulteriori informazioni sulla risoluzione dei problemi, consulta la documentazione di [Finch o](https://runfinch.com/docs/) il. [AWS SAMCLIrisoluzione dei problemi](sam-cli-troubleshooting.md)

## Fasi successive
<a name="install-finch-next-steps"></a>

Ora che hai Finch installato, puoi usarlo con la AWS SAM CLI per:
+ Crea applicazioni serverless utilizzando contenitori con. `sam build --use-container` Per ulteriori informazioni, consulta [sam build](sam-cli-command-reference-sam-build.md).
+ Testa le funzioni Lambda localmente con. `sam local invoke` Per ulteriori informazioni, consulta [sam local invoke](sam-cli-command-reference-sam-local-invoke.md).
+ Avvia un API Gateway locale con`sam local start-api`. Per ulteriori informazioni, consulta [sam local start-api](sam-cli-command-reference-sam-local-start-api.md).
+ Avvia un endpoint Lambda locale con. `sam local start-lambda` Per ulteriori informazioni, consulta [sam local start-lambda](sam-cli-command-reference-sam-local-start-lambda.md).

Per ulteriori informazioni sull'utilizzo della AWS SAM CLI con i contenitori, consulta. [Compilazione predefinita con AWS SAM](serverless-sam-cli-using-build.md)