

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Instalando Finch para usar com a AWS SAM CLI
<a name="install-finch"></a>

Finch AWSé a ferramenta de desenvolvimento de contêineres que fornece uma alternativaDocker, particularmente benéfica em sistemas macOS e Linux. Para obter mais informações, consulte [Finch on. GitHub](https://github.com/runfinch) ComFinch, AWS SAM pode fornecer um ambiente local semelhante a AWS Lambda um contêiner para criar, testar e depurar seus aplicativos sem servidor.

**nota**  
Você precisa do Finch para testar suas aplicações localmente, para criar pacotes de implantação usando a opção `--use-container` e para criar funções de imagem OCI. A partir da versão 1.145.0 da AWS SAM CLI, a AWS SAM CLI Finch oferece suporte como um tempo de execução de contêiner alternativo ao. Docker

**Topics**
+ [Instalação do Finch](#install-finch-instructions)
+ [Configurando Finch com CLI AWS SAM](#install-finch-configuration)
+ [Verificar a instalação](#install-finch-verification)
+ [Interrupção do Finch](#install-finch-stopping)
+ [Solução de problemas](#install-finch-troubleshooting)
+ [Próximas etapas](#install-finch-next-steps)

## Instalação do Finch
<a name="install-finch-instructions"></a>

Siga essas instruções para instalar a Finch, siga as instruções para seu sistema operacional.

### Pré-requisitos
<a name="install-finch-prerequisites"></a>

**nota**  
Fincha integração na AWS SAM CLI está disponível nos sistemas macOS e Linux. Para usuários do Windows, considere usar uma máquina virtual ou um ambiente Linux para obter a funcionalidade Finch.

**Versões do macOS:**
+ macOS 15 Sequoia
+ macOS 14 Sonoma

**nota**  
O Finch oferece suporte para as duas versões mais recentes do macOS.

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

### Instalar o Finch
<a name="install-finch"></a>

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

**Para instalar o Finch no MacOS**

1. Instale o Finch usando a CLI do `brew`. Se solicitado, digite sua senha do macOS.

   ```
   $ brew install finch
   ```

1. Verifique a versão instalada do Finch.

   ```
   $ finch --version
   ```

1. Inicialize a máquina virtual do Finch (primeira configuração).

   ```
   $ finch vm init
   ```

1. Inicie a máquina virtual do Finch.

   ```
   $ finch vm start
   ```

1. Verifique o status da máquina virtual do Finch.

   ```
   $ finch vm status
   ```

1. Verifique se o Finch está funcionando corretamente.

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

Para obter mais informações, consulte [Installing Finch on macOS](https://runfinch.com/docs/managing-finch/macos/installation/).

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

Você pode instalar o Finch no Amazon Linux, Ubuntu ou usando um método de instalação genérico. Para obter mais informações, consulte [Installing Finch on Linux](https://runfinch.com/docs/managing-finch/linux/installation/).

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

Depois da instalaçãoFinch, a AWS SAM CLI detecta e usa automaticamente Finch como tempo de execução do contêiner quando Docker não é executada.

**nota**  
O Finch atua como um substituto para o Docker. Se você tiver ambos Finch instalados Docker e em execução, a AWS SAM CLI Docker prioriza por padrão.

### Configuração de preferência do administrador (macOS)
<a name="install-finch-configuration-preference"></a>

Você pode configurar a AWS SAM CLI para usar um tempo de execução de contêiner específico como padrão criando um arquivo de preferências do administrador. Essa preferência de todo o sistema substitui o comportamento de fallback padrão.

**Opções de configuração disponíveis**
+ **Defina o Finch como runtime do contêiner preferencial:**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist
  ```
+ **Defina o Docker como runtime do contêiner preferencial:**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist
  ```
+ **Remover preferência (retornar ao comportamento padrão):**

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

**nota**  
Quando nenhuma preferência do administrador é definida, a AWS SAM CLI usa Docker por padrão quando disponível, Finch como alternativa quando não Docker está em execução.

### Diferenças de montagem de diretórios (macOS)
<a name="install-finch-differences"></a>

No macOS, os comandos AWS SAM locais falharão se você localizar seu projeto fora do diretório inicial (`~`) ou. `/Volumes` Esse design restringe a montagem automática de diretórios por motivos de segurança sem o seu conhecimento.

**Opções de mitigação**
+ **Opção 1:** abra a configuração do Finch em um editor de texto `~/.finch/finch.yaml`, adicione o caminho do projeto na seção `additional_directories` e reinicie a máquina virtual do Finch. Para obter informações adicionais, consulte [Finch documentation](https://runfinch.com/docs/managing-finch/macos/disk-management/#adding-additional-disk-mounts).

  ```
  $ finch vm stop
  $ finch vm start
  ```
+ **Opção 2:** mova seu projeto para o diretório inicial.

## Verificar a instalação
<a name="install-finch-verification"></a>

Depois de instalar e iniciarFinch, verifique se ele funciona com a AWS SAM CLI.

### Verificação bancária
<a name="install-finch-verification-basic"></a>

Execute o comando a seguir para verificar se a AWS SAM CLI pode usar: Finch

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

Você deve ver a AWS SAM CLI sendo usada Finch para criar seu aplicativo em um ambiente de contêiner.

**nota**  
O Finch atua como um substituto para o Docker. Se Docker estiver em execução, a AWS SAM CLI Docker priorizará por padrão.

### Testar o Finch como alternativa
<a name="install-finch-verification-fallback"></a>

Para testar o Finch como alternativa quando o Docker estiver em execução, você precisa interromper o Docker primeiro.

**Para testar a funcionalidade de alternativa do Finch**

1. Interrompa o Docker usando os comandos apropriados para o seu sistema operacional.

   **macOS:**

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

   A verificação do Docker foi interrompida.

   ```
   $ docker ps
   ```

   **Linux**

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

   A verificação do Docker foi interrompida.

   ```
   $ sudo systemctl status docker
   ```

1. Execute o `sam build --use-container` comando para verificar se a AWS SAM CLI é usada automaticamente Finch como alternativa.

## Interrupção do Finch
<a name="install-finch-stopping"></a>

Se você precisar interromper o Finch, use os comandos a seguir:

**macOS:**

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

A verificação do Finch foi interrompida.

```
$ finch vm status
```

**Linux**

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

A verificação do Finch foi interrompida.

```
$ sudo systemctl status finch
```

## Solução de problemas
<a name="install-finch-troubleshooting"></a>

Se você encontrar problemas com o Finch:
+ Verifique se o sistema operacional atende aos pré-requisitos.
+ Verifique se você habilitou a virtualização no seu sistema.
+ Para macOS, verifique se você tem espaço em disco suficiente para a máquina virtual.
+ Para Linux, verifique se você tem as permissões adequadas para executar os comandos `systemctl`.
+ Se você encontrar falhas de CloudFormation implantação com erros de “tipo de mídia não suportado” ao enviar imagens de várias arquiteturas para o Amazon Elastic Container Registry (Amazon ECR), crie um único artefato de imagem em vez de usar imagens de várias arquiteturas. Isso ocorre porque o Finch envia o índice e a imagem da imagem para o Amazon ECR, enquanto o Docker envia somente a imagem.
+ Se a construção multiplataforma falhar quando a arquitetura da função de destino não corresponder à arquitetura da máquina host no Linux, habilite a emulação multiplataforma executando `sudo finch run --privileged --rm tonistiigi/binfmt:master --install all`.

Para solução de problemas adicionais, consulte [Finch documentation](https://runfinch.com/docs/) ou o [AWS SAM CLI solução de problemas](sam-cli-troubleshooting.md).

## Próximas etapas
<a name="install-finch-next-steps"></a>

Agora que você Finch instalou, você pode usá-lo com a AWS SAM CLI para:
+ Crie aplicações com tecnologia sem servidor usando contêineres com `sam build --use-container`. Para obter mais informações, consulte [sam build](sam-cli-command-reference-sam-build.md).
+ Teste as funções do Lambda localmente com `sam local invoke`. Para obter mais informações, consulte [sam local invoke](sam-cli-command-reference-sam-local-invoke.md).
+ Inicie um API Gateway local com `sam local start-api`. Para obter mais informações, consulte [sam local start-api](sam-cli-command-reference-sam-local-start-api.md).
+ Inicie um endpoint do Lambda local com `sam local start-lambda`. Para obter mais informações, consulte [sam local start-lambda](sam-cli-command-reference-sam-local-start-lambda.md).

Para obter mais informações sobre o uso da AWS SAM CLI com contêineres, consulte. [Compilação padrão com AWS SAM](serverless-sam-cli-using-build.md)