Uso de aplicaciones anidadas - 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.

Uso de aplicaciones anidadas

Una aplicación sin servidor puede incluir una o variasAplicaciones anidadas. Puede implementar una aplicación anidada como artefacto independiente o como componente de una aplicación más grande.

A medida que crecen las arquitecturas sin servidor, surgen patrones comunes en los que se definen los mismos componentes en varias plantillas de aplicación. Ahora puede separar patrones comunes como aplicaciones dedicadas y, a continuación, anidarlos como parte de plantillas de aplicaciones nuevas o existentes. Con las aplicaciones anidadas, puede centrarse más en la lógica empresarial exclusiva de su aplicación.

Para definir una aplicación anidada en la aplicación sin servidor, utilice elAWS::Serverless::ApplicationTipo de recurso de .

Puede definir aplicaciones anidadas de los dos orígenes siguientes:

  • UnAWS Serverless Application Repositoryaplicación— Puede definir aplicaciones anidadas mediante aplicaciones que están disponibles para su cuenta en elAWS Serverless Application Repository. Puede serprivateaplicaciones de su cuenta, aplicaciones que sonPrivadamente compartidocon tu cuenta o aplicaciones que esténpúblicamente compartidoen laAWS Serverless Application Repository. Para obtener más información acerca de los distintos niveles de permisos de implementación, consultePermisos de implementación de aplicacionesyPublicación de aplicacionesen laAWS Serverless Application RepositoryGuía para desarrolladores.

  • UNAaplicación local: puede definir aplicaciones anidadas mediante aplicaciones que se almacenan en el sistema de archivos local.

Consulte las secciones siguientes para obtener más información sobre cómo utilizarAWS SAMpara definir estos dos tipos de aplicaciones anidadas en la aplicación sin servidor.

nota

El número máximo de aplicaciones que se pueden anidar en una aplicación sin servidor es de 200.

El número máximo de parámetros que puede tener una aplicación anidada es de 60.

Definición de una aplicación anidada desde elAWS Serverless Application Repository

Puede definir aplicaciones anidadas mediante aplicaciones que están disponibles en elAWS Serverless Application Repository. También puede almacenar y distribuir aplicaciones que contienen aplicaciones anidadas mediante elAWS Serverless Application Repository. Para revisar los detalles de una aplicación anidada en elAWS Serverless Application Repository, puede utilizar laAWSEl SDK, laAWS CLIo la consola de Lambda.

Para definir una aplicación alojada en elAWS Serverless Application Repositoryen la aplicación sin servidorAWS SAMEn la plantilla de, utilice laCopiar como recurso SAMen la página de detalles de cadaAWS Serverless Application Repositoryrevisiones de. Para ello, siga estos pasos:

  1. Asegúrese de haber iniciado sesión en laAWS Management Console.

  2. Busque la aplicación que desea anidar en laAWS Serverless Application Repositoryutilizando los pasos de laExploración, búsqueda e implementación de aplicacionesSección sobre de laAWS Serverless Application RepositoryGuía para desarrolladores.

  3. Elija el iconoCopiar como recurso SAMBotón. La sección de plantilla SAM de la aplicación que estás viendo se encuentra ahora en el portapapeles.

  4. Pegue la sección de plantilla SAM en elResources:del archivo de plantilla SAM de la aplicación que desea anidar en esta aplicación.

A continuación se muestra un ejemplo de sección de plantilla SAM para una aplicación anidada alojada en elAWS Serverless Application Repository:

Transform: AWS::Serverless-2016-10-31 Resources: applicationaliasname: Type: AWS::Serverless::Application Properties: Location: ApplicationId: arn:aws:serverlessrepo:us-east-1:123456789012:applications/application-alias-name SemanticVersion: 1.0.0 Parameters: # Optional parameter that can have default value overridden # ParameterName1: 15 # Uncomment to override default value # Required parameter that needs value to be provided ParameterName2: YOUR_VALUE

Si no hay una configuración de parámetros obligatoria, puede omitir laParameters:sección de la plantilla.

importante

Aplicaciones que contienen aplicaciones anidadas alojadas en elAWS Serverless Application Repositoryhereda las restricciones de uso compartido de las aplicaciones anidadas.

Por ejemplo, supongamos que una aplicación se comparte públicamente, pero contiene una aplicación anidada que solo se comparte privadamente con laAWScuenta que creó la aplicación principal. En este caso, si suAWSLa cuenta no tiene permiso para implementar la aplicación anidada, no puede implementar la aplicación principal. Para obtener más información acerca de los permisos para implementar aplicaciones, consultePermisos de implementación de aplicacionesyPublicación de aplicacionesen laAWS Serverless Application RepositoryGuía para desarrolladores.

Definición de una aplicación anidada desde el sistema de archivos local

Puede definir aplicaciones anidadas mediante aplicaciones que se almacenan en el sistema de archivos local. Para ello, especifique la ruta de acceso a laAWS SAMfichero de plantilla que se almacena en su sistema de archivos local.

A continuación se muestra un ejemplo de sección de plantilla SAM para una aplicación local anidada:

Transform: AWS::Serverless-2016-10-31 Resources: applicationaliasname: Type: AWS::Serverless::Application Properties: Location: ../my-other-app/template.yaml Parameters: # Optional parameter that can have default value overridden # ParameterName1: 15 # Uncomment to override default value # Required parameter that needs value to be provided ParameterName2: YOUR_VALUE

Si no hay configuración de parámetros, puede omitir laParameters:sección de la plantilla.

Implementación de aplicaciones anidadas

Puede implementar la aplicación anidada mediante elAWS SAMCommand de la CLIsam deploy. Para obtener más información, consulte Implementación de aplicaciones sin servidor.

nota

Cuando implementa una aplicación que contiene aplicaciones anidadas, debe reconocerlo. Para ello, transfiera CAPABILITY_AUTO_EXPAND a laCreateCloudFormationChangeSet de API, o utilizar elaws serverlessrepo create-cloud-formation-change-set AWS CLIcomando.

Para obtener más información acerca de cómo confirmar aplicaciones anidadas, consulteConfirmación de roles de IAM, políticas de recursos y aplicaciones anidadas al implementar aplicacionesen laAWS Serverless Application RepositoryGuía para desarrolladores.