Connecting to a GeminiDB (DynamoDB API Compatible) Instance
This section describes how to connect to a GeminiDB (DynamoDB API compatible) instance using Java or Python.
Prerequisites
- A GeminiDB (DynamoDB API compatible) instance has been created.
- For details about how to create an ECS, see Getting Started > Purchasing an ECS in the Elastic Cloud Server User Guide.
- JDK has been installed on the ECS.
Obtaining the IP Address of a GeminiDB (DynamoDB API compatible) Instance
- Log in to the Huawei Cloud console.
- In the service list, choose Databases > GeminiDB.
- On the Instances page, click the name of the target instance.
The GeminiDB (DynamoDB API compatible) instance uses port 8000.
Method 1
In the Node Information area on the Basic Information page, obtain the private IP address or EIP of each node.
Figure 1 Obtaining IP addressesMethod 2
In the navigation pane, choose Connections to obtain the private IP address and EIP of the instance.
Figure 2 Obtaining IP addresses
Using a Load Balancing Plug-in to Connect to a GeminiDB (DynamoDB API Compatible) Instance
- To obtain the JAR package and plug-in code, choose Service Tickets > Create Service Ticket in the upper right corner of the console and contact customer service.
- Replace the IP address in the following code example with the IP address queried in 3.
The following is a Java code example:
package com.huawei.dbs.test; import com.huawei.dbs.RequestHandler; import com.amazonaws.SDKGlobalConfiguration; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder; import com.amazonaws.services.dynamodbv2.document.DynamoDB; import com.amazonaws.services.dynamodbv2.document.TableCollection; import java.net.URI; public class V1Demo { public static AWSCredentialsProvider myCredentials = new AWSStaticCredentialsProvider( new BasicAWSCredentials("your_ak", "your_sk")); public static String ip = "***.***.***.***"; public static void main(String[] args) { disableCertificateChecks(); AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard() .withRegion("region-a") .withRequestHandlers(new RequestHandler(URI.create("http://" + ip + "8000"))) .withCredentials(myCredentials) .build(); DynamoDB dynamoDB = new DynamoDB(client); TableCollection res = dynamoDB.listTables(); System.out.println(res); } }
The following is a Python code example:
#!/usr/bin/python import boto3 import boto3_lb ip = '***.***.***.***' url = boto3_lb.setup([ip], 'http', 8000, 'fake.url.com') dynamodb = boto3.resource('dynamodb', endpoint_url=url, aws_access_key_id='ak', aws_secret_access_key='sk', region_name="region-a") url = boto3_lb.setup_single_connection([ip], 'http', 8000, 'fake.url.com') dynamodb = boto3.resource('dynamodb', endpoint_url=url, aws_access_key_id='ak', aws_secret_access_key='sk', region_name="region-a")
GeminiDB (DynamoDB API compatible) is completely compatible with DynamoDB. For details about common operations, see official DynamoDB documents.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.