簡體   English   中英

是否可以在 Java SDK 中設置 ARN 參數 role_arn?

[英]Is it possible to set ARN parameter role_arn in the Java SDK?

我可以使用以下配置和 AWS CLI 訪問 SQS:

% cat .aws/config
[default]
region = eu-central-1
output = json

[profile dev]
region = eu-central-1
role_arn = arn:aws:iam::<id>:role/<user>
source_profile = default

% cat .aws/credentials
[default]
aws_access_key_id = <key>
aws_secret_access_key = <secret_key>

% aws sqs list-queues --profile dev
{
    "QueueUrls": [
        ...
    ]
}

我需要指定role_arn參數才能訪問隊列。 問題是在 AWS Java SDK 2(版本 2.15.69)中我不知道如何設置role_arn參數,至少不會自動加載。 我到目前為止的代碼如下所示:

import software.amazon.awssdk.regions.Region
import software.amazon.awssdk.services.sqs.SqsClient
import software.amazon.awssdk.services.sqs.model.SendMessageRequest

client = SqsClient.builder().region(Region.EU_CENTRAL_1).build()
req = SendMessageRequest.builder().queueUrl(url).messageBody(msg).build()
client.sendMessage(req)

執行最后一行時,我收到此錯誤消息: Access to the resource https://sqs.eu-central-1.amazonaws.com/ is denied. 基本上,它沒有加載role_arn 是否可以在 Java 片段中指定 ARN,如果可以,如何指定?

你必須設置環境變量AWS_PROFILE="dev"

現在在我看來defaultaws 配置文件是由您的 java 代碼選擇的,並且default的 aws 配置文件沒有您嘗試訪問的 SQS 所需的訪問權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM