AWSLambda在尝试上传图像到S3并通过APIGateway更新DynamoDB表时返回关键错误(KeyError)。
创始人
2024-09-26 10:01:17
0

以下是可能导致此错误的一些原因以及如何解决它们:

问题1:没有正确的 IAM 权限配置 当 AWS Lambda 尝试访问 AWS 资源时,它需要具有正确的权限。请确保 Lambda 函数的执行角色具有相应的 S3 和 DynamoDB 权限。您可以使用以下 IAM 策略示例:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::BUCKET_NAME/*" }, { "Effect": "Allow", "Action": [ "dynamodb:PutItem", "dynamodb:GetItem" ], "Resource": "arn:aws:dynamodb:REGION:ACCOUNT_ID:table/TABLE_NAME" } ] }

问题2:未正确获取 S3 文件 Key(Name) 当您从 S3 获取文件时,请确保使用正确的 S3 文件密钥。请检查上传到 S3 的对象的密钥(Name)是否与您正在尝试获取的对象相同。以下是示例代码:

import boto3

s3 = boto3.resource('s3')

def lambda_handler(event, context): bucket_name = 'my-bucket-name' object_name = 'path/to/my/image.jpg'

obj = s3.Object(bucket_name, object_name)
file_content = obj.get()['Body'].read()
print(file_content)

问题3:未正确更新 DynamoDB 表 当您使用 API Gateway 更新 DynamoDB 表时,请确保您的更新表请求包含正确的主键。以下是更新 DynamoDB 表的示例代码:

import boto3 from boto3.dynamodb.conditions import Key

dynamodb = boto3.resource('dynamodb') table = dynamodb.Table('my-table-name')

def lambda_handler(event, context): item_id = event['item_id

相关内容

热门资讯

透视好牌!德普之星透视辅助软件... 1、透视好牌!德普之星透视辅助软件下载,wepoker辅助软件视频,安装教程(有挂透明)。2、wep...
如何分辨真伪!约局吧辅牌器,a... 您好,aapoker挂这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
透视代打!德普之星透视辅助软件... 透视代打!德普之星透视辅助软件是真的吗,奇迹陕西游戏辅助,微扑克教程(有挂方法);致您一封信;亲爱奇...
每日必看教程!we poke有... 每日必看教程!we poke有挂吗,智星德州菠萝,介绍教程(果然是真的有挂)1、智星德州菠萝ai机器...
透视免费!智星德州辅助译码插件... 1、透视免费!智星德州辅助译码插件靠谱吗,约局吧可以看到别人的底牌,2025新版教程(有挂透明)(U...
2分钟细说!aa扑克平台,we... 2分钟细说!aa扑克平台,we辅助poker德之星,黑科技教程(原本有挂);致您一封信;亲爱we辅助...
透视智能ai!aapoker透... 透视智能ai!aapoker透视插件下载,雀姬辅助脚本,必备教程(有挂技巧)关于雀姬辅助脚本机制的,...
技术分享!wpk微扑克辅助存在... 技术分享!wpk微扑克辅助存在吗,aapoker猫腻,AI教程(原来有挂)1、aapoker猫腻ai...
透视有挂!wepoker辅助下... 透视有挂!wepoker辅助下载,心悦填大坑辅助器下载,第三方教程(有挂攻略);支持2-10人实时对...
玩家必看攻略!wpk微扑克最新... 玩家必看攻略!wpk微扑克最新辅助,wepoke智能ai,攻略教程(原来真的是有挂)(1)玩家必看攻...