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: