Installazione Finch per l'uso con la AWS SAM CLI - AWS Serverless Application Model

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Installazione Finch per l'uso con la AWS SAM CLI

Finch AWSè lo strumento di sviluppo di container che fornisce un'alternativaDocker, particolarmente utile, sui sistemi macOS e Linux. Per ulteriori informazioni, vedere Finch on. GitHub ConFinch, AWS SAM può fornire un ambiente locale simile a AWS Lambda un contenitore per creare, testare ed eseguire il debug delle applicazioni serverless.

Nota

È necessario testare Finch le applicazioni localmente, creare pacchetti di distribuzione utilizzando l'--use-containeropzione e creare funzioni di immagine OCI. A partire dalla versione AWS SAM CLI 1.145.0, AWS SAM CLI Finch supporta come alternativa il runtime del contenitore a. Docker

Installazione di Finch

Segui queste istruzioni per l'installazione Finch sul tuo sistema operativo.

Prerequisiti

Nota

Finchl'integrazione nella AWS SAM CLI è disponibile su sistemi macOS e Linux. Per gli utenti Windows, valuta la possibilità di utilizzare una macchina virtuale o un ambiente Linux per Finch motivi di funzionalità.

Versioni macOS:

  • macOS 15 Sequoia

  • macOS 14 Sonoma

Nota

Finchsupporta le ultime due versioni di macOS.

Linux:

  • Linux Kernel v4.x+

Installazione di Finch

Per installare Finch su macOS
  1. Installa Finch utilizzando la brew CLI. Se richiesto, inserisci la password di macOS.

    $ brew install finch
  2. Controlla la versione installata. Finch

    $ finch --version
  3. Inizializza la macchina Finch virtuale (prima configurazione).

    $ finch vm init
  4. Avvia la macchina Finch virtuale.

    $ finch vm start
  5. Controlla lo stato della macchina Finch virtuale.

    $ finch vm status
  6. Verifica che Finch funzioni correttamente.

    $ finch --info $ finch ps

Per ulteriori informazioni, consulta Installazione di Finch su macOS.

Puoi eseguire l'installazione Finch su Amazon Linux, Ubuntu o utilizzando un metodo di installazione generico. Per ulteriori informazioni, consulta Installazione di Finch su Linux.

Configurazione Finch con CLI AWS SAM

Dopo l'installazioneFinch, la AWS SAM CLI rileva e utilizza automaticamente Finch come runtime del contenitore quando Docker non viene eseguita.

Nota

Finchfunge da riserva a. Docker Se le hai entrambe Finch installate Docker e funzionanti, la AWS SAM CLI dà la priorità Docker per impostazione predefinita.

Configurazione delle preferenze dell'amministratore (macOS)

È possibile configurare la AWS SAM CLI per utilizzare un runtime di contenitore specifico come predefinito creando un file delle preferenze dell'amministratore. Questa preferenza a livello di sistema sostituisce il comportamento di fallback predefinito.

Opzioni di configurazione disponibili

  • Imposta Finch come runtime preferito del contenitore:

    $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist
  • Imposta Docker come runtime preferito del contenitore:

    $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist
  • Rimuovi preferenza (ritorno al comportamento predefinito):

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

Quando non è impostata alcuna preferenza dell'amministratore, la AWS SAM CLI utilizza Docker per impostazione predefinita quando disponibile, Finch mentre come riserva quando non Docker è in esecuzione.

Differenze di montaggio delle directory (macOS)

Su macOS, i comandi AWS SAM locali falliscono se localizzi il progetto fuori dalla tua home directory (~) o. /Volumes Questo design limita il montaggio automatico delle directory per motivi di sicurezza a tua insaputa.

Opzioni di mitigazione

  • Opzione 1: apri la configurazione di Finch in un editor di testo ~/.finch/finch.yaml e aggiungi il percorso del progetto nella additional_directories sezione, quindi riavvia la Finch macchina virtuale. Per ulteriori informazioni, consultate la documentazione di Finch.

    $ finch vm stop $ finch vm start
  • Opzione 2: spostate il progetto nella vostra home directory.

Verifica dell'installazione

Dopo l'installazione e l'avvioFinch, verifica che funzioni con la AWS SAM CLI.

Verifica di base

Esegui il comando seguente per verificare che la AWS SAM CLI possa utilizzare: Finch

$ sam build --use-container

Dovresti vedere l'uso della AWS SAM CLI Finch per creare la tua applicazione in un ambiente container.

Nota

Finchfunge da riserva a. Docker Se Docker è in esecuzione, la AWS SAM CLI assegnerà la priorità Docker per impostazione predefinita.

Test Finch come fallback

Per eseguire Finch il test come fallback quando Docker è in esecuzione, devi prima Docker fermarti.

Per testare la funzionalità di Finch fallback
  1. Smetti Docker di usare i comandi appropriati per il tuo sistema operativo.

    macOS:

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

    DockerLa verifica è stata interrotta.

    $ docker ps

    Linux:

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

    DockerLa verifica è stata interrotta.

    $ sudo systemctl status docker
  2. Esegui il sam build --use-container comando per verificare che la AWS SAM CLI venga utilizzata automaticamente Finch come fallback.

Interrompere Finch

Se devi fermartiFinch, usa i seguenti comandi:

macOS:

$ finch vm stop $ sudo pkill -f finch

FinchLa verifica è stata interrotta.

$ finch vm status

Linux:

$ sudo systemctl stop finch $ sudo pkill -f finch

FinchLa verifica è stata interrotta.

$ sudo systemctl status finch

Risoluzione dei problemi

Se riscontri problemi conFinch:

  • Verifica che il tuo sistema operativo soddisfi i prerequisiti.

  • Verifica di aver abilitato la virtualizzazione sul tuo sistema.

  • Per macOS, verifica di disporre di spazio su disco sufficiente per la macchina virtuale.

  • Per Linux, verifica di disporre delle autorizzazioni appropriate per eseguire systemctl i comandi.

  • Se riscontri errori di CloudFormation distribuzione con errori «tipo di supporto non supportato» quando invii immagini multiarchitettura ad Amazon Elastic Container Registry (Amazon ECR), crea un singolo elemento di immagine anziché utilizzare immagini multiarchitettura. Ciò si verifica perché Finch invia sia l'indice dell'immagine che l'immagine ad Amazon ECR, mentre Docker invia solo l'immagine.

  • Se la creazione multipiattaforma fallisce quando l'architettura della funzione di destinazione non corrisponde all'architettura della macchina host su Linux, abilita l'emulazione multipiattaforma eseguendo. sudo finch run --privileged --rm tonistiigi/binfmt:master --install all

Per ulteriori informazioni sulla risoluzione dei problemi, consulta la documentazione di Finch o il. AWS SAM CLI risoluzione dei problemi

Passaggi successivi

Ora che hai Finch installato, puoi usarlo con la AWS SAM CLI per:

  • Crea applicazioni serverless utilizzando contenitori con. sam build --use-container Per ulteriori informazioni, consulta sam build.

  • Testa le funzioni Lambda localmente con. sam local invoke Per ulteriori informazioni, consulta sam local invoke.

  • Avvia un API Gateway locale consam local start-api. Per ulteriori informazioni, consulta sam local start-api.

  • Avvia un endpoint Lambda locale con. sam local start-lambda Per ulteriori informazioni, consulta sam local start-lambda.

Per ulteriori informazioni sull'utilizzo della AWS SAM CLI con i contenitori, consulta. Compilazione predefinita con AWS SAM