我怎样才能让我的 dynamodb lambda 函数来检查用户的身份?
How can I get my dynamodb lambda function to check the user's identity?
我已经使用 this documentation 设置了一个 dynamodb lambda 触发器。当 dynamodb table 更新时函数成功触发,我可以很好地查看输出。
我想找到更新 dynamodb table 的用户的 identity,但事件中似乎没有包含此信息。我怎样才能做到这一点?
事件看起来像这样:
{
"Records": [
{
"eventID": "1725dad5b286b22b02cffc28e5006437",
"eventName": "INSERT",
"eventVersion": "1.1",
"eventSource": "aws:dynamodb",
"awsRegion": "us-west-2",
"dynamodb": {
"ApproximateCreationDateTime": 1607759729,
"Keys": {
"receiver": {
"S": "c2217b13-12e8-42a4-a1ab-627f764493c9"
},
"sender": {
"S": "6fad5bc8-a389-4d73-b171-e709d5d8bdd8"
}
},
"NewImage": {
"createdAt": {
"S": "2020-12-12T07:55:29.105Z"
},
"receiver": {
"S": "c2217b13-12e8-42a4-a1ab-627f764493c9"
},
"sender": {
"S": "6fad5bc8-a389-4d73-b171-e709d5d8bdd8"
},
"__typename": {
"S": "FriendRequest"
},
"updatedAt": {
"S": "2020-12-12T07:55:29.105Z"
}
},
"SequenceNumber": "4092400000000003379896405",
"SizeBytes": 261,
"StreamViewType": "NEW_AND_OLD_IMAGES"
},
"eventSourceARN": "arn:aws:dynamodb:us-west-2:213277979580:table/FriendRequest-rmzuppsajfhzlfgjehczargowa-apisecure/stream/2020-12-11T07:48:02.462"
}
]
}
DynamoDB 不提供写入记录的用户 ID。实现此目的的唯一方法是首先让用户 ID 成为 DynamoDB 项目的一部分。但这意味着 您的 应用程序需要识别用户并写入该属性。
但是,如果使用 AWS 控制台插入项目,这显然行不通。在这种情况下,您的用户将需要手动插入自己的 ID(或其他用户的 ID)。
我已经使用 this documentation 设置了一个 dynamodb lambda 触发器。当 dynamodb table 更新时函数成功触发,我可以很好地查看输出。
我想找到更新 dynamodb table 的用户的 identity,但事件中似乎没有包含此信息。我怎样才能做到这一点?
事件看起来像这样:
{
"Records": [
{
"eventID": "1725dad5b286b22b02cffc28e5006437",
"eventName": "INSERT",
"eventVersion": "1.1",
"eventSource": "aws:dynamodb",
"awsRegion": "us-west-2",
"dynamodb": {
"ApproximateCreationDateTime": 1607759729,
"Keys": {
"receiver": {
"S": "c2217b13-12e8-42a4-a1ab-627f764493c9"
},
"sender": {
"S": "6fad5bc8-a389-4d73-b171-e709d5d8bdd8"
}
},
"NewImage": {
"createdAt": {
"S": "2020-12-12T07:55:29.105Z"
},
"receiver": {
"S": "c2217b13-12e8-42a4-a1ab-627f764493c9"
},
"sender": {
"S": "6fad5bc8-a389-4d73-b171-e709d5d8bdd8"
},
"__typename": {
"S": "FriendRequest"
},
"updatedAt": {
"S": "2020-12-12T07:55:29.105Z"
}
},
"SequenceNumber": "4092400000000003379896405",
"SizeBytes": 261,
"StreamViewType": "NEW_AND_OLD_IMAGES"
},
"eventSourceARN": "arn:aws:dynamodb:us-west-2:213277979580:table/FriendRequest-rmzuppsajfhzlfgjehczargowa-apisecure/stream/2020-12-11T07:48:02.462"
}
]
}
DynamoDB 不提供写入记录的用户 ID。实现此目的的唯一方法是首先让用户 ID 成为 DynamoDB 项目的一部分。但这意味着 您的 应用程序需要识别用户并写入该属性。
但是,如果使用 AWS 控制台插入项目,这显然行不通。在这种情况下,您的用户将需要手动插入自己的 ID(或其他用户的 ID)。