使用 Amazon CloudFormation 创建 Amazon IoT Greengrass 资源 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon CloudFormation 创建 Amazon IoT Greengrass 资源

Amazon IoT Greengrass 与 Amazon CloudFormation 集成,后者是一项服务,可帮助您对 Amazon 资源进行建模和设置,这样您只需花较少的时间来创建和管理资源与基础设施。您创建了一个描述所有内容的模板Amazon你想要的资源(例如组件版本和部署),以及Amazon CloudFormation为您预置和配置这些资源。

在您使用 Amazon CloudFormation 时,可重复使用您的模板来不断地重复设置您的 Amazon IoT Greengrass 资源。描述您的资源一次,然后在多个 Amazon Web Services 账户 和区域中反复预置相同的资源。

Amazon IoT Greengrass 和 Amazon CloudFormation 模板

要为 Amazon IoT Greengrass 和相关服务设置和配置资源,您必须了解 Amazon CloudFormation 模板。模板是 JSON 或 YAML 格式的文本文件。这些模板描述要在 Amazon CloudFormation 堆栈中调配的资源。如果您不熟悉 JSON 或 YAML,可以在 Amazon CloudFormation Designer 的帮助下开始使用 Amazon CloudFormation 模板。有关更多信息,请参阅 Amazon CloudFormation 用户指南中的什么是 Amazon CloudFormation Designer?

Amazon IoT Greengrass支持在中创建组件版本和部署Amazon CloudFormation. 有关更多信息(包括组件版本和部署的 JSON 和 YAML 模板示例),请参阅 JSON 和 YAML 模板示例Amazon IoT Greengrass资源类型参考在里面Amazon CloudFormation用户指南.

ComponentVersion 模板示例

以下是简单组件版本的 YAML 模板。为便于阅读,JSON 配方包含换行符。

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 }

部署模板示例

以下是定义部署简单模板的 YAML 文件。

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

了解有关 Amazon CloudFormation 的更多信息

要了解有关 Amazon CloudFormation 的更多信息,请参阅以下资源: