2017-10-04 211 views
0

我剛開始使用AWS SDK for Java和.net。以編程方式爲SQS設置AWS區域

當前我正在創建一個AWS SQS隊列。我能夠創建一個QUEUE,列出現有的隊列,並使用.net SDK與隊列交談。

當我嘗試相同的Java我得到以下錯誤。

無法通過區域提供程序鏈找到區域。必須在構建器或設置環境中提供 顯式區域以提供 區域。 我已經在eclipse中的aws偏好設置中設置了所有必要的訪問鍵,Region和憑證。

我這是如何初始化SQS客戶端在Java Maven項目

AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); 

我用Google搜索,發現有一個關鍵的詞叫withregion()爲S3在那裏我可以指定區域,但它不適用於SQS。

我還試圖設置區作爲

sqs.setRegion(Region.AP_Mumbai); 

這顯示了以下情況例外

在類型 AmazonSQS方法setRegion(com.amazonaws.regions.Region)是不適用的論據 (com.amazonaws.services.s3.model.Region)

我試着設置相同的usi ng com.amazonaws.regions.Region,但沒有這樣的條款。

請推薦

回答

2

我安裝了AWS SQS客戶這樣說:

BasicAWSCredentials bAWSc = new BasicAWSCredentials(accessKey, secretKey); 
return AmazonSQSClientBuilder.standard().withRegion(region).withCredentials(new AWSStaticCredentialsProvider(bAWSc)).build(); 
-1

雖然sqs.setRegion()已被棄用,但仍,如果你想使用它,你可以使用如下

以下是進口

import com.amazonaws.regions.Region; 
import com.amazonaws.regions.Regions; 

以下是喲你可以設置

sqs.setRegion(Region.getRegion(Regions.AP_SOUTH_1)); 
+0

請不要推薦已被棄用的東西。你讓他失敗了。它由於某種原因而被棄用。 –

+0

是否'但仍然如果你想使用它,你可以使用如下'的聲音作爲建議。如果是這樣,那對我來說是新聞 –