sam deploy - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

sam deploy

Implementar unAWS SAMrevisiones de.

De forma predeterminada, cuando se utiliza este comando, elAWS SAMCLI supone que el directorio de trabajo actual es el directorio raíz de su proyecto. LaAWS SAMEn primer lugar, la CLI intenta localizar un archivo de plantilla creado mediante elsam build, que se encuentra en el.aws-samsubcarpeta y con nombretemplate.yaml. A continuación, elAWS SAMCLI intenta localizar un archivo de plantilla denominadotemplate.yamlotemplate.ymlen el directorio de trabajo actual. Si especifica el--templateopción,AWS SAMEl comportamiento predeterminado de la CLI se anulará y se implementará precisamente esoAWS SAMplantilla y los recursos locales a los que apunta.

Este comando viene con un modo interactivo guiado, que puede habilitar especificando el--guidedopción. El modo interactivo le guía a través de los parámetros necesarios para la implementación, proporciona opciones predeterminadas y, opcionalmente, guarda estas opciones en un archivo de configuración del directorio de proyecto. Cuando realiza implementaciones posteriores de la aplicación mediantesam deploy, elAWS SAMCLI recupera los parámetros necesarios del archivo de configuración.

Objetos declarados en elParametersSección sobre de laAWS SAMel archivo de plantilla aparece como solicitudes de modo interactivo adicionales. Se le pide que proporcione valores para cada parámetro. Para ver ejemplos de estos objetos y las solicitudes correspondientes, consulte laEjemplosMás adelante en este tema.

Las aplicaciones sin servidor que configura con firma de código generan más solicitudes de modo interactivo. Se te pregunta si quieres que se firme el código y, de ser así, se te pedirá que introduzcas nombres de perfil de firma y propietarios. Para ver ejemplos de estas indicaciones, consulte laEjemplosMás adelante en este tema.

Para obtener más información acerca de la configuración que se almacenan opcionalmente al especificar el parámetro--guidedopción, consulteAWS SAMArchivo de configuración de la CLI.

ImplementaciónAWS Lambdafunciones a través deAWS CloudFormationrequiere un bucket de Amazon Simple Storage Service (Amazon S3) para el paquete de implementación de Lambda. LaAWS SAMCLI crea y administra este depósito de Amazon S3 por usted.AWS SAMpermite el cifrado de todos los archivos almacenados en Amazon S3.

Si la aplicación incluye cualquier función o recursos de capa declarados conPackageType: Image, a continuación, puede instruir a laAWS SAMCLI para crear automáticamente los repositorios de Amazon ECR necesarios para usted, mediante el--resolve-image-reposo la opción--guidedy responder al mensaje «¿Crear repositorios ERC administrados para todas las funciones?» conY.

Uso:

sam deploy [OPTIONS] [ARGS]...

Opciones:

Opción Descripción
-g, --guided

Especifique esta opción para tenerAWS SAMUtilice avisos para guiarlo durante la implementación.

-t, --template-file, --template PATH Ruta y nombre de archivo dondeAWS SAMSe encuentra la plantilla.

Nota: Si especifica esta opción,AWS SAMimplementa solo la plantilla y los recursos locales a los que apunta.

--stack-name TEXT (Obligatorio) nombre delAWS CloudFormationPila en la que está llevando a cabo la implementación de. Si especifica una pila existente, el comando la actualiza. Si especifica una nueva pila, el comando la crea.
--s3-bucket TEXT El nombre del bucket de Amazon S3 donde este comando carga el bucketAWS CloudFormationPlantilla de. Si la plantilla tiene más de 51.200 bytes, entonces el--s3-bucketo el--resolve-s3La opción es obligatoria. Si especifica tanto el--s3-buckety--resolve-s3A continuación, se producirá un error.
--s3-prefix TEXT El prefijo añadido a los nombres de los artefactos que se cargan en el bucket de Amazon S3. El nombre del prefijo es un nombre de ruta (nombre de carpeta) del bucket de Amazon S3.
--image-repository TEXT El nombre del repositorio Amazon Elastic Container Registry (Amazon ECR) donde este comando carga la imagen de la función. Necesario para funciones declaradas con elImagetipo de paquete.
--signing-profiles LIST La lista de perfiles de firma con los que firmar los paquetes de implementación. Esta opción toma una lista de pares clave-valor, donde la clave es el nombre de la función o capa que se va a firmar y el valor es el perfil de firma, con un propietario de perfil opcional delimitado con:. Por ejemplo, FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner.
--capabilities LIST Una lista de las capacidades que debe especificar para permitirAWS CloudFormationpara crear ciertas pilas. Algunas plantillas de pila podrían incluir recursos que pueden afectar a los permisos de laAWScuenta, por ejemplo, creando una nuevaAWS Identity and Access Management(IAM) usuarios. Para estas pilas, debe reconocer explícitamente sus capacidades especificando esta opción. Los únicos valores válidos son CAPABILITY_IAM y CAPABILITY_NAMED_IAM. Si tiene recursos de IAM, puede especificar cualquiera de las dos capacidades. Si tiene recursos de IAM con nombres personalizados, debe especificar CAPABILITY_NAMED_IAM. Si no especifica esta opción, la operación devuelve unInsufficientCapabilities.
--region TEXT LaAWSRegión en la que desea implementar. Por ejemplo, us-east-1.
--profile TEXT El perfil específico del archivo de credenciales que obtieneAWSCredenciales de .
--kms-key-id TEXT El ID de unAWS Key Management Service(AWS KMS) utilizada para cifrar artefactos que están en reposo en el depósito de Amazon S3. Si no se especifica esta opción, entoncesAWS SAMutiliza claves de cifrado administradas por Amazon S3.
--force-upload Especifique esta opción para cargar artefactos incluso si coinciden con los artefactos existentes en el depósito de Amazon S3. Se sobrescriben artefactos coincidentes.
--no-execute-changeset Indica si se debe ejecutar el conjunto de cambios. Especifique esta opción si desea ver los cambios de la pila antes de ejecutar el conjunto de cambios. Este comando crea unAWS CloudFormationchangeset y, a continuación, se cierra sin ejecutar el conjunto de cambios. Para ejecutar el conjunto de cambios, ejecute el mismo comando sin esta opción.
--role-arn TEXT El nombre de recurso de Amazon (ARN) de un rol de IAM queAWS CloudFormationSe supone al ejecutar el conjunto de cambios.
--fail-on-empty-changeset | --no-fail-on-empty-changeset Especifique si desea devolver un código de salida distinto de cero si no hay cambios que realizar en la pila. El comportamiento predeterminado es devolver un código de salida distinto de cero.
--confirm-changeset | --no-confirm-changeset Preguntar para confirmar si elAWS SAMCLI implementa el conjunto de cambios calculados.
--use-json JSON de salida para elAWS CloudFormationPlantilla de. El resultado predeterminado es YAML.
--resolve-s3 Cree automáticamente un bucket de Amazon S3 para utilizarlo para empaquetar e implementar implementaciones no guiadas. Si especifica el--guidedopción, luego--resolve-s3se omite. Si especifica tanto el--s3-buckety--resolve-s3A continuación, se producirá un error.
--resolve-image-repos Cree automáticamente repositorios de Amazon ECR para utilizarlos para empaquetar e implementar implementaciones no guiadas. Esta opción aplica solo a las funciones y capas conPackageType: Imageespecificado. Si especifica el--guidedy, a continuación, se ignora —resolve-image-repos. Nota: SiAWS SAMcrea automáticamente cualquier repositorio de Amazon ECR para funciones o capas con esta opción y posteriormente eliminará esas funciones o capas de suAWS SAM, los repositorios de Amazon ECR correspondientes se eliminarán automáticamente.
--metadata Mapa de metadatos para adjuntar a todos los artefactos a los que se hace referencia en la plantilla.
--notification-arns LIST Una lista de los ARN del tema de Amazon Simple Notification Service (Amazon SNS) queAWS CloudFormationSe asocia a la pila.
--tags LIST Una lista de etiquetas para asociarlas a la pila que se crea o actualiza.AWS CloudFormationtambién propaga estas etiquetas a los recursos de la pila que la admite.
--parameter-overrides Una cadena que contieneAWS CloudFormationModificaciones de parámetros codificadas como pares clave-valor. Utilice el mismo formato que elAWS Command Line Interface(AWS CLI). Por ejemplo, ParameterKey=ParameterValue InstanceType=t1.micro.
--disable-rollback | --no-disable-rollback Especifique si desea revertir suAWS CloudFormationSe acumulan si se produce un error durante una implementación. De forma predeterminada, suAWS CloudFormationla pila vuelve al último estado estable si se produce un error durante una implementación. Si especifica--disable-rollbacky se produce un error durante una implementación, los recursos que se han creado o actualizado antes de que se produzca el error no se deshacen.
--config-file PATH Ruta y nombre de archivo del archivo de configuración que contiene los valores de parámetro predeterminados para utilizar. El valor predeterminado essamconfig.tomlen la raíz del directorio del proyecto. Para obtener más información sobre los archivos de configuración, consulte AWS SAMArchivo de configuración de la CLI.
--config-env TEXT El nombre del entorno que especifica los valores de parámetros predeterminados en el archivo de configuración que se va a utilizar. El valor predeterminado es default. Para obtener más información sobre los archivos de configuración, consulte AWS SAMArchivo de configuración de la CLI.
--no-progressbar No muestre una barra de progreso al cargar artefactos en Amazon S3.
--debug Activa el registro de depuración para imprimir el mensaje de depuración que indicaAWS SAMCLI genera y muestra marcas de hora.
--help Muestra este mensaje y cierra el mensaje.

Variables de entorno:

Variable de entorno Descripción
SAM_CLI_POLL_DELAY

Especificar un retraso, en segundos, entreDesbribeStackLlamadas a la API.

Ejemplos

Parámetros

A continuación se muestra un objeto de ejemplo declarado en elParametersy el mensaje correspondiente que aparece al utilizarsam deploy --guided.

AWS SAMPlantilla:

Parameters: MyPar: Type: String Default: MyParVal

Correspondientesam deploy --guided:

Parameter MyPar [MyParVal]:

Firma de código

He aquí un ejemplo de función configurada con firma de código.

AWS SAMPlantilla:

Resources: HelloWorld: Type: AWS::Serverless::Function Properties: CodeUri: hello_world/ Handler: app.lambda_handler Runtime: python3.7 CodeSigningConfigArn: arn:aws:lambda:us-east-1:111122223333:code-signing-config:csc-12e12345db1234567

Correspondientesam deploy --guidedavisos:

#Found code signing configurations in your function definitions Do you want to sign your code? [Y/n]: #Please provide signing profile details for the following functions & layers #Signing profile details for function 'HelloWorld' Signing Profile Name: Signing Profile Owner Account ID (optional): #Signing profile details for layer 'MyLayer', which is used by functions {'HelloWorld'} Signing Profile Name: Signing Profile Owner Account ID (optional):

SAM_CLI_POLL_DELAY

A continuación se muestra un ejemplosam deployLlamada a la medianteSAM_CLI_POLL_DELAYvariable para establecer un retraso de 5 segundos entreDescribeStackLlamadas a la API.

SAM_CLI_POLL_DELAY=5 sam deploy