
# 购买并连接GeminiDB兼容DynamoDB实例
本章节主要介绍了如何通过云数据库GeminiDB管理控制台快速购买并连接GeminiDB兼容DynamoDB数据库实例。
如需购买用于生产环境的实例，您可以选择、评估满足业务需求的实例规格。本示例旨在帮助您快速入门，仅需设置关键参数即可完成创建。
#### 操作流程
| 操作步骤                                                          | 说明                                                    |
|:---|:---|
| [准备工作]           | 注册华为账号并开通华为云、实名认证、账户充值，以及对GeminiDB兼容DynamoDB进行精细权限管理。 |
| [步骤1：购买实例]       | 选择GeminiDB兼容DynamoDB的基础配置、高级配置信息，购买数据库实例。             |
| [步骤2：通过Java连接实例] | 通过Java连接实例。                                           |
   
 #### 准备工作
- 注册账号并实名认证。 在购买GeminiDB兼容DynamoDB之前，请先[注册华为账号并开通华为云](https://support.huaweicloud.com/usermanual-account/account_id_001.html)、[实名认证](https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0071343161.html)。
  如果您已开通华为云并进行实名认证，请忽略此步骤。
  
- 购买实例前需要确保账户有足够金额，请参见[账户充值](https://support.huaweicloud.com/usermanual-billing/bills-topic_30000002.html)。
- 如果需要对华为云上的资源进行精细管理，请使用统一身份认证服务（Identity and Access Management，简称IAM）创建IAM用户及用户组，并授权，以使得IAM用户获得具体的操作权限，更多操作，请参见[创建用户并授权使用GeminiDB兼容DynamoDB](https://support.huaweicloud.com/dynamodbug-nosql/nosql_dynamodb_0129.html)。
 
#### 操作步骤
#### 步骤1：购买实例
1. 登录[云数据库GeminiDB控制台](https://console.huaweicloud.com/nosql/#/instance/list)。
2. 在"实例管理"页面，单击"购买数据库实例"，进入"服务选型"页面。
3. 选择**计费模式** 和**区域** 。
   图1基础配置   
   ![](https://support.huaweicloud.com/dynamodbug-nosql/zh-cn_image_0000002503073997.png "点击放大")
   表1基础配置 
   | 参数   | 示例         | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   |:---|:---|:---|
   | 计费模式 | **按需计费**   | 实例的计费模式。 - 包年/包月：一种预付费模式，即先付费再使用，按照订单的购买周期进行结算。购买周期越长，享受的折扣越大。一般适用于需求量长期稳定的成熟业务。  - 按需计费：一种后付费模式，即先使用再付费，按照云数据库GeminiDB实际使用时长计费，秒级计费，按小时结算。按需计费模式允许您根据实际业务需求灵活地调整资源使用，无需提前预置资源，从而降低预置过多或不足的风险。   |
   | 区域   | **华北-北京四** | 租户所在的区域。 说明： 请就近选择靠近您业务的区域，可减少网络时延，提高访问速度。不同区域内的产品内网不互通，且购买后不能更换，请谨慎选择。                                                                                                                                                                                                                                                                                                                                                                                                       |
      
   
4. 选择**兼容接口**为"DynamoDB"。
5. 选择**部署模式** 和**实例类型** 。
   图2资源选配   
   ![](https://support.huaweicloud.com/dynamodbug-nosql/zh-cn_image_0000002572041834.png "点击放大")
   表2资源选配 
   | 参数   | 示例                 | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|:---|
   | 部署模式 | **云原生**            | 支持"经典"和"云原生"。 - 经典：GeminiDB经典的存算分离架构。  - 云原生：新一代存算分离架构，更灵活，支持更多的可用区。                                                                                                                                       |
   | 实例类型 | **集群**             | 集群是基于多个节点（至少是三节点）组成。集群的主要特点是横向扩展能力强，能满足不断增长的数据量需求，因此当您对可用性要求较高、数据量较大、未来扩展性要求较高的情况下，可以使用集群架构。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 可用区  | **可用区1，可用区2，可用区3** | 指在同一区域下，电力、网络隔离的物理区域，可用区之间内网互通，不同可用区之间物理隔离。 目前支持将实例部署在单可用区或3可用区。 - 若实例只需要部署在单可用区，请选择1个可用区。  - 若实例需要实现跨可用区容灾部署时，请选择3可用区，此时实例下的节点Hash均衡部署在3个可用区内。   |
      
   
6. 选择**规格与存储** 。
   图3规格与存储   
   ![](https://support.huaweicloud.com/dynamodbug-nosql/zh-cn_image_0000002282810061.png "点击放大")
   
   | 参数   | 示例        | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                    |
   |:---|:---|:---|
   | 性能规格 | **2U8GB** | 请根据不同的CPU与内存配比，选取符合业务类型的性能规格。 创建成功后可以变更规格，请参见[GeminiDB兼容DynamoDB实例的CPU和内存规格变更](https://support.huaweicloud.com/dynamodbug-nosql/nosql_dynamodb_0068.html)。                                                                                                                                                                                                                        |
   | 节点数量 | **3**     | 节点数量请根据实际需要进行选取。 如果超过节点数上限，您可以在管理控制台右上角，选择"[工单 \> 新建工单](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)"联系客服进行咨询。 创建成功后可以添加节点，请参见[GeminiDB兼容DynamoDB实例手动添加节点](https://support.huaweicloud.com/dynamodbug-nosql/nosql_dynamodb_0072.html)。                                                                                   |
   | 存储空间 | **500GB** | 存储空间的取值范围（最大值和最小值）与所选的实例规格有关，具体范围请参见[数据库实例规格](https://support.huaweicloud.com/dynamodbug-nosql/nosql_dynamodb_0005.html)。 创建成功后可以扩容磁盘，请参见[GeminiDB兼容DynamoDB实例手动扩容磁盘](https://support.huaweicloud.com/dynamodbug-nosql/nosql_dynamodb_0077.html)。                                                                                                                                 |
   | 自动扩容 | **否**     | 是否开启自动扩容。 - 仅经典部署模式实例支持。  - 如果您在创建实例时未开启存储空间自动扩容，待实例创建成功后也可以单独开启。具体操作请参见[GeminiDB兼容DynamoDB实例自动扩容磁盘](https://support.huaweicloud.com/dynamodbug-nosql/nosql_dynamodb_0078.html)。   |
   | 磁盘加密 | **不加密**   | 是否开启加密功能。 当启用加密功能，用户创建数据库实例成功后，磁盘数据会在服务端加密成密文后存储。用户下载加密对象时，存储的密文会先在服务端解密为明文，再提供给用户，用于提高数据安全性，但对数据库读写性能有少量影响。                                                                                                                                                                                                                                                                   |
      
   
7. **设置密码** 。
   图4**设置密码**   
   ![](https://support.huaweicloud.com/dynamodbug-nosql/zh-cn_image_0000002515933516.png "点击放大")
   表3设置密码 
   | 参数    | 示例           | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   |:---|:---|:---|
   | 管理员密码 | **根据密码策略配置** | 用户设置的密码。 - 长度为8～32个字符。  - 必须是大写字母、小写字母、数字、特殊字符的组合，其中可输入\~!@#%\^\*-_=+?特殊字符。  - 系统会进行弱密码校验，安全起见，请输入高强度密码。   请妥善管理您的密码，因为系统将无法获取您的密码信息。 |
      
   
8. 选择**企业项目** 。
   图5企业项目   
   ![](https://support.huaweicloud.com/dynamodbug-nosql/zh-cn_image_0000002547493393.png "点击放大")
   表4企业项目 
   | 参数   | 示例          | 参数说明                                                                                                                                                                                                                                                                                                                               |
   |:---|:---|:---|
   | 企业项目 | **default** | 该参数针对企业用户使用。 企业项目是一种云资源管理方式，企业项目管理服务提供统一的云资源按项目管理，以及项目内的资源管理、成员管理，默认项目为default。 请在下拉框中选择所在的企业项目。更多关于企业项目的信息，请参见[《企业管理用户指南》](https://support.huaweicloud.com/usermanual-em/em_am_0006.html)。 |
      
   
9. 其他参数选择默认配置，单击"立即购买"。
10. 在"订单详情确认"页面，核对实例信息。如果需要修改，单击"上一步"，修改实例信息。
11. 核对无误后，勾选协议，单击"提交"，开始创建实例。
12. 单击"返回实例列表"按钮，返回实例列表页。
13. 在"实例管理"页面，您可以查看并管理实例。
    - 实例创建过程中，运行状态显示为"创建中"，此过程约5\~9分钟。
    
    - 实例创建完成后，运行状态显示为"正常"。
    
    
    图6购买成功   
    ![](https://support.huaweicloud.com/dynamodbug-nosql/zh-cn_image_0000002310535693.png "点击放大") 
 
#### 步骤2：通过Java连接实例
本章节主要介绍使用Java语言连接GeminiDB兼容DynamoDB接口实例的基本操作。
**前提条件**
- 已成功创建GeminiDB兼容DynamoDB接口实例。
- 已创建弹性云服务器，创建弹性云服务器的方法，请参见《弹性云服务器》中"[创建弹性云服务器](https://support.huaweicloud.com/usermanual-ecs/ecs_03_7002.html)"章节。
- 弹性云服务器上已经安装JDK环境。
**获取GeminiDB兼容DynamoDB接口实例的连接地址**
1. 登录[云数据库GeminiDB控制台](https://console.huaweicloud.com/nosql/#/instance/list)。
2. 在"实例管理"页面，单击目标实例名称，进入基本信息页面，查看负载均衡地址。
   
   ![](https://support.huaweicloud.com/dynamodbug-nosql/public_sys-resources/note_3.0-zh-cn.png)
   如果无负载均衡地址，您可以在管理控制台右上角，选择"[工单 \> 新建工单](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)"联系客服进行咨询。
   图7查看IP地址   
   ![](https://support.huaweicloud.com/dynamodbug-nosql/zh-cn_image_0000002579011406.png "点击放大")
   
   
   
**连接实例**
Java样例如下，将下面代码示例中的ip替换为[2]查到的负载均衡地址：
```
public class ClientExample{  
    public static AWSCredentialsProvider myCredentials = new AWSStaticCredentialsProvider(new BasicAWSCredentials("rwuser", "your_pwd"));  
    public static void main(String[] args) {  
        AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard()  
            .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("http://ip", "cn-north-1"))
            .withCredentials(myCredentials)  
            .build();  
        DynamoDB dynamoDB = new DynamoDB(client);  
        TableCollection res = dynamoDB.listTables();  
        System.out.println(res);  
    }  
}
```
