Installation Finch zur Verwendung mit der AWS SAM CLI - AWS Serverless Application Model

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Installation Finch zur Verwendung mit der AWS SAM CLI

Finch AWS ist ein Container-Entwicklungstool, das eine Alternative zu Docker MacOS- und Linux-Systemen bietet und besonders vorteilhaft ist. Weitere Informationen finden Sie unter Finch unter GitHub. Mit AWS SAM kann eine lokale Umgebung bereitgestellt werdenFinch, die einem Container AWS Lambda zum Erstellen, Testen und Debuggen Ihrer serverlosen Anwendungen ähnelt.

Anmerkung

Sie müssen Finch Ihre Anwendungen lokal testen, Bereitstellungspakete mithilfe der --use-container Option erstellen und OCI-Image-Funktionen erstellen. Ab AWS SAM CLI-Version 1.145.0 unterstützt AWS SAM CLI Finch als alternative Container-Laufzeit zu. Docker

Installation von Finch

Folgen Sie diesen Anweisungen, um die Installation Finch auf Ihrem Betriebssystem durchzuführen.

Voraussetzungen

Anmerkung

FinchDie Integration in AWS SAM CLI ist auf macOS- und Linux-Systemen verfügbar. Windows-Benutzer sollten aus Finch Funktionsgründen die Verwendung einer virtuellen Maschine oder einer Linux-Umgebung in Betracht ziehen.

macOS-Versionen:

  • macOS 15 Sequoia

  • macOS 14 Sonoma

Anmerkung

Finchunterstützt die neuesten beiden Versionen von macOS.

Linux:

  • Linux Kernel v4.x +

Finch installieren

Installieren Sie Finch unter macOS wie folgt
  1. Installieren Sie Finch mit der brew CLI. Wenn Sie dazu aufgefordert werden, geben Sie Ihr macOS-Passwort ein.

    $ brew install finch
  2. Überprüfen Sie die installierte Finch Version.

    $ finch --version
  3. Initialisieren Sie die Finch virtuelle Maschine (Erstinstallation).

    $ finch vm init
  4. Starten Sie die Finch virtuelle Maschine.

    $ finch vm start
  5. Überprüfen Sie den Status der Finch virtuellen Maschine.

    $ finch vm status
  6. Stellen Sie sicher, dass das korrekt Finch läuft.

    $ finch --info $ finch ps

Weitere Informationen finden Sie unter Finch auf macOS installieren.

Sie können die Installation Finch unter Amazon Linux, Ubuntu oder mithilfe einer generischen Installationsmethode durchführen. Weitere Informationen finden Sie unter Finch unter Linux installieren.

Konfiguration Finch mit AWS SAM CLI

Nach der Installation Finch erkennt die AWS SAM CLI automatisch und verwendet Finch sie als Container-Runtime, wenn sie Docker nicht ausgeführt wird.

Anmerkung

Finchdient als Fallback fürDocker. Wenn Sie beide Finch installiert haben Docker und ausgeführt werden, priorisiert AWS SAM CLI Docker standardmäßig.

Konfiguration der Administratoreinstellungen (macOS)

Sie können AWS SAM CLI so konfigurieren, dass eine bestimmte Container-Laufzeit als Standard verwendet wird, indem Sie eine Administrator-Einstellungsdatei erstellen. Diese systemweite Einstellung setzt das standardmäßige Fallback-Verhalten außer Kraft.

Verfügbare Konfigurationsoptionen

  • FinchAls bevorzugte Container-Laufzeit festlegen:

    $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist
  • DockerAls bevorzugte Container-Laufzeit festlegen:

    $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist
  • Einstellung entfernen (zum Standardverhalten zurückkehren):

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

Wenn keine Administratoreinstellung festgelegt ist, verwendet AWS SAM CLI Docker standardmäßig, sofern verfügbar, und Finch als Fallback, wenn sie nicht ausgeführt Docker wird.

Unterschiede beim Einhängen von Verzeichnissen (macOS)

Unter macOS schlagen AWS SAM lokale Befehle fehl, wenn Sie Ihr Projekt außerhalb Ihres Home-Verzeichnisses (~) oder suchen/Volumes. Dieses Design schränkt das automatische Einbinden von Verzeichnissen aus Sicherheitsgründen ohne Ihr Wissen ein.

Optionen zur Schadensbegrenzung

  • Option 1: Öffnen Sie die Finch-Konfiguration in einem Texteditor ~/.finch/finch.yaml und fügen Sie Ihren Projektpfad unter dem additional_directories Abschnitt hinzu. Starten Sie dann die Finch virtuelle Maschine neu. Weitere Informationen finden Sie in der Finch-Dokumentation.

    $ finch vm stop $ finch vm start
  • Option 2: Verschieben Sie Ihr Projekt in Ihr Home-Verzeichnis.

Die Installation wird überprüft

Stellen Sie nach der Installation und dem Start sicherFinch, dass es mit AWS SAM CLI funktioniert.

Grundlegende Überprüfung

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob AWS SAM CLI Folgendes verwenden kannFinch:

$ sam build --use-container

Sie sollten sehen, wie AWS SAM CLI verwendet wirdFinch, um Ihre Anwendung in einer Containerumgebung zu erstellen.

Anmerkung

Finchdient als Ausweichlösung fürDocker. Wenn ausgeführt Docker wird, priorisiert AWS SAM CLI Docker standardmäßig.

Testen Finch als Fallback

Um Finch als Fallback zu testen, wenn Docker es läuft, müssen Sie zuerst aufhörenDocker.

Um die Finch Fallback-Funktionalität zu testen
  1. DockerVerwenden Sie nicht mehr die entsprechenden Befehle für Ihr Betriebssystem.

    macOS:

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

    Verify Docker wurde gestoppt.

    $ docker ps

    Linux:

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

    Verify Docker wurde gestoppt.

    $ sudo systemctl status docker
  2. Führen Sie den sam build --use-container Befehl aus, um zu überprüfen, ob AWS SAM CLI ihn automatisch Finch als Fallback verwendet.

Stoppen von Finch

Wenn Sie den Vorgang beenden müssenFinch, verwenden Sie die folgenden Befehle:

macOS:

$ finch vm stop $ sudo pkill -f finch

Verify Finch wurde gestoppt.

$ finch vm status

Linux:

$ sudo systemctl stop finch $ sudo pkill -f finch

Verify Finch wurde gestoppt.

$ sudo systemctl status finch

Fehlerbehebung

Wenn Sie auf Probleme stoßen mitFinch:

  • Stellen Sie sicher, dass Ihr Betriebssystem die Voraussetzungen erfüllt.

  • Stellen Sie sicher, dass Sie die Virtualisierung auf Ihrem System aktiviert haben.

  • Stellen Sie für macOS sicher, dass Sie über ausreichend Festplattenspeicher für die virtuelle Maschine verfügen.

  • Stellen Sie für Linux sicher, dass Sie über die erforderlichen Berechtigungen zum Ausführen von systemctl Befehlen verfügen.

  • Wenn Sie beim Übertragen von Images mit mehreren Architekturen an Amazon Elastic Container Registry (Amazon ECR) CloudFormation Bereitstellungsfehler mit der Fehlermeldung „Medientyp nicht unterstützt“ feststellen, erstellen Sie ein einzelnes Image-Artefakt, anstatt Images mit mehreren Architekturen zu verwenden. Dies liegt daran, Finch dass sowohl der Bildindex als auch das Bild an Amazon ECR übertragen werden, während nur das Docker Bild übertragen wird.

  • Wenn plattformübergreifendes Erstellen fehlschlägt, weil die Architektur der Zielfunktion nicht mit der Architektur des Host-Computers unter Linux übereinstimmt, aktivieren Sie die plattformübergreifende Emulation, indem Sie Folgendes ausführen. sudo finch run --privileged --rm tonistiigi/binfmt:master --install all

Weitere Informationen zur Fehlerbehebung finden Sie in der Finch-Dokumentation oder im. AWS SAMCLIProblembehandlung

Nächste Schritte

Nachdem Sie es Finch installiert haben, können Sie es mit AWS SAM CLI verwenden, um:

  • Erstellen Sie serverlose Anwendungen mithilfe von Containern mitsam build --use-container. Weitere Informationen finden Sie unter sam build.

  • Testen Sie Lambda-Funktionen lokal mitsam local invoke. Weitere Informationen finden Sie unter sam local invoke.

  • Starten Sie ein lokales API Gateway mitsam local start-api. Weitere Informationen finden Sie unter sam local start-api.

  • Starten Sie einen lokalen Lambda-Endpunkt mitsam local start-lambda. Weitere Informationen finden Sie unter sam local start-lambda.

Weitere Informationen zur Verwendung von AWS SAM CLI mit Containern finden Sie unterStandardbuild mit AWS SAM.