AWS::Serverless::Application - 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.

AWS::Serverless::Application

Integrar una aplicación sin servidor desde AWS Serverless Application Repository o desde un bucket de Amazon S3 como una aplicación anidada. Las aplicaciones anidadas se implementasn como recursos anidados AWS::CloudFormation::Stack, que pueden contener varios otros recursos, incluidos otros recursos AWS::Serverless::Application.

nota

Al realizar la implementación en AWS CloudFormation, AWS SAM transforma sus recursos de AWS SAM en recursos de CloudFormation. Para obtener más información, consulta Recursos de CloudFormation generados para AWS SAM.

Sintaxis

Para declarar esta entidad en su plantilla de AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis:

YAML

Type: AWS::Serverless::Application Properties: Location: String | ApplicationLocationObject NotificationARNs: List Parameters: Map Tags: Map TimeoutInMinutes: Integer

Propiedades

Location

URL de plantilla, ruta de archivo o objeto de ubicación de una aplicación anidada.

Si se proporciona una URL de plantilla, debe seguir el formato especificado en la documentación de CloudFormation TemplateURL y contener una plantilla CloudFormation o SAM válida. ApplicationLocationObject se puede utilizar para especificar una aplicación que se ha publicado en AWS Serverless Application Repository

Si se proporciona una ruta de archivo local, la plantilla debe seguir el flujo de trabajo que incluye el sam package o el comando sam deploy para que la aplicación se transforme correctamente.

Tipo: String | ApplicationLocationObject

Obligatorio: sí

Compatibilidad con CloudFormation: esta propiedad es similar a la propiedad TemplateURL de un recurso AWS::CloudFormation::Stack. La versión de CloudFormation no utiliza ApplicationLocationObject para recuperar una aplicación del AWS Serverless Application Repository.

NotificationARNs

Una lista de temas de Amazon SNS, a la que se envían notificaciones sobre eventos de la pila.

Tipo: Lista

Obligatorio: no

Compatibilidad con CloudFormation: esta propiedad se transfiere directamente a la propiedad NotificationARNs de un recurso AWS::CloudFormation::Stack.

Parameters

Valores de los parámetros de aplicación.

Tipo: mapa

Obligatorio: no

Compatibilidad con CloudFormation: esta propiedad se transfiere directamente a la propiedad Parameters de un recurso AWS::CloudFormation::Stack.

Tags

Un mapa (cadena a cadena) que especifica las etiquetas agregadas a esta aplicación. Los valores y claves están limitados a caracteres alfanuméricos. Las claves pueden tener de 1 a 127 caracteres Unicode y no pueden ir precedidas de aws: Los valores pueden tener de 1 a 255 caracteres Unicode.

Tipo: mapa

Obligatorio: no

Compatibilidad con CloudFormation: esta propiedad es similar a la propiedad Tags de un recurso AWS::CloudFormation::Stack. La propiedad de etiquetas en SAM consta de pares Clave:Valor; en CloudFormation, consta de una lista de objetos de etiquetas. Cuando se crea la pila, SAM añadirá automáticamente una etiqueta lambda:createdBy:SAM a esta aplicación. Además, si esta aplicación es de AWS Serverless Application Repository, SAM también enviará automáticamente las dos etiquetas adicionales serverlessrepo:applicationId:ApplicationId y serverlessrepo:semanticVersion:SemanticVersion.

TimeoutInMinutes

El periodo de tiempo, en minutos, que CloudFormation espera a que la pila anidada alcance el estado CREATE_COMPLETE. El valor predeterminado es sin tiempo de espera. Cuando CloudFormation detecta que la pila anidada ha alcanzado el estado CREATE_COMPLETE, marca el recurso de la pila anidada como CREATE_COMPLETE en la pila principal y reanuda la creación de la pila principal. Si el periodo de tiempo de espera vence antes de que la pila anidada alcance CREATE_COMPLETE, CloudFormation marca la pila anidada como error y restaura la pila anidada y la pila principal.

Tipo: entero

Obligatorio: no

Compatibilidad con CloudFormation: esta propiedad se transfiere directamente a la propiedad TimeoutInMinutes de un recurso AWS::CloudFormation::Stack.

valores devueltos

Ref.

Cuando se proporciona el ID lógico de este recurso a la función intrínseca Ref, esta devuelve el nombre del recurso subyacente AWS::CloudFormation::Stack.

Para obtener más información sobre el uso de la función Ref, consulta Ref en la Guía del usuario de AWS CloudFormation.

Fn::GetAtt

Fn::GetAtt devuelve un valor para un atributo especificado de este tipo. A continuación se indican los atributos disponibles y los valores devueltos de muestra.

Para obtener más información acerca de cómo usar Fn::GetAtt, consulta Fn::GetAtt en la Guía del usuario de AWS CloudFormation.

Outputs.ApplicationOutputName

El valor de la salida de la pila con su nombre ApplicationOutputName.

Ejemplos

Aplicaciones SAR

Aplicación que usa una plantilla del Serverless Application Repository

YAML

Type: AWS::Serverless::Application Properties: Location: ApplicationId: 'arn:aws:serverlessrepo:us-east-1:012345678901:applications/my-application' SemanticVersion: 1.0.0 Parameters: StringParameter: parameter-value IntegerParameter: 2

Aplicación normal

Aplicación desde una URL de S3

YAML

Type: AWS::Serverless::Application Properties: Location: https://s3.amazonaws.com/sam-s3-demo-bucket/template.yaml