api gateway and step functions

0

Hi, i've created an Api Gateway that calls a state machine. The problem i have is that when you invoke this service from out you need to specify a stateMachineArn. It seems a lack of security. There's a way to pass it as integration of the request (for example as a constant)? I have tried some solutions as mapping templates but it seems that they does'n work , i always had this error: Value null at 'stateMachineArn' failed to satisfy constraint: Member must not be null" thanks in advance.

2回答
1

Value null at 'stateMachineArn' failed to satisfy constraint: Member must not be null"

The same problem raised for me while posting data to DynamoDB table through API Gateway.

How I solved that error: By adding a Body-Mapping template in the Integration Request

In the API > whatever resource > whatever method > Integration Request > Body mapping template, added a new template "application/json" as given below

{ 

    "TableName": "yourTableName",

    "Item": {

        "inputField1": {

            "S": "$input.path('$.tableItemAttribute1')"

            },

        "inputField2": {

            "S": "$input.path('$.tableItemAttribute2')"

            },

        "inputField3": {

            "S": "$input.path('$.tableItemAttribute3')"

            }

    }

}
回答済み 1年前
0

Thank You Anirban for your reply. I've solved too adding a Body-Mapping template in the Integration Request.

{ "input": "$util.escapeJavaScript($input.json('$'))", "stateMachineArn": "arn:aws:MyStateMachine" } it works, you must remember to redeploy the api gateway. Thanks. Dryuyd

回答済み 1年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ