更新时间:2025-07-30 GMT+08:00
分享

使用HTTPS方式连接实例

本小节主要介绍使用HTTPS方式连接GeminiDB兼容DynamoDB接口的基本操作。

前提条件

  • 目标实例必须与弹性云服务器在同一个虚拟私有云和子网内才能访问。
  • 弹性云服务器必须处于目标实例所属安全组允许访问的范围内,详情请参见配置节点安全组规则
  • GeminiDB实例必须开启SSL的功能,详情参见开启SSL,并下载证书。以Java应用为例,导入证书命令为:
    keytool -importcert -alias hw -file ca.cert -keystore truststore.jks -storepass password

1. 出于业界兼容考虑,开启SSL后仍然可以使用HTTP的方式访问。在高安全性要求的场景下,客户可以通过修改配置项关闭HTTP方式访问,详情您可以在管理控制台右上角,选择“工单 > 新建工单”联系客服进行咨询。

2. HTTPS暂不支持弹性IP访问。

操作步骤

  1. 添加 Maven 依赖。在 pom.xml 中添加 AWS SDK for Java 2.x 相关的依赖。

    <dependencies>
         <dependency>
             <groupId>software.amazon.awssdk</groupId>
             <artifactId>dynamodb</artifactId>
             <version>2.x.x</version>
         </dependency>
     </dependencies>

  2. 通过 DynamoDbClient 使用 HTTPS 连接GeminiDB兼容DynamoDB接口。

    Java样例如下:
    import com.amazonaws.auth.AWSCredentialsProvider;
    import com.amazonaws.auth.AWSStaticCredentialsProvider;
    import com.amazonaws.auth.BasicAWSCredentials;
    import com.amazonaws.client.builder.AwsClientBuilder;
    import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
    import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
    import com.amazonaws.services.dynamodbv2.model.*;
    public class SourceDemo {
        public static AWSCredentialsProvider myCredentials = new AWSStaticCredentialsProvider(
                new BasicAWSCredentials("your_ak", "your_sk"));
        public static void main(String[] args) {
            AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard()
                    .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("https://127.0.0.1", "region_a"))
                    .withCredentials(myCredentials)
                    .build();
            System.out.println(client.listTables());
            CreateTableRequest request = new CreateTableRequest()
                    .withTableName("test_001")
                    .withProvisionedThroughput(new ProvisionedThroughput(1000L, 1000L))
                    .withKeySchema(
                            new KeySchemaElement("id", KeyType.HASH)
                    )
                    .withAttributeDefinitions(
                            new AttributeDefinition("id", ScalarAttributeType.N)
                    );
            System.out.println(client.createTable(request));
        }
    }

由于GeminiDB兼容DynamoDB接口完全兼容DynamoDB接口,故最常用的操作请参考DynamoDB官方文档。

相关文档