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 Antworten
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')"

            }

    }

}
beantwortet vor einem Jahr
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

beantwortet vor einem Jahr

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen