Instalando Finch para usar com a AWS SAM CLI - AWS Serverless Application Model

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

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
  1. Instale Finch usando a brew CLI. Se solicitado, digite sua senha do macOS.

    $ brew install finch
  2. Verifique a Finch versão instalada.

    $ finch --version
  3. Inicialize a máquina Finch virtual (primeira configuração).

    $ finch vm init
  4. Inicie a máquina Finch virtual.

    $ finch vm start
  5. Verifique o status da máquina Finch virtual.

    $ finch vm status
  6. 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_directories seção ~/.finch/finch.yaml e 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
  1. 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 ps

    Linux

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

    A verificação Docker foi interrompida.

    $ sudo systemctl status docker
  2. Execute o sam build --use-container comando 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 systemctl comandos.

  • 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 ou o. AWS SAM CLI solução de problemas

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-container Para obter mais informações, consulte sam build.

  • Teste as funções do Lambda localmente com o. sam local invoke Para obter mais informações, consulte sam local invoke.

  • Inicie um API Gateway local comsam local start-api. Para obter mais informações, consulte sam local start-api.

  • Inicie um endpoint 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