为了账号安全,请及时绑定邮箱和手机立即绑定

DynamoDB创建Session的常用函数

DynamoDB创建Session的常用函数

Go
qq_花开花谢_0 2023-06-12 16:58:17
我正在开发一个使用 go SDK 的基于 AWS Lambda 的应用程序。我有多个调用 DynamoDB API 的函数。目前在每个函数中我都在创建会话。而不是这个我在想,如果我可以创建一个可以创建会话的通用方法。这个会话可以被其他函数使用。代码片段如下 -func GetDynamoDbConnection(customerId string) *dynamodb.DynamoDB {    roleArn := constants.IAM_ROLE_ARN_PREFIX + constants.AWS_ACCOUNT_ID + ":" + constants.IAM_ROLE_STR + constants.IAM_CUST_ROLE_PREFIX + "-" + customerId    sess := session.Must(session.NewSession())    creds := stscreds.NewCredentials(sess, roleArn)    dynamoDbSession := dynamodb.New(sess, &aws.Config{Credentials: creds})    return dynamoDbSession}我称这个函数如下 -dbInfo := utils.GetDynamoDbConnection(customerId)但是当我使用这个会话进行 DynamoDb 调用时,它不起作用。我收到一个错误 - 访问被拒绝。但是,如果我在使用它的同一函数中创建会话,它就可以工作。任何指针?
查看完整描述

1 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

代码似乎没问题。请确保GetDynamoDbConnection中的函数调用正在获取适当的参数并返回预期的数据。

此处,拒绝访问错误可能暗示角色 ARN可能未在stscreds.NewCredentials函数中正确配置。因此,请检查RoleARN字符串是否具有适当的值。


查看完整回答
反对 回复 2023-06-12
  • 1 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信