首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么Amazon函数抛出关键错误?

为什么Amazon函数抛出关键错误?
EN

Stack Overflow用户
提问于 2022-01-20 10:06:06
回答 1查看 1.6K关注 0票数 0

我有一个lambda函数

代码语言:javascript
运行
复制
    import json
    import boto3
def lambda_handler(event, context):
    print("event:::")
    print(event)
    connection_id = event['requestContext']['connectionId']
    username = event['queryStringParameters']['username']

    dynamodb = boto3.resource('dynamodb')
    table1 = dynamodb.Table('table')
    table1.put_item(
        Item={
            'connection_id': connection_id,
            'username': username
           # 'message': message

        }
        )
    return {
        'statusCode': 200
    }

当我测试时它会抛出这个

代码语言:javascript
运行
复制
Test Event Name
dd

    Response
    {
      "errorMessage": "'requestContext'",
      "errorType": "KeyError",
      "requestId": "3105164b-79ac-4881-9c61-259ac437c34c",
      "stackTrace": [
        "  File \"/var/task/lambda_function.py\", line 8, in lambda_handler\n    connection_id = event['requestContext']['connectionId']\n"
      ]
    }

Function Logs

START RequestId: 3105164b-79ac-4881-9c61-259ac437c34c Version: $LATEST
event:::
{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
[ERROR] KeyError: 'requestContext'
Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 8, in lambda_handler
    connection_id = event['requestContext']['connectionId']END RequestId: 3105164b-79ac-4881-9c61-259ac437c34c
REPORT RequestId: 3105164b-79ac-4881-9c61-259ac437c34c  Duration: 1.23 ms   Billed Duration: 2 ms   Memory Size: 128 MB Max Memory Used: 51 MB

Request ID
3105164b-79ac-4881-9c61-259ac437c34c

我的函数在移除键时可以工作,但是对于键,它会抛出上面的错误--如果python代码是正确的,为什么会发生这种情况?

..............................................................................

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-20 10:08:34

您的测试执行需要输入值。您可以在错误中看到测试使用了默认的输入{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}。您必须将测试输入更改为包含正确格式的connection_idqueryStringParameters的JSON字符串。

您似乎将Lambda与API网关结合使用。网关通常创建event输入。您还可以在API网关中创建一个测试,您可以在其中指定查询参数。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70784253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档