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 l'interface de ligne de AWS Serverless Application Model commande (AWS SAM CLI) sam build
commande.
-
Pour une introduction au AWS SAM CLI, voir Qu'est-ce que le AWS SAM CLI?
-
Pour obtenir de la documentation sur l'utilisation du AWS SAM CLI
sam build
commande, voirInitiation à 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'image URI du conteneur que vous souhaitez extraire pour la construction. Par défaut, AWS SAM extrait l'image du 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 URI de l'image du conteneur à utiliser pour toutes les ressources de votre application. Par exemple,
sam build --use-container --build-image amazon/aws-sam-cli-build-image-python3.8
. Si vous spécifiez une paire clé-valeur, la clé est le nom de la ressource et la valeur est celle URI de l'image du 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 :-
Runtimes : tous Node.js temps d'exécution pris en charge par l'
sam init --runtime
option. -
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'option
--no-cached
est invoquée, elle surpasse le paramètrecached = true
dans samcofig.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 et le nom de JSON fichier d'un fichier contenant les valeurs des variables d'environnement du 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 du débogage pour imprimer les messages de débogage indiquant que AWS SAM CLI génère et pour afficher les horodatages.
--docker-network
TEXT
-
Spécifie le nom ou l'ID d'un objet existant Docker réseau que Lambda Docker les conteneurs doivent se connecter au réseau de ponts par défaut, ainsi qu'au réseau de ponts par défaut. Si ce n'est pas spécifié, les conteneurs Lambda se connectent uniquement au pont par défaut Docker réseau.
--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
-
Le nom du hook utilisé pour étendre AWS SAM CLI fonctionnalité.
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.
--parallel
-
Créations parallèles actives. 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 votre Terraform fichiers de configuration ou code source de fonction. Si ces fichiers se trouvent en dehors du répertoire contenant votre Terraform module racine, 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