Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Installation Finch à utiliser avec la AWS SAM CLI
Finch AWS est un outil de développement de conteneurs qui fournit une alternative particulièrement avantageuse sur les systèmes macOS et Linux. Docker Pour plus d'informations, voir Finch sur GitHub
Note
Vous devez Finch tester vos applications localement, créer des packages de déploiement à l'aide de l'--use-containeroption et créer des fonctions d'image OCI. À partir de la version 1.145.0 de la AWS SAM CLI, la AWS SAM CLI prend Finch en charge l'exécution de conteneurs alternative à. Docker
Rubriques
Installation deFinch
Pour installer Finch sur votre système d'exploitation, suivez ces instructions.
Conditions préalables
Note
Finchl'intégration dans la AWS SAM CLI est disponible sur les systèmes macOS et Linux. Pour les utilisateurs de Windows, pensez à utiliser une machine virtuelle ou un environnement Linux pour les Finch fonctionnalités.
Versions de macOS :
macOS 15 Séquoia
macOS 14 Sonoma
Note
Finchprend en charge les deux dernières versions de macOS.
Linux :
Noyau Linux v4.x+
Installation de Finch
Pour installer Finch sur MacOS
-
Installation Finch à l'aide de la
brewCLI. Si vous y êtes invité, entrez votre mot de passe macOS.$brew install finch -
Vérifiez la Finch version installée.
$finch --version -
Initialisez la machine Finch virtuelle (première configuration).
$finch vm init -
Démarrez la machine Finch virtuelle.
$finch vm start -
Vérifiez l'état de la machine Finch virtuelle.
$finch vm status -
Vérifiez que cela Finch fonctionne correctement.
$finch --info$finch ps
Pour plus d'informations, consultez la section Installation de Finch sur macOS
Vous pouvez effectuer l'installation Finch sur Amazon Linux, Ubuntu ou en utilisant une méthode d'installation générique. Pour plus d'informations, consultez Installation de Finch sous Linux.
Configuration à l'Finchaide de la AWS SAM CLI
Après l'installationFinch, la AWS SAM CLI détecte et utilise automatiquement Finch comme environnement d'exécution du conteneur lorsqu'elle Docker ne s'exécute pas.
Note
Finchsert de solution de repli à. Docker Si vous avez Finch installé Docker et exécuté les deux, la AWS SAM CLI hiérarchise Docker par défaut.
Configuration des préférences de l'administrateur (macOS)
Vous pouvez configurer la AWS SAM CLI pour utiliser un environnement d'exécution de conteneur spécifique par défaut en créant un fichier de préférences d'administrateur. Cette préférence à l'échelle du système remplace le comportement de secours par défaut.
Options de configuration disponibles
-
Définissez Finch comme environnement d'exécution du conteneur préféré :
$sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist -
Définissez Docker comme environnement d'exécution du conteneur préféré :
$sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist -
Supprimer la préférence (retour au comportement par défaut) :
$sudo /usr/libexec/PlistBuddy -c "Remove :DefaultContainerRuntime" /Library/Preferences/com.amazon.samcli.plist
Note
Lorsqu'aucune préférence d'administrateur n'est définie, la AWS SAM CLI l'utilise Docker par défaut lorsqu'elle est disponible, avec Finch comme solution de secours lorsqu'elle n'Dockerest pas en cours d'exécution.
Différences de montage de répertoires (macOS)
Sur macOS, les commandes AWS SAM locales échouent si vous localisez votre projet en dehors de votre répertoire personnel (~) ou/Volumes. Cette conception restreint le montage automatique de répertoires pour des raisons de sécurité à votre insu.
Options d'atténuation
-
Option 1 : Ouvrez la configuration Finch dans un éditeur de texte
~/.finch/finch.yamlet ajoutez le chemin de votre projet sous laadditional_directoriessection, puis redémarrez la machine Finch virtuelle. Pour plus d'informations, consultez la documentation Finch. $finch vm stop$finch vm start -
Option 2 : déplacez votre projet vers votre répertoire personnel.
Vérification de l'installation
Après l'installation et le démarrageFinch, vérifiez qu'il fonctionne avec la AWS SAM CLI.
Vérification de base
Exécutez la commande suivante pour vérifier que la AWS SAM CLI peut utiliser Finch :
$sam build --use-container
Vous devriez voir la AWS SAM CLI Finch utilisée pour créer votre application dans un environnement de conteneur.
Note
Finchsert de solution de repli à. Docker Si elle Docker est en cours d'exécution, la AWS SAM CLI donnera la priorité Docker par défaut.
Les tests Finch comme solution de secours
Pour effectuer un test Finch en tant que solution de secours en Docker cours d'exécution, vous devez d'Dockerabord vous arrêter.
Pour tester la fonctionnalité de Finch secours
-
Arrêtez Docker d'utiliser les commandes adaptées à votre système d'exploitation.
macOS :
$docker stop $(docker ps -q)$pkill -f "Docker Desktop"DockerLa vérification est arrêtée.
$docker psLinux :
$docker stop $(docker ps -q)$sudo systemctl stop dockerDockerLa vérification est arrêtée.
$sudo systemctl status docker -
Exécutez la
sam build --use-containercommande pour vérifier que la AWS SAM CLI est automatiquement utilisée Finch comme solution de secours.
Arrêt d'Finch
Si vous devez vous arrêterFinch, utilisez les commandes suivantes :
macOS :
$finch vm stop$sudo pkill -f finch
FinchLa vérification est arrêtée.
$finch vm status
Linux :
$sudo systemctl stop finch$sudo pkill -f finch
FinchLa vérification est arrêtée.
$sudo systemctl status finch
Résolution des problèmes
Si vous rencontrez des problèmes avec Finch :
Vérifiez que votre système d'exploitation répond aux exigences requises.
Vérifiez que vous avez activé la virtualisation sur votre système.
Pour macOS, vérifiez que vous disposez de suffisamment d'espace disque pour la machine virtuelle.
Pour Linux, vérifiez que vous disposez des autorisations nécessaires pour exécuter
systemctldes commandes.Si vous rencontrez des échecs de CloudFormation déploiement avec des erreurs « type de support non pris en charge » lorsque vous transférez des images multi-architectures vers Amazon Elastic Container Registry (Amazon ECR), créez un artefact d'image unique au lieu d'utiliser des images multi-architectures. Cela se produit car envoie Finch à la fois l'index de l'image et l'image vers Amazon ECR, alors que seule l'Dockerimage est envoyée.
Si la construction multiplateforme échoue lorsque l'architecture de la fonction cible ne correspond pas à l'architecture de la machine hôte sous Linux, activez l'émulation multiplateforme en exécutant.
sudo finch run --privileged --rm tonistiigi/binfmt:master --install all
Pour un dépannage supplémentaire, consultez la documentation Finch
Étapes suivantes
Maintenant que vous l'avez Finch installé, vous pouvez l'utiliser avec la AWS SAM CLI pour :
Créez des applications sans serveur à l'aide de conteneurs avec
sam build --use-container. Pour de plus amples informations, veuillez consulter sam build.Testez les fonctions Lambda localement avec.
sam local invokePour de plus amples informations, veuillez consulter sam local invoke.Démarrez une API Gateway locale avec
sam local start-api. Pour de plus amples informations, veuillez consulter sam local start-api.Démarrez un point de terminaison Lambda local avec.
sam local start-lambdaPour de plus amples informations, veuillez consulter sam local start-lambda.
Pour plus d'informations sur l'utilisation de la AWS SAM CLI avec des conteneurs, consultezConstruit par défaut avec AWS SAM.