我正在開發(fā)一個(gè)使用 go SDK 的基于 AWS Lambda 的應(yīng)用程序。我有多個(gè)調(diào)用 DynamoDB API 的函數(shù)。目前在每個(gè)函數(shù)中我都在創(chuàng)建會(huì)話。而不是這個(gè)我在想,如果我可以創(chuàng)建一個(gè)可以創(chuàng)建會(huì)話的通用方法。這個(gè)會(huì)話可以被其他函數(shù)使用。代碼片段如下 -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}我稱這個(gè)函數(shù)如下 -dbInfo := utils.GetDynamoDbConnection(customerId)但是當(dāng)我使用這個(gè)會(huì)話進(jìn)行 DynamoDb 調(diào)用時(shí),它不起作用。我收到一個(gè)錯(cuò)誤 - 訪問被拒絕。但是,如果我在使用它的同一函數(shù)中創(chuàng)建會(huì)話,它就可以工作。任何指針?
1 回答

Qyouu
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
代碼似乎沒問題。請(qǐng)確保GetDynamoDbConnection中的函數(shù)調(diào)用正在獲取適當(dāng)?shù)膮?shù)并返回預(yù)期的數(shù)據(jù)。
此處,拒絕訪問錯(cuò)誤可能暗示角色 ARN可能未在stscreds.NewCredentials函數(shù)中正確配置。因此,請(qǐng)檢查RoleARN字符串是否具有適當(dāng)?shù)闹怠?/p>
- 1 回答
- 0 關(guān)注
- 166 瀏覽
添加回答
舉報(bào)
0/150
提交
取消