Instalación Finch para su uso con la AWS SAM CLI - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Instalación Finch para su uso con la AWS SAM CLI

Finch AWS es una herramienta de desarrollo de contenedores que ofrece una alternativaDocker, especialmente beneficiosa en los sistemas macOS y Linux. Para obtener más información, consulte Finch en GitHub. ConFinch, AWS SAM puede proporcionar un entorno local similar a AWS Lambda un contenedor para crear, probar y depurar sus aplicaciones sin servidor.

nota

Necesita Finch para probar las aplicaciones de forma local, para crear paquetes de implementación mediante la opción --use-container y para crear funciones de imagen de OCI. A partir de la versión 1.145.0 de la AWS SAM CLI, la AWS SAM CLI es compatible con Finch el tiempo de ejecución de contenedores alternativo a. Docker

Instalación de Finch

Siga estas instrucciones para instalar Finch en su sistema operativo.

Requisitos previos

nota

Finchla integración en AWS SAM CLI está disponible en los sistemas macOS y Linux. Para los usuarios de Windows, evalúe la posibilidad de utilizar una máquina virtual o un entorno Linux para la funcionalidad de Finch.

Versión para macOS:

  • macOS 15 Sequoia

  • macOS 14 Sonoma

nota

Finch es compatible con las dos últimas versiones de macOS.

Linux:

  • Linux Kernel v4.x+

Instalación de Finch

Para instalar Finch en macOS
  1. Instale Finch mediante la CLI de brew. Si se le solicita, escriba su contraseña de macOS.

    $ brew install finch
  2. Compruebe la versión Finch instalada.

    $ finch --version
  3. Inicialice la máquina virtual de Finch (configuración inicial).

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

    $ finch vm start
  5. Compruebe el estado de la máquina virtual de Finch.

    $ finch vm status
  6. Compruebe que Finch se ejecute correctamente.

    $ finch --info $ finch ps

Para obtener más información, consulte la Instalación de Finch en macOS.

Puede instalar Finch en Amazon Linux, Ubuntu o mediante un método de instalación genérico. Para obtener más información, consulte la Instalación de Finch en Linux.

Configurar Finch con la CLI de AWS SAM

Tras la instalaciónFinch, la AWS SAM CLI detecta y utiliza automáticamente Finch como tiempo de ejecución del contenedor cuando Docker no se ejecuta.

nota

Finch sirve como alternativa para Docker. Si tiene ambos Finch instalados Docker y en ejecución, la AWS SAM CLI prioriza de forma Docker predeterminada.

Configuración de preferencias de administrador (macOS)

Puede configurar la AWS SAM CLI para que utilice un tiempo de ejecución de contenedor específico como predeterminado mediante la creación de un archivo de preferencias del administrador. Esta preferencia de todo el sistema anula el comportamiento alternativo predeterminado.

Métodos de configuración disponibles

  • Definir Finch como tiempo de ejecución de contenedor preferido:

    $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist
  • Definir Docker como tiempo de ejecución de contenedor preferido:

    $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist
  • Eliminar la preferencia (volver al comportamiento predeterminado):

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

Cuando no se establece ninguna preferencia de administrador, la AWS SAM CLI la utiliza de forma Docker predeterminada cuando está disponible, y Finch como alternativa cuando no Docker se está ejecutando.

Diferencias de montaje de directorios (macOS)

En macOS, los comandos AWS SAM locales fallan si ubicas el proyecto fuera del directorio principal (~) o/Volumes. Este diseño restringe el montaje de directorios automático por motivos de seguridad sin su consentimiento.

Opciones de mitigación

  • Opción 1: abra la configuración de Finch en un editor de texto ~/.finch/finch.yaml y agregue la ruta del proyecto en la sección additional_directories, y luego reinicie la máquina virtual de Finch. Para obtener información adicional, consulte la documentación de Finch.

    $ finch vm stop $ finch vm start
  • Opción 2: mueva el proyecto a su directorio principal.

Verificar la instalación

Después de instalarlo e iniciarloFinch, compruebe que funciona con AWS SAM CLI.

Verificación básica

Ejecute el siguiente comando para comprobar que la AWS SAM CLI puede utilizarFinch:

$ sam build --use-container

Debería ver cómo se utiliza la AWS SAM CLI Finch para crear la aplicación en un entorno de contenedores.

nota

Finch sirve como alternativa para Docker. Si Docker se está ejecutando, la AWS SAM CLI priorizará Docker de forma predeterminada.

Probar Finch como alternativa

Para probar Finch como alternativa cuando Docker se está ejecutando, primero debe detener Docker.

Cómo probar la funcionalidad de la alternativa Finch
  1. Detenga Docker con los comandos apropiados para el sistema operativo.

    macOS:

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

    Verifique que Docker esté detenido.

    $ docker ps

    Linux:

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

    Verifique que Docker esté detenido.

    $ sudo systemctl status docker
  2. Ejecute el sam build --use-container comando para verificar que la AWS SAM CLI Finch lo utilice automáticamente como respaldo.

Detener Finch

Si necesita detener Finch, utilice los siguientes comandos:

macOS:

$ finch vm stop $ sudo pkill -f finch

Verifique que Finch esté detenido.

$ finch vm status

Linux:

$ sudo systemctl stop finch $ sudo pkill -f finch

Verifique que Finch esté detenido.

$ sudo systemctl status finch

Resolución de problemas

Si tiene problemas con Finch:

  • Compruebe que el sistema operativo cumpla los requisitos previos.

  • Compruebe que ha habilitado la virtualización en el sistema.

  • Para macOS, compruebe que tiene suficiente espacio en disco para la máquina virtual.

  • Para Linux, compruebe que tiene los permisos adecuados para ejecutar los comandos systemctl.

  • Si encuentra errores de CloudFormation implementación con errores de «tipo de medio no compatible» al insertar imágenes de varias arquitecturas en Amazon Elastic Container Registry (Amazon ECR), cree un único artefacto de imagen en lugar de utilizar imágenes de varias arquitecturas. Esto ocurre porque Finch empuja el índice de la imagen y la imagen a Amazon ECR, mientras que Docker solo empuja la imagen.

  • Si la creación entre plataformas falla porque la arquitectura de la función de destino no coincide con la arquitectura de la máquina host en Linux, habilite la emulación entre plataformas mediante la ejecución sudo finch run --privileged --rm tonistiigi/binfmt:master --install all.

Para obtener información adicional sobre la solución de problemas, consulte la documentación de Finch o la Solución de problemas para AWS SAM CLI.

Siguientes pasos

Ahora que lo ha Finch instalado, puede usarlo con AWS SAM CLI para:

  • Crear aplicaciones sin servidor mediante contenedores con sam build --use-container. Para obtener más información, consulte sam build.

  • Probar las funciones de Lambda de forma local con sam local invoke. Para obtener más información, consulte sam local invoke.

  • Iniciar una API Gateway local con sam local start-api. Para obtener más información, consulte sam local start-api.

  • Iniciar un punto de conexión de Lambda local con sam local start-lambda. Para obtener más información, consulte sam local start-lambda.

Para obtener más información sobre el uso de AWS SAM CLI con contenedores, consulteCompilación predeterminada con AWS SAM.