Добавление правила IoT с действием по ошибке через облачность yaml - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь добавить правило iot с действием ошибки, используя следующий файл yaml облачной информации

извлечение из yaml:

 DaIoTRule:
    Type: AWS::IoT::TopicRule
    Properties:
      RuleName: sda
      TopicRulePayload:
        RuleDisabled: false
        Sql: SELECT *, topic(2) AS source FROM 'topic/sensors/+'
        Actions:
          - Lambda:
              FunctionArn: !GetAtt LambdaFunction.Arn
        ErrorAction:
          S3:
            RoleArn: !GetAtt DAIoTRuleErrorActionIamRole.Arn
            Bucket: iot-message-dump
            Key: "errors/${topic()}/${timestamp()}"

Но я продолжаю получать эту ошибку:

{
            "StackId": "arn:aws:cloudformation:us-east-1:961234632786:stack/wx-da-lambda/91423s00-4e97-11ea-aedd-0ee829hbc650",
            "EventId": "DAIoTRule-CREATE_FAILED-2020-02-17T06:51:38.299Z",
            "StackName": "da-lambda",
            "LogicalResourceId": "DaIoTRule",
            "PhysicalResourceId": "",
            "ResourceType": "AWS::IoT::TopicRule",
            "Timestamp": "2020-02-17T06:51:38.299Z",
            "ResourceStatus": "CREATE_FAILED",
            "ResourceStatusReason": "Encountered unsupported property bucket"
        }

Я создал этот yaml, используя https://docs.aws.amazon.com/iot/latest/developerguide/rule-error-handling.html в качестве ссылки.

Может кто-нибудь указать мне, что я делаю неправильно?

1 Ответ

1 голос
/ 18 февраля 2020

CloudFormation использует свойство BucketName вместо Bucket для действий S3 (включая действия с ошибками).

См. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-s3action.html#cfn -iot-topicrule-s3action-bucketname

...