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.
sam build
Cette page fournit des informations de référence pour la AWS Serverless Application Model commande Command Line Interface (AWS SAMCLI)sam build
.
-
Pour une introduction à la AWS SAMCLI, voir Qu'est-ce que c'est AWS SAMCLI ?
-
Pour obtenir de la documentation sur l'utilisation de la AWS SAMCLI
sam build
commande, consultezInitiation à la construction avec AWS SAM.
La commande sam build
prépare une application pour les étapes suivantes du flux de travail du développeur, telles que le test local ou le déploiement sur AWS Cloud.
Utilisation
$
sam build
<arguments>
<options>
Arguments
- ID de ressource
-
Facultatif. Indique AWS SAM de créer une seule ressource déclarée dans un AWS SAM modèle. Les artefacts de création pour la ressource spécifiée sont les seuls disponibles pour les commandes suivantes du flux de travail ; c’est-à-dire
sam package
etsam deploy
.
Options
--base-dir, -s
DIRECTORY
-
Résout les chemins relatifs au code source de la fonction ou de la couche par rapport à ce répertoire. Utilisez cette option si vous souhaitez modifier la façon dont les chemins d’accès relatifs aux dossiers de code source sont résolus. Par défaut, les chemins relatifs sont résolus selon l’emplacement du modèle AWS SAM .
Outre les ressources de l’application racine ou de la pile que vous créez, cette option applique également des applications ou des piles imbriquées.
Cette option s’applique aux types de ressources et propriétés suivants :
-
Type de ressource : propriété
AWS::Serverless::Function
:CodeUri
-
Type de ressource : attribut de ressource
AWS::Serverless::Function
: entréeMetadata
:DockerContext
-
Type de ressource : propriété
AWS::Serverless::LayerVersion
:ContentUri
-
Type de ressource : propriété
AWS::Lambda::Function
:Code
-
Type de ressource : propriété
AWS::Lambda::LayerVersion
:Content
-
--beta-features | --no-beta-features
-
Autorisez ou refusez les fonctionnalités bêta.
--build-dir, -b
DIRECTORY
-
Le chemin d’accès à un répertoire dans lequel les artefacts créés sont stockés. Ce répertoire et tout son contenu sont supprimés avec cette option.
--build-image
TEXT
-
L’URI de l’image de conteneur que vous souhaitez extraire pour la création. Par défaut, AWS SAM extrait l’image de conteneur depuis Amazon ECR Public. Utilisez cette option pour extraire l’image à partir d’un autre emplacement.
Vous pouvez spécifier cette option plusieurs fois. Chaque instance de cette option peut prendre une chaîne ou une paire valeur clé. Si vous spécifiez une chaîne, il s’agit de l’URI de l’image de conteneur à utiliser pour toutes les ressources de l’application. Par exemple,
sam build --use-container --build-image amazon/aws-sam-cli-build-image-python3.8
. Si vous spécifiez une paire valeur clé, la clé est le nom de la ressource et la valeur est l’URI de l’image de conteneur à utiliser pour cette ressource. Par exemplesam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.8
. Avec les paires valeur clé, vous pouvez spécifier différentes images de conteneur pour différentes ressources.Cette option ne s'applique que si l'option
--use-container
est spécifiée, dans le cas contraire, une erreur se produit. --build-in-source | --no-build-in-source
-
Procurez-vous
--build-in-source
pour créer votre projet directement dans le dossier source.L'option
--build-in-source
prend en charge les systèmes d’exécution ainsi que les méthodes de création suivantes :-
exécutions : toute méthode d’exécution Node.js prise en charge par l'option
sam init --runtime
. -
Méthodes de construction :
Makefile
,esbuild
.
L'option
--build-in-source
n'est pas compatible avec celles suivantes :-
--hook-name
-
--use-container
Par défaut :
--no-build-in-source
-
--cached | --no-cached
-
Activez ou désactivez les créations mises en cache. Utilisez cette option pour réutiliser les artefacts de build qui n'ont pas changé par rapport aux versions précédentes. AWS SAM évalue si vous avez modifié des fichiers dans le répertoire de votre projet. Par défaut, les créations ne sont pas mises en cache. Si l'
--no-cached
option est invoquée, elle remplace lecached = true
paramètre défini dans samconfig.toml.Note
AWS SAM n’évalue pas si vous avez modifié des modules tiers dont le projet dépend, si vous n’avez pas fourni de version spécifique. Par exemple, si votre fonction Python inclut un
requirements.txt
fichier contenant l'entréerequests=1.x
et que la dernière version du module de requête passe de1.1
à1.2
, AWS SAM elle n'extrait pas la dernière version tant que vous n'avez pas exécuté une version non mise en cache. --cache-dir
-
Le répertoire dans lequel les artefacts mis en cache sont stockés lorsque
--cached
est spécifié. Le répertoire mis en caché par défaut est.aws-sam/cache
. --config-env
TEXT
-
Le nom d’environnement spécifiant les valeurs de paramètre par défaut dans le fichier de configuration à utiliser. La valeur par défaut est « par défaut ». Pour plus d'informations sur les fichiers de configuration, consultez AWS SAM CLI Fichier de configuration .
--config-file
PATH
-
Le chemin d’accès et le nom du fichier de configuration contenant les valeurs de paramètres par défaut à utiliser. La valeur par défaut est «
samconfig.toml
» dans la racine du répertoire du projet. Pour plus d’informations sur les fichiers de configuration, consultez AWS SAM CLI Fichier de configuration . --container-env-var, -e
TEXT
-
Variables d’environnement à transmettre au conteneur de création. Vous pouvez spécifier cette option plusieurs fois. Chaque instance de cette option prend une paire clé-valeur, où la clé est la variable de ressource et d’environnement et la valeur est la valeur de la variable d’environnement. Par exemple :
--container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2
.Cette option ne s’applique que si l’option
--use-container
est spécifiée, dans le cas contraire, une erreur se produit. --container-env-var-file, -ef
PATH
-
Le chemin d’accès et le nom d’un fichier JSON contenant les valeurs des variables d’environnement de conteneur. Pour plus d’informations sur les fichier des variables d’environnement de conteneur, consultez Fichier de variables d'environnement du conteneur..
Cette option ne s'applique que si l'option
--use-container
est spécifiée, dans le cas contraire, une erreur se produit. --debug
-
Active la journalisation de débogage pour imprimer les messages de débogage générés par la CLI AWS SAM et pour afficher les horodatages.
--docker-network
TEXT
-
Spécifie le nom ou l’identifiant d’un réseau Docker existant auquel les conteneurs Docker Lambda doivent se connecter, avec le réseau de pont par défaut. Si cela n’est pas spécifié, les conteneurs Lambda se connectent uniquement au réseau Docker de pont par défaut.
--exclude, -x
-
Le nom de la ou des ressource(s) à exclure de
sam build
. Par exemple, si votre modèle contientFunction1
,Function2
etFunction3
et vous exécutezsam build --exclude Function2
, uniquementFunction1
etFunction3
seront créés. --help
-
Affiche ce message, puis se ferme.
--hook-name
TEXT
-
Nom du hook utilisé pour étendre la fonctionnalité de la CLI AWS SAM.
Valeurs acceptées :
terraform
. --manifest , -m
PATH
-
Le chemin d’accès à un fichier manifeste de dépendance personnalisé (par exemple, package.json) à utiliser à la place du fichier par défaut.
--mount-symlinks
-
Garantit le AWS SAMCLI montage permanent des liens symboliques présents dans les fichiers à créer ou à invoquer. Cela s'applique uniquement aux liens symboliques du répertoire de niveau supérieur (c'est-à-dire aux liens symboliques situés directement à la racine de la fonction). Par défaut, les liens symboliques ne sont pas montés, à l'exception de ceux nécessaires pour être utilisés
node_modules
dansbuild-in-source
NodeJS. --no-use-container
-
Option qui vous permet d'utiliser le kit d'outils IDE pour définir le comportement par défaut. Vous pouvez également l'utiliser
sam build --no-use-container
pour exécuter un build sur votre machine locale au lieu d'un conteneur docker. --parallel
-
Active les builds parallèles. Utilisez cette option pour créer les fonctions et les couches de votre AWS SAM modèle en parallèle. Par défaut, les fonctions et les couches sont créées en séquence.
--parameter-overrides
-
(Facultatif) Chaîne contenant des remplacements de AWS CloudFormation paramètres codés sous forme de paires clé-valeur. Utilise le même format que le AWS Command Line Interface (AWS CLI). Par exemple : «
ParameterKey
=KeyPairName
,ParameterValue
=MyKey
ParameterKey
=InstanceType
,ParameterValue
=t1.micro
». Cette option n'est pas compatible avec--hook-name
. --profile
TEXT
-
Le profil spécifique de votre fichier d'informations d'identification qui obtient les AWS informations d'identification.
--region
TEXT
-
Le Région AWS vers lequel déployer. Par exemple, us-east-1.
--save-params
-
Enregistrez les paramètres que vous fournissez sur la ligne de commande dans le fichier AWS SAM de configuration.
--skip-prepare-infra
-
Ignore l'étape de préparation si aucune modification d'infrastructure n'a été apportée. À utiliser avec l'option
--hook-name
. --skip-pull-image
-
Spécifie si la commande doit ignorer la dernière image Docker pour l’exécution Lambda.
--template-file, --template, -t
PATH
-
Le chemin et le nom du fichier AWS SAM modèle
[default: template.[yaml|yml]]
. Cette option n'est pas compatible avec--hook-name
. --terraform-project-root-path
-
Le chemin relatif ou absolu vers le répertoire de premier niveau contenant vos fichiers de configuration Terraform ou le code source de vos fonctions. Si ces fichiers se trouvent en dehors du répertoire contenant votre module racine Terraform, utilisez cette option pour spécifier son chemin absolu ou relatif. Cette option nécessite que
--hook-name
soit défini surterraform
. --use-container
,-u
-
Si les fonctions dépendent de packages avec des dépendances compilées nativement, utilisez cette option pour créer la fonction dans un conteneur Docker de type Lambda.
exemple
Pour un exemple détaillé et une présentation détaillée de l'utilisation de la sam build
sous-commande, reportez-vous à. Initiation à la construction avec AWS SAM