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 Finch testar seus aplicativos localmente, criar pacotes de implantação usando a --use-container opção e 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
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 Finch funcionalidade.
Versões do macOS:
macOS 15 Sequoia
macOS 14 Sonoma
nota
Finchsuporta as duas versões mais recentes do macOS.
Linux
Kernel Linux v4.x+
Instalando o Finch
Para instalar o Finch no MacOS
-
Instale Finch usando a
brewCLI. Se solicitado, digite sua senha do macOS.$brew install finch -
Verifique a Finch versão instalada.
$finch --version -
Inicialize a máquina Finch virtual (primeira configuração).
$finch vm init -
Inicie a máquina Finch virtual.
$finch vm start -
Verifique o status da máquina Finch virtual.
$finch vm status -
Verifique se Finch está funcionando corretamente.
$finch --info$finch ps
Para obter mais informações, consulte Instalando o Finch no macOS
Você pode instalar Finch no Amazon Linux, Ubuntu ou usando um método de instalação genérico. Para obter mais informações, consulte Instalando o Finch no Linux.
Configurando Finch com CLI 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
Finchserve como um substituto paraDocker. 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 Finch como tempo de execução preferencial do contêiner:
$sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist -
Defina Docker como tempo de execução preferencial do contêiner:
$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, adicione o caminho do projeto na
additional_directoriesseção~/.finch/finch.yamle reinicie a máquina Finch virtual. Para obter informações adicionais, consulte a documentação do Finch. $finch vm stop$finch vm start -
Opção 2: mova seu projeto para o diretório inicial.
Verificando a instalação
Depois de instalar e iniciarFinch, verifique se ele funciona com a AWS SAM CLI.
Verificação básica
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
Finchserve como um substituto paraDocker. Se Docker estiver em execução, a AWS SAM CLI Docker priorizará por padrão.
Testando Finch como alternativa
Para testar Finch como substituto quando Docker estiver em execução, você precisa parar Docker primeiro.
Para testar a funcionalidade de Finch fallback
-
Pare de Docker usar os comandos apropriados para seu sistema operacional.
macOS:
$docker stop $(docker ps -q)$pkill -f "Docker Desktop"A verificação Docker foi interrompida.
$docker psLinux
$docker stop $(docker ps -q)$sudo systemctl stop dockerA verificação 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 pararFinch, use os seguintes comandos:
macOS:
$finch vm stop$sudo pkill -f finch
A verificação Finch foi interrompida.
$finch vm status
Linux
$sudo systemctl stop finch$sudo pkill -f finch
A verificação Finch foi interrompida.
$sudo systemctl status finch
Solução de problemas
Se você encontrar problemas comFinch:
Verifique se o sistema operacional atende aos pré-requisitos.
Verifique se você ativou a virtualização em 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
systemctlcomandos.Se você encontrar falhas de AWS 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 Finch envia o índice e a imagem da imagem para o Amazon ECR, enquanto 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 a documentação do Finch
Próximas etapas
Agora que você Finch instalou, você pode usá-lo com a AWS SAM CLI para:
Crie aplicativos sem servidor usando contêineres com.
sam build --use-containerPara obter mais informações, consulte sam build.Teste as funções do Lambda localmente com o.
sam local invokePara 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 Lambda local com.
sam local start-lambdaPara 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