Infraestructura de componentes en forma de archivos de código - AWS Proton

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.

Infraestructura de componentes en forma de archivos de código

Los archivos de infraestructura como código (IaC) de los componentes son similares a los de otros recursos de AWS Proton. Aquí encontrará información sobre algunos detalles específicos de los componentes. Para obtener información completa sobre la creación de archivos de IaC para AWS Proton, consulte Creación de plantillas y creación de paquetes para AWS Proton.

Uso de parámetros con componentes

El espacio de nombres de parámetros de AWS Proton incluye algunos parámetros a los que puede hacer referencia un archivo de IaC de un servicio para obtener el nombre y las salidas de un componente asociado. El espacio de nombres también incluye parámetros a los que puede hacer referencia un archivo de IaC de un componente para obtener entradas, salidas y valores de recursos del entorno, el servicio y la instancia de servicio a los que está asociado el componente.

Un componente no tiene entradas propias, sino que las obtiene de la instancia de servicio a la que esté conectado. Un componente también puede leer las salidas del entorno.

Para obtener más información sobre el uso de parámetros en los archivos de IaC de los componentes y servicios asociados, consulte Detalles y ejemplos de los parámetros del archivo CloudFormation IaC del componente. Para obtener información general sobre los parámetros de AWS Proton y una referencia completa del espacio de nombres de los parámetros, consulte AWS Proton parámetros.

Creación de archivos de IaC robustos

Como administrador, al crear una versión de plantilla de servicio, puede decidir si desea permitir que las instancias de servicio creadas a partir de la versión de plantilla tengan componentes conectados. Consulte el parámetro supportedComponentSources de la acción de la API CreateServiceTemplateVersion en la Referencia de la API de AWS Proton. Sin embargo, para cualquier instancia de servicio futura, la persona que crea la instancia decide si conecta o no un componente en ella y (en el caso de los componentes definidos directamente) quien crea la IaC del componente suele ser una persona diferente: un desarrollador que utiliza su plantilla de servicio. Por lo tanto, el usuario no puede garantizar que un componente se conecte a una instancia de servicio. Tampoco puede garantizar la existencia de nombres de salida de componentes específicos ni la validez y seguridad de los valores de estas salidas.

AWS Proton y la sintaxis de Jinja le ayudan a solucionar estos problemas y a crear plantillas de servicio robustas que se representan sin errores de las siguientes maneras:

  • Filtros de parámetros de AWS Proton: cuando hace referencia a las propiedades de salida de los componentes, puede utilizar filtros de parámetros, es decir, modificadores que validan y filtran los valores de los parámetros y además les dan formato. Para obtener más información y ejemplos, consulte Filtros de parámetros para archivos CloudFormation IaC.

  • Propiedad predeterminada única: cuando el usuario hace referencia a un único recurso o propiedad de salida de un componente, puede garantizar que no se producirán errores en la representación de la plantilla de servicio mediante el uso del filtro default, con o sin un valor predeterminado. Si el componente o un parámetro de salida específico al que el usuario hace referencia no existe, se representa en su lugar el valor predeterminado (o una cadena vacía, si no se ha especificado ningún valor predeterminado) y dicha representación se realiza correctamente. Para obtener más información, consulte Provisión de valores predeterminados para referencias inexistentes.

    Ejemplos:

    • {{ service_instance.components.default.name | default("") }}

    • {{ service_instance.components.default.outputs.my-output | default("17") }}

    nota

    No hay que confundir la parte .default del espacio de nombres, que designa los componentes definidos directamente, con el filtro default, que proporciona un valor predeterminado cuando la propiedad a la que se hace referencia no existe.

  • Referencia de objeto completo: cuando se hace referencia a todo el componente o al conjunto de salidas de un componente, AWS Proton devuelve un objeto vacío, {}, y, por lo tanto, garantiza que no se producirá ningún error al representar la plantilla de servicio. No es necesario que utilice ningún filtro. Asegúrese de hacer la referencia en un contexto que pueda incluir un objeto vacío o utilice una condición {{ if .. }} para comprobar si hay un objeto vacío.

    Ejemplos:

    • {{ service_instance.components.default }}

    • {{ service_instance.components.default.outputs }}