【问题标题】:How to get hostname for dynamodb in AWS and NOT local?如何在 AWS 而不是本地获取 dynamodb 的主机名?
【发布时间】:2019-04-24 11:11:27
【问题描述】:

我正在使用适用于 java 的 AWS sdk 并尝试实例化 AmazonDynamodb 实例,以便我可以连接到 AWS 上的 Dynamodb。我发现文档非常令人沮丧,因为我只看到了如何在本地进行操作。那没问题。如何获取部署在 AWS 中的 dynamodb 的主机名?任何指向解释如何获取此文档的帮助(因为根据我的经验,它在控制台中不可见)或者是否有人可以告诉我。那会很好。谢谢!

【问题讨论】:

  • 你在跨地区吗?为什么需要主机名?
  • 我假设我这样做是因为这就是它与 Aurora 一起工作的方式,例如,dynamodb 文档也显示了它是如何运行本地 dynamodb 的......但你是说这没有必要吗?如果权限设置正确,jsut 创建实例将授予我的客户端访问权限?

标签: java amazon-web-services amazon-dynamodb


【解决方案1】:

如果您正在寻找可以从中获取的主机名,

https://docs.aws.amazon.com/general/latest/gr/rande.html

如果您要连接到同一区域的 dynamodb,sdk 会知道为自己配置区域和 sdk 需要访问的资源类型。除非您连接到不同的区域,否则您不需要配置端点。

同一地区:

AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build();
DynamoDB dynamoDB = new DynamoDB(client);

Table table = dynamoDB.getTable("ProductCatalog");

// Build the item
Item item = new Item()
    .withPrimaryKey("Id", 123)
    .withString("Title", "Bicycle 123")
    .withString("Description", "123 description")
    .withString("BicycleType", "Hybrid")
    .withString("Brand", "Brand-Company C");

// Write the item to the table 
PutItemOutcome outcome = table.putItem(item);

不同地区:(在本例中为亚太地区(新加坡))

AmazonDynamoDB 客户端 = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration( 新 AwsClientBuilder.EndpointConfiguration("http://dynamodb.ap-southeast-1.amazonaws.com", "ap-southeast-1")) .build();

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 2012-04-12
    • 1970-01-01
    • 2021-10-09
    • 2015-11-18
    • 1970-01-01
    相关资源
    最近更新 更多