Lambda函数错误:“list indices must be integers or slices, not str”

0

【以下的问题经过翻译处理】 我在我的Lambda函数中导入了一个zip文件,但是如果我测试它,我会得到这个错误:“list indices must be integers or slices, not str”。我的代码如下:

def lambda_handler(event, context):
query = {
    "size": 25,
    "query": {
        "multi_match": {
            "query": event['queryStringParameters']['q'],
            "fields": ["title", "directors"]
        }
    }
}

headers = {"Content-Type": "application/json"}

r = requests.get(url, auth=awsauth, headers=headers,
                 data=json.dumps(query))

response = {
    "statusCode": 200,
    "headers": {
        "Access-Control-Allow-Origin": '*'
    },
    "isBase64Encoded": False
}
response['body'] = r.text
return response

错误在这一行“query”: event['queryStringParameters']['q']。

1 回答
0

【以下的回答经过翻译处理】 我建议打印出事件对象,了解是否存在“q”字段。

例如:

print('事件:',json.dumps(event))
print('查询字符串参数:',json.dumps(event['queryStringParameters']))

然后您可以验证是否需要执行某些检查或将其默认为空字符串。

profile picture
专家
已回答 6 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则