gpt4 book ai didi

amazon-web-services - API 网关调用旧版本的 lambda 函数

转载 作者:行者123 更新时间:2023-12-04 15:44:53 25 4
gpt4 key购买 nike

我有一个从我的浏览器调用的 lambda 函数。我知道这是有效的,因为响应是正确的。在我的 lambda 中,我想写入发电机表,所以我更新了我的函数以包含此逻辑。

当我在 lambda 控制台中测试我的函数时,它按预期工作。当从浏览器(通过 API 网关)调用 lambda 时,它不会执行我添加的任何新代码。

这是我的代码:

#set-up table connection 
dynamodb = boto3.resource('dynamodb', region_name='us-east-1')
table = dynamodb.Table('XXXX')

tString = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S")

#print("Received event: " +
# json.dumps(event, indent=2))

#recieve parameters
if 'userid' in event:
userid = event['userid']
else:
userid = 'nothing'
if 'token' in event:
token = event['token']
else:
token = 'nothing'
if 'appid' in event:
appid = event['appid']
else:
appid = 'connection'

response = table.put_item(
Item = {
'ID': userid,
'token': 'test2',
'appid': 'test2',
'authApp': 'test2',
'authUser': 'test2'
})
return userid

最佳答案

您是否通过 API 网关调用您的 Lambda?如果是这样,请检查您在 API 网关中访问的端点的 Lambda 集成,并查看 Lambda 函数的版本/别名是否被硬编码。您可以通过查看 API 网关方法的集成请求部分中“Lambda 函数”的值来找到它:

Lambda Function: my_function:dev

在上面的示例中,这意味着您的 API 网关正在调用“my_function”lambda 的“dev”版本。

然后在 Lambda 控制台中检查您在控制台中调用的版本/别名(具有最近 DynamoDB 更改的版本)是否与 API 网关正在调用的版本/别名匹配。

我花了一两天时间用头撞键盘,试图找出为什么我的更新没有被执行,以意识到 API 网关指向我的功能的不同/旧版本。

关于amazon-web-services - API 网关调用旧版本的 lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56297807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com