登录
首页 >  Golang >  Go问答

创建 DynamoDB 会话的常见操作

来源:stackoverflow

时间:2024-03-05 11:27:27 218浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《创建 DynamoDB 会话的常见操作》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

我正在开发一个基于 aws lambda 的应用程序,该应用程序使用 go sdk。

我有多个调用 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 调用时,它不起作用。 我收到错误 - 访问被拒绝。

但是,如果我在使用它的同一函数中创建会话,它就会起作用。

有什么指点吗?


解决方案


代码看起来没问题。请确保 GetDynamoDbConnection 内的函数调用获取 apt 参数并返回预期数据。

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

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>