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
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
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 alternativa ao tempo de execução de contêiner a. Docker
Tópicos
Instalação do Finch
Siga essas instruções para instalar a Finch, siga as instruções para seu sistema operacional.
Pré-requisitos
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
Para instalar o Finch no MacOS
-
Instale o Finch usando a CLI do
brew. Se solicitado, digite sua senha do macOS.$brew install finch -
Verifique a versão instalada do Finch.
$finch --version -
Inicialize a máquina virtual do Finch (primeira configuração).
$finch vm init -
Inicie a máquina virtual do Finch.
$finch vm start -
Verifique o status da máquina virtual do Finch.
$finch vm status -
Verifique se o Finch está funcionando corretamente.
$finch --info$finch ps
Para obter mais informações, consulte Installing Finch on macOS
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
Configurar o Finch com a CLI do AWS SAM
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)
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)
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çãoadditional_directoriese reinicie a máquina virtual do Finch. Para obter informações adicionais, consulte Finch documentation. $finch vm stop$finch vm start -
Opção 2: mova seu projeto para o diretório inicial.
Verificar a instalação
Depois de instalar e iniciarFinch, verifique se ele funciona com a AWS SAM CLI.
Verificação bancária
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
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
-
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 psLinux
$docker stop $(docker ps -q)$sudo systemctl stop dockerA verificação do Docker foi interrompida.
$sudo systemctl status docker -
Execute o
sam build --use-containercomando para verificar se a AWS SAM CLI é usada automaticamente Finch como alternativa.
Interrupção do Finch
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
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
Próximas etapas
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.Teste as funções do Lambda localmente com
sam local invoke. Para obter mais informações, consulte sam local invoke.Inicie um API Gateway local com
sam local start-api. Para obter mais informações, consulte sam local start-api.Inicie um endpoint do Lambda local com
sam local start-lambda. Para obter mais informações, consulte sam local start-lambda.
Para obter mais informações sobre o uso da AWS SAM CLI com contêineres, consulte. Compilação padrão com AWS SAM