Creación de recursos AWS IoT Greengrass con AWS CloudFormation - AWS IoT Greengrass

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.

Creación de recursos AWS IoT Greengrass con AWS CloudFormation

AWS IoT Greengrass está integrado con AWS CloudFormation, un servicio que le ayuda a modelar y configurar sus recursos de AWS para que pueda dedicar menos tiempo a crear y administrar sus recursos e infraestructura. Puede crear una plantilla que describa todos los recursos de AWS que desee (por ejemplo, las versiones e implementaciones del componente) y CloudFormation aprovisiona y configura estos recursos por usted.

Cuando utiliza CloudFormation, puede volver a utilizar la plantilla para configurar sus recursos de AWS IoT Greengrass de manera coherente y repetitiva. Solo tiene que describir los recursos una vez y luego aprovisionar los mismos recursos una y otra vez en varias Cuentas de AWS y regiones.

Plantillas de AWS IoT Greengrass y CloudFormation

Para aprovisionar y configurar recursos para AWS IoT Greengrass y servicios relacionados, debe entender las plantillas de CloudFormation. Las plantillas son archivos de texto con formato JSON o YAML. Estas plantillas describen los recursos que desea aprovisionar en sus pilas de CloudFormation. Si no está familiarizado con JSON o YAML, puede utilizar Designer de CloudFormation para comenzar a utilizar las plantillas de CloudFormation. Para obtener más información, consulte ¿Qué es Designer de CloudFormation? en la Guía del usuario de AWS CloudFormation.

AWS IoT Greengrass admite la creación de versiones e implementaciones del componente en CloudFormation. Para obtener más información, incluyendo ejemplos de plantillas JSON y YAML para las versiones e implementaciones del componente, consulte la referencia del tipo de recurso de AWS IoT Greengrass en la Guía del usuario de AWS CloudFormation.

Ejemplo de plantilla de ComponentVersion

A continuación, se muestra la plantilla YAML para una versión de un componente simple. La receta de JSON incluye saltos de línea por motivos de legibilidad.

Parameters: ComponentVersion: Type: String Resources: TestSimpleComponentVersion: Type: AWS::GreengrassV2::ComponentVersion Properties: InlineRecipe: !Sub - "{\n \"RecipeFormatVersion\": \"2020-01-25\",\n \"ComponentName\": \"component1\",\n \"ComponentVersion\": \"${ComponentVersion}\",\n \"ComponentType\": \"aws.greengrass.generic\",\n \"ComponentDescription\": \"This\",\n \"ComponentPublisher\": \"You\",\n \"Manifests\": [\n {\n \"Platform\": {\n \"os\": \"darwin\"\n },\n \"Lifecycle\": {},\n \"Artifacts\": []\n },\n {\n \"Lifecycle\": {},\n \"Artifacts\": []\n }\n ],\n \"Lifecycle\": {\n \"install\": {\n \"script\": \"yuminstallpython\"\n }\n }\n }" - { ComponentVersion: !Ref ComponentVersion }

Ejemplo de plantilla de implementación

El siguiente es un archivo YAML que define una plantilla sencilla para una implementación.

Parameters: ComponentVersion: Type: String TargetArn: Type: String Resources: TestDeployment: Type: AWS::GreengrassV2::Deployment Properties: Components: component1: ComponentVersion: !Ref ComponentVersion TargetArn: !Ref TargetArn DeploymentName: CloudFormationIntegrationTest DeploymentPolicies: FailureHandlingPolicy: DO_NOTHING ComponentUpdatePolicy: TimeoutInSeconds: 5000 Action: SKIP_NOTIFY_COMPONENTS ConfigurationValidationPolicy: TimeoutInSeconds: 30000 Outputs: TestDeploymentArn: Value: !Sub - arn:${AWS::Partition}:greengrass:${AWS::Region}:${AWS::AccountId}:deployments:${DeploymentId} - DeploymentId: !GetAtt TestDeployment.DeploymentId

Obtención de más información sobre CloudFormation

Para conocer más información acerca de CloudFormation, consulte los siguientes recursos: