Skip to content

Inconsistencies with TableName environment variable #658

@pflugs30

Description

@pflugs30

I've been following the tutorial, and I've made it to the Logic Errors in Lambda Functions chapter. As I copied the first faulty code and tested it, I realized I was getting errors but not exactly as the tutorial indicated. On the next chapter, Unexpected Errors in Lambda Functions, I copied that code, too. I didn't receive the Lambda Timeout Error. Rather, I received this error:

MissingRequiredParameter: Missing required key 'TableName' in params
    at ParamValidator.fail (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:50:37)
    at ParamValidator.validateStructure (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:61:14)
    at ParamValidator.validateMember (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:88:21)
    at ParamValidator.validate (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:34:10)
    at Request.VALIDATE_PARAMETERS (/var/runtime/node_modules/aws-sdk/lib/event_listeners.js:132:42)
    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at callNextListener (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:96:12)
    at /var/runtime/node_modules/aws-sdk/lib/event_listeners.js:86:9
    at finish (/var/runtime/node_modules/aws-sdk/lib/config.js:396:7)
    at /var/runtime/node_modules/aws-sdk/lib/config.js:414:9 {
  code: 'MissingRequiredParameter',
  time: 2022-04-01T19:18:29.196Z
}

It took me a long time to realize what was wrong. In earlier chapters, the TableName parameter loaded its value from the process.env.TABLE_NAME environment variable. See this chapter for an example. Starting in this chapter, however, the environment variable becomes camel case (process.env.tableName). In all, there are 9 references process.env.TABLE_NAME and 51 references of process.env.tableName.

It seems logical to consolidate the references to one casing or the other. I'd be willing to make the change and submit a pull request, but I wanted to check with the team first. Thanks again for a great tutorial!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions