1

我有一个这样的 AWS Cloudformation 模板(yaml 格式):

Datastore:
    Type: AWS::IoTAnalytics::Datastore
    Properties:
      DatastoreName: "DatastoreName"
      DatastoreStorage:
        ServiceManagedS3: ""
      RetentionPeriod:
        NumberOfDays: 7

我想定义一个 ServiceManagedS3-Bucket。官方文档(https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-servicemanageds3.html)说它应该只是一个空对象。但是当我像上面那样做时,我得到以下错误:Property validation failure: [Value of property {/DatastoreStorage/ServiceManagedS3} does not match type {Object}]. 如果我更改为空行,例如 Cloudformation 抱怨空值。

      DatastoreStorage:
        ServiceManagedS3:
          
      RetentionPeriod:
        NumberOfDays: 7

我使用了错误的 .yaml-Syntax 还是我在这里做错了什么?声明空对象的正确方法是什么?

4

1 回答 1

1

根据评论。

ServiceManagedS3对象定义如下:

ServiceManagedS3: {}

因此,资源应该是:

Datastore:
    Type: AWS::IoTAnalytics::Datastore
    Properties:
      DatastoreName: "DatastoreName"
      DatastoreStorage:
        ServiceManagedS3: {}
      RetentionPeriod:
        NumberOfDays: 7
于 2020-09-18T09:08:09.570 回答