Skip to content

feat: support Arguments for Lambda when query language is JSONata #645

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

edvaldoszy
Copy link

@edvaldoszy edvaldoszy commented Mar 28, 2025

When using JSONata as the query language, AWS creates the step definition with Arguments instead of Parameters.

Example:

Step name:
  Type: Task
  Resource: arn:aws:states:::lambda:invoke
  Output: '{% $states.result.Payload %}'
- Parameters:
+ Arguments:
    FunctionName: <function ARN goes here>
    Payload: '{% $states.input %}'

That leads to the error below

Deploying "project-name" to stage "staging" (us-east-1)
Layer sharp is already uploaded.
✖ Stack staging-project-name failed to deploy (7s)

✖ TypeError: Cannot read properties of undefined (reading 'FunctionName')
    at ServerlessStepFunctions.getLambdaPermissions (/home/edvaldo/project-name/node_modules/serverless-step-functions/lib/deploy/stepFunctions/compileIamRole.js:365:41)
    at /home/edvaldo/project-name/node_modules/serverless-step-functions/lib/deploy/stepFunctions/compileIamRole.js:775:47
    at arrayMap (/home/edvaldo/project-name/node_modules/lodash/lodash.js:653:23)
    at map (/home/edvaldo/project-name/node_modules/lodash/lodash.js:9622:14)
    at Function.flatMap (/home/edvaldo/project-name/node_modules/lodash/lodash.js:9325:26)
    at ServerlessStepFunctions.getIamPermissions (/home/edvaldo/project-name/node_modules/serverless-step-functions/lib/deploy/stepFunctions/compileIamRole.js:714:12)
    at /home/edvaldo/project-name/node_modules/serverless-step-functions/lib/deploy/stepFunctions/compileIamRole.js:873:56
    at Array.forEach (<anonymous>)
    at ServerlessStepFunctions.compileIamRole (/home/edvaldo/project-name/node_modules/serverless-step-functions/lib/deploy/stepFunctions/compileIamRole.js:861:32)
    at ServerlessStepFunctions.tryCatcher (/home/edvaldo/project-name/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/home/edvaldo/project-name/node_modules/bluebird/js/release/promise.js:547:31)
    at Promise._settlePromise (/home/edvaldo/project-name/node_modules/bluebird/js/release/promise.js:604:18)
    at Promise._settlePromiseCtx (/home/edvaldo/project-name/node_modules/bluebird/js/release/promise.js:641:10)
    at _drainQueueStep (/home/edvaldo/project-name/node_modules/bluebird/js/release/async.js:97:12)
    at _drainQueue (/home/edvaldo/project-name/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/home/edvaldo/project-name/node_modules/bluebird/js/release/async.js:102:5)

Serverless Framework Version: 4.9.1
Serverless Step Function Version: ^3.22.0
Operating System: Windows with WSL

@edvaldoszy edvaldoszy changed the title Resolve lambda function name from Arguments when using JSONata fix: correctly resolve lambda function name from Arguments instead of Parameters property when using JSONata Mar 28, 2025
@edvaldoszy edvaldoszy changed the title fix: correctly resolve lambda function name from Arguments instead of Parameters property when using JSONata fix: correctly resolve lambda function name from Arguments instead of Parameters property when the query language is JSONata Mar 28, 2025
@edvaldoszy edvaldoszy marked this pull request as ready for review March 28, 2025 17:25
@edvaldoszy edvaldoszy force-pushed the master branch 2 times, most recently from 2eee05a to 73cc27b Compare March 28, 2025 17:52
@edvaldoszy edvaldoszy closed this Mar 28, 2025
@edvaldoszy edvaldoszy reopened this Mar 31, 2025
@edvaldoszy edvaldoszy changed the title fix: correctly resolve lambda function name from Arguments instead of Parameters property when the query language is JSONata feat: support Arguments for Lambda when query language is JSONata Mar 31, 2025
@PaulBanusIAD
Copy link

Hello, any idea when this change will be released ?

@zirkelc
Copy link
Contributor

zirkelc commented Apr 17, 2025

@PaulBanusIAD that is up to @horike37

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants