Ошибка конечного автомата AWS при локальном тестировании: '' SCHEMA_VALIDATION_FAILED: значение не является допустимым ARN ресурса - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь локально протестировать мой шаговый компьютер, используя SAM и функцию шага Docker для AWS, и сталкиваюсь с ошибкой при загрузке моих шагов, следуя этим инструкциям .

Вот что язагрузка:

aws stepfunctions --endpoint http://localhost:8083 create-state-machine --definition "{\
    \"Comment\": \"Fetch from DB and pass to Lambda\",\
    \"StartAt\": \"GetWorkflowFromDb\",\
    \"States\": {\
      \"GetWorkflowFromDb\": {\
        \"Type\": \"Task\",\
        \"Resource\": \"arn:aws:dynamodb:us-east-1:11111111111:table/webhookDb\",\
        \"Parameters\": {\
            \"TableName\": \"webhookDb\",\
            \"Key\": null,\
            \"webhookId\": {\
            \"S\": \"$input.params('webhookId')\"\
            }\
        },\
        \"ResultPath\": \"$.DynamoDB\",\
        \"Next\": \"HandleWorkflow\"\
      }, \
      \"HandleWorkflow\": {\
        \"Type\": \"Task\",\
        \"Resource\": \"arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:WebhookHandler\",\
        \"End\": true\
      }\
    }\
  }" --name "HelloWorld" --role-arn "arn:aws:iam::012345678901:role/DummyRole"

Что приводит к этой ошибке:

CreateStateMachine <= Invalid State Machine Definition: ''SCHEMA_VALIDATION_FAILED: Value is not a valid resource ARN at /States/GetWorkflowFromDb/Resource''

Я скопировал ARN со своей страницы DynamoDB.Если я изменю свой Динамо ARN с arn:aws:dynamodb:us-east-1:11111111111:table/webhookDb на arn:aws:dynamodb:us-east-1:11111111111:table:webhookDb, тогда процесс продолжится, но позже произойдет сбой, сообщив, что предоставленный ARN недействителен.Я попытался избежать последней косой черты (/) без успеха.

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

1 Ответ

0 голосов
/ 04 июля 2019

Очевидно, что код конечного автомата не принимает фактическую базу данных Arn.Так и должно быть.

arn:aws:states:::dynamodb:getItem

Некоторые примеры здесь .

...