Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Transformación AWS::Include

Modo de enfoque
Transformación AWS::Include - AWS CloudFormation
Filtrar vista

En este tema se describe cómo usar la transformación AWS::Include para insertar contenido reutilizable en las plantillas de CloudFormation.

AWS::Include es una macro de CloudFormation que, al hacer referencia a ella en la plantilla de la pila, inserta el contenido del archivo especificado en la ubicación de la transformación en la plantilla al crear o actualizar una pila mediante un conjunto de cambios. La función AWS::Include se comporta de forma similar a una directiva include, copy o import en los lenguajes de programación.

Uso

Puede utilizar la transformación AWS::Include en cualquier lugar de la plantilla de CloudFormation, salvo en la sección de los parámetros de las plantillas o en la versión de la plantilla. Por ejemplo, puede utilizar AWS::Include en la sección de mapeos.

Sintaxis de nivel superior de una plantilla

Para declarar esta transformación en la parte superior de su plantilla de CloudFormation, como sección Transform, utilice la siguiente sintaxis:

JSON

{ "Transform":{ "Name":"AWS::Include", "Parameters":{ "Location":"s3://amzn-s3-demo-bucket/MyFileName.json" } }, "Resources":{ ... } }

YAML

Transform: Name: 'AWS::Include' Parameters: Location: 's3://amzn-s3-demo-bucket/MyFileName.yaml' Resources: ...

Sintaxis cuando la transformación está integrada en una sección de una plantilla

Para declarar esta transformación dentro de una sección de su plantilla de CloudFormation, utilice la función intrínseca Fn::Transform y la siguiente sintaxis:

JSON

{ "Fn::Transform":{ "Name":"AWS::Include", "Parameters":{ "Location":"s3://amzn-s3-demo-bucket/MyFileName.json" } } }

YAML

'Fn::Transform': Name: 'AWS::Include' Parameters: Location: s3://amzn-s3-demo-bucket/MyFileName.yaml

Para obtener más información, consulte Fn::Transform.

Parámetros

Location

La ubicación es una URI de Amazon S3 con un nombre de archivo específico en un bucket de S3. Por ejemplo, s3://amzn-s3-demo-bucket/MyFile.yaml.

Consideraciones

Cuando utilice AWS::Include, tenga en cuenta las siguientes consideraciones. Para obtener más información sobre el uso de macros, consulte Consideraciones sobre las macros en la Guía del usuario de AWS CloudFormation.

  • En la actualidad, se admiten URI de Amazon S3, pero en ningún otro formato de Amazon S3 (como ARN de Amazon S3). Debe ser un bucket de Amazon S3, en lugar de algo parecido a un repositorio de GitHub.

  • Cualquier persona que tenga acceso a la dirección URL de Amazon S3 puede incluir el fragmento en su plantilla.

  • Sus fragmentos de plantilla tienen que ser un JSON válido.

  • Sus fragmentos de plantilla tienen que ser objetos de clave-valor válidos; por ejemplo, "KeyName": "keyValue".

  • No puede utilizar AWS::Include para hacer referencia a un fragmento de código de la plantilla que también utiliza AWS::Include.

  • Si los fragmentos cambian, la pila no aplica automáticamente esos cambios. Para obtener esos cambios, debe actualizar la pila con los fragmentos actualizados. Si actualiza la pila, asegúrese de que los fragmentos que ha incluido no han cambiado sin que usted lo sepa. Para verificarlo antes de actualizar la pila, compruebe el conjunto de cambios.

  • Al crear plantillas y fragmentos, puede combinar los lenguajes de plantillas YAML y JSON.

  • Actualmente no admitimos el uso de notaciones abreviadas para los fragmentos de YAML.

  • Puede proporcionar una URI de Amazon S3 de replicación entre regiones con AWS::Include. Asegúrese de comprobar los nombres de los buckets de Amazon S3 al obtener acceso a los objetos de la replicación entre regiones. Para obtener más información, consulte Replicación de objetos dentro de regiones y entre regiones en la Guía del usuario de Amazon S3.

Ejemplos

En los siguientes ejemplos, se muestra cómo utilizar la transformación AWS::Include para ejecutar un identificador de condición de espera. Reemplace amzn-s3-demo-bucket por el nombre real de su bucket.

En primer lugar, guarde un archivo YAML denominado single_wait_condition.yaml en su bucket de S3 con el siguiente contenido:

MyWaitCondition: Type: AWS::CloudFormation::WaitCondition Properties: Handle: !Ref MyWaitHandle Timeout: '4500'

A continuación, puede hacer referencia a este archivo en formato JSON o YAML.

JSON

{ "Resources": { "MyWaitHandle": { "Type": "AWS::CloudFormation::WaitConditionHandle" }, "Fn::Transform": { "Name": "AWS::Include", "Parameters": { "Location": "s3://amzn-s3-demo-bucket/single_wait_condition.yaml" } } } }

YAML

Resources: MyWaitHandle: Type: AWS::CloudFormation::WaitConditionHandle 'Fn::Transform': Name: 'AWS::Include' Parameters: Location: "s3://amzn-s3-demo-bucket/single_wait_condition.yaml"

Para obtener más información, consulte Creación de condiciones de espera en una plantilla de CloudFormation en la Guía del usuario de AWS CloudFormation.

En esta página

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.