首页 > 解决方案 > AWS Lambda VScode 启动.json

问题描述

最近 AWS 在 AWS Toolkit for VS Code Ref 中引入了对 SAM 调试的启动配置支持:https ://aws.amazon.com/blogs/developer/introducing-launch-configurations-support-for-sam-debugging-in-the- aws-toolkit-for-vs-code/

这意味着我们不能使用 templates.json 文件,而是需要使用 launch.json 将您的事件发送到 lambda。

我想向 lambda 函数(SQS 消息)发送一个测试事件。在引入启动配置 templates.json 之前,它是这样的(并且工作正常):

    "templates": {
 "xxxxxxxx/template.yaml": {
      "handlers": {
        "xxxxxxxxx.lambdaHandler": {
          "event": {
            "Records": [
                {
                    "messageId": "xxxxxxxxxxxxxxxx",
                    "receiptHandle": "xxxxxxxxxxxxxxxx",
                    "body": "{\"operation\": \"publish\", \"data\": { \"__typename\": \"xxxxxxxxxxxxxxxx\", \"id\": \"xxxxxxxxxxxxxxxx\" }}",                            
                    "attributes": {
                        "ApproximateReceiveCount": "1",
                        "SentTimestamp": "xxxxxxxxxxxxxxxx",
                        "SequenceNumber": "xxxxxxxxxxxxxxxx",
                        "MessageGroupId": "xxxxxxxxxxxxxxxx",
                        "SenderId": "xxxxxxxxxxxxxxxx:LambdaFunctionTest",
                        "MessageDeduplicationId": "xxxxxxxxxxxxxxxx",
                        "ApproximateFirstReceiveTimestamp": "xxxxxxxxxxxxxxxx"
                    },
                    "messageAttributes": {            
                      "environment": {
                      "DataType": "String",
                      "stringValue": "Dev"
                    }},
                    "md5OfBody": "xxxxxxxxxxxxxxxx",
                    "eventSource": "aws:sqs",
                    "eventSourceARN": "arn:aws:sqs:us-east-1:xxxxxxxxxxxxxxxx:xxx.fifo",
                    "awsRegion": "us-east-1"
                }
            ]
        },
          "environmentVariables": {}
        }

…………

但是在 launch.json 中,我以以下方式粘贴了记录,也不例外,另请参见附件 jpg 截图。

{
"configurations": [
    {
        "type": "aws-sam",
        "request": "direct-invoke",
        "name": "xxxxxxxx)",
        "invokeTarget": {
            "target": "code",
            "projectRoot": "xxxxxxxx",
            "lambdaHandler": "xxxxxxxx.lambdaHandler"
        },
        "lambda": {
            "runtime": "nodejs12.x",
            "payload": {
                "json": {
                    "Records": [
                    {
                        "messageId": "xxxxxxxxxxxxxxxx",
                        "receiptHandle": "xxxxxxxxxxxxxxxx",
                        "body": "{\"operation\": \"publish\", \"data\": { \"__typename\": \"xxxxxxxxxxxxxxxx\", \"id\": \"xxxxxxxxxxxxxxxx\" }}",                            
                        "attributes": {
                            "ApproximateReceiveCount": "1",
                            "SentTimestamp": "xxxxxxxxxxxxxxxx",
                            "SequenceNumber": "xxxxxxxxxxxxxxxx",
                            "MessageGroupId": "xxxxxxxxxxxxxxxx",
                            "SenderId": "xxxxxxxxxxxxxxxx:LambdaFunctionTest",
                            "MessageDeduplicationId": "xxxxxxxxxxxxxxxx",
                            "ApproximateFirstReceiveTimestamp": "xxxxxxxxxxxxxxxx"
                        },
                        "messageAttributes": {            
                          "environment": {
                          "DataType": "String",
                          "stringValue": "Dev"
                        }},
                        "md5OfBody": "xxxxxxxxxxxxxxxx",
                        "eventSource": "aws:sqs",
                        "eventSourceARN": "arn:aws:sqs:us-east-1:xxxxxxxxxxxxxxxx:xxx.fifo",
                        "awsRegion": "us-east-1"
                    }
                ]
               },                    
            },
        }
    },

在此处输入图像描述

块引用

标签: amazon-web-servicesvisual-studio-codeaws-lambda

解决方案


推荐阅读