从云端连接到DYNAMODB时出现AWS错误

问题描述:

我正在为AWS云开发一个Web应用程序,我已经在本地ENV中开发了该应用程序,现在将其移至云中。我正在使用dynamoDB作为数据库。我已经完成了当地的所有发展,现在我正在转向云计算。以下是我的dynamoDB连接设置。从云端连接到DYNAMODB时出现AWS错误

AmazonDynamoDBClient client = new AmazonDynamoDBClient(); client.setEndpoint("https://myclouddynamodburl:8000"); DynamoDB dynamoDB = new DynamoDB(client);

我用这个dynamoDB实例对数据库进行通信。但现在的问题是,当我搬到云端,它没有连接。我收到类似这样的错误

com.amazonaws.AmazonClientException:无法执行HTTP请求:连接被拒绝

我使用AWS的Java SDK进行连接。我正在使用EC2实例和docker进行部署。角色在IAM角色中被标记。

任何帮助将不胜感激

+0

什么是'https:// myclouddynamodburl:8000'?你为什么要设置一个自定义端点? –

+0

这是一个例子,“myclouddynamodburl”将取代我的发电机DB的原始云端点。顺便说一句,我已经找到了问题 –

我已经找到了问题。因为我连接到https。我应该使用默认端口443而不是8000。 8000是当地的。因此,URL已更改为

https://myclouddynamodburl:443

的作品!

+0

再次,为什么指定一个端点呢?为什么不只是删除该行代码并使用默认端点? –

+0

我不明白默认终点是什么意思。如果没有这行代码,我还没有发现它的任何功能。如果我缺少一些东西,你可以发布一个示例 –

+0

如果您使用的是官方AWS开发工具包,那么您只需设置一个区域,而不是特定的服务端点URL。举例来说,您几乎可以看到AWS SDK的任何代码示例,例如:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/JavaDocumentAPIItemCRUD.html请注意,他们如何不指定端点这个例子。 –