Topik ini menjelaskan cara menggunakan AWS Command Line Interface (AWS CLI) dan SDK untuk bahasa pemrograman seperti Python dan Java untuk menghubungkan ke instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB.
Prasyarat
Instance ApsaraDB for MongoDB yang kompatibel dengan protokol DynamoDB telah dibuat. Untuk informasi lebih lanjut tentang cara membuat instance ApsaraDB for MongoDB, lihat Buat Instance Kluster Sharded.
Persiapan
Peroleh string koneksi dari instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB.
Masuk ke Konsol ApsaraDB for MongoDB.
Di pojok kiri atas halaman yang muncul, pilih grup sumber daya dan wilayah tempat instance Anda berada.
Di panel navigasi di sebelah kiri, klik Sharded Cluster Instances.
Temukan instance yang diinginkan dan klik ID instance tersebut.
Di panel navigasi di sebelah kiri halaman detail instance, klik Database Connections.
Di bagian Internal Connections - VPC, lihat string koneksi dari instance tersebut.

Jika aplikasi Anda diterapkan pada instance Elastic Compute Service (ECS), pastikan bahwa instance kluster sharded Anda dan instance ECS memenuhi persyaratan berikut untuk memastikan konektivitas jaringan:
Instance kluster sharded Anda dan instance ECS milik wilayah yang sama. Anda dapat melihat wilayah instance ECS. Untuk informasi lebih lanjut, lihat Lihat Informasi Instance.
Opsional: Instance kluster sharded Anda dan instance ECS milik zona yang sama. Ini mengurangi latensi jaringan. Anda dapat melihat zona instance ECS. Untuk informasi lebih lanjut, lihat Lihat Informasi Instance.
Tipe jaringan instance kluster sharded Anda dan instance ECS sama. Anda dapat melihat tipe jaringan instance ECS. Untuk informasi lebih lanjut, lihat Lihat Informasi Instance. Jika instance ECS berada di classic network, Anda dapat memigrasikan instance ECS dari classic network ke virtual private cloud (VPC). Untuk informasi lebih lanjut, lihat Migrasi Instance ECS dari Jaringan Klasik ke VPC.
Gunakan AWS CLI untuk menghubungkan ke instance
Bagian ini menjelaskan cara menggunakan AWS CLI untuk menghubungkan ke instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB. Dalam contoh ini, digunakan Ubuntu 16.04.6 LTS. Untuk informasi lebih lanjut tentang AWS CLI, lihat Apa Itu AWS Command Line Interface?
Instal klien AWS CLI.
Jalankan perintah berikut untuk mendapatkan paket instalasi versi AWS CLI terbaru dan ubah nama paket menjadi
awscliv2.zip:curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"Jalankan perintah berikut untuk mengekstrak file
awscliv2.zip:unzip awscliv2.zipCatatanJika Anda belum menginstal utilitas
unzip, jalankan perintahsudo apt install unzipuntuk menginstal utilitas unzip. Kemudian, jalankan perintah sebelumnya untuk mengekstrak paket awscliv2.zip.Jalankan perintah berikut untuk menginstal klien AWS CLI:
sudo ./aws/install
Jika prompt
Anda sekarang dapat menjalankan: /usr/local/bin/aws --versionmuncul, klien AWS CLI telah diinstal. Anda dapat menjalankan perintah/usr/local/bin/aws --versionuntuk memeriksa nomor versi AWS CLI.Jalankan perintah
/usr/local/bin/aws configureuntuk mengonfigurasi AWS CLI dan konfigurasikan parameter yang dijelaskan dalam tabel berikut. Tekan tombol Enter setelah Anda mengonfigurasi sebuah parameter.Parameter
Deskripsi
Contoh
AWS Access Key IDID kunci akses akun AWS Anda. Jika Anda tidak memiliki ID kunci akses, masukkan karakter acak.
XXXXXXXXXXAWS Secret Access KeyKunci akses rahasia akun AWS Anda. Jika Anda tidak memiliki kunci akses rahasia, masukkan karakter acak.
XXXXXXXXXXDefault region nameWilayah tempat database AWS DynamoDB Anda berada. Jika Anda tidak memiliki wilayah, masukkan wilayah dalam contoh.
us-west-2Default output formatFormat keluaran default. Parameter ini dapat dibiarkan kosong.
jsonCatatanUntuk informasi lebih lanjut tentang konfigurasi AWS CLI, lihat Konfigurasikan AWS CLI.
Jalankan perintah berikut untuk menghubungkan ke instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB dan buat koleksi:
aws dynamodb --endpoint-url <String koneksi instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB> \ create-table --table-name <Nama koleksi yang ingin Anda buat> \ --attribute-definitions AttributeName=<Nama atribut>,AttributeType=<Tipe data atribut> \ --key-schema AttributeName=<Nama atribut kunci utama>,KeyType=<Peran kunci utama> \ --provisioned-throughput ReadCapacityUnits=<Throughput baca yang disediakan>,WriteCapacityUnits=<Throughput tulis yang disediakan>Parameter
Deskripsi
--endpoint-urlString koneksi instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB. String koneksi harus dimulai dengan
HTTP://.create-tablePerintah yang digunakan untuk membuat koleksi.
CatatanUntuk informasi lebih lanjut, lihat create-table.
--table-nameNama koleksi yang ingin Anda buat.
--attribute-definitionsArray atribut yang menggambarkan skema kunci untuk koleksi atau indeks. Parameter ini terdiri dari opsi berikut:
AttributeName: nama atribut.AttributeType: tipe data atribut.CatatanUntuk informasi lebih lanjut, lihat create-table.
--key-schemaAtribut kunci utama koleksi atau indeks. Parameter ini terdiri dari opsi berikut:
AttributeName: nama atribut kunci utama yang dibuat menggunakan parameter--attribute-definitions.KeyType: peran kunci utama.CatatanUntuk informasi lebih lanjut, lihat create-table.
--provisioned-throughputThroughput yang disediakan untuk koleksi atau indeks. Parameter ini terdiri dari opsi berikut:
ReadCapacityUnits: throughput baca yang disediakan.WriteCapacityUnits: throughput tulis yang disediakan.
CatatanUntuk informasi lebih lanjut, lihat create-table.
Contoh kode:
/usr/local/bin/aws dynamodb --endpoint-url http://dds-xxxx.mongodb.rds.aliyuncs.com:3717 #Tentukan string koneksi yang digunakan untuk menghubungkan ke instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB. \ create-table --table-name student #Buat koleksi bernama student. \ --attribute-definitions AttributeName=name,AttributeType=S AttributeName=age,AttributeType=N #Tentukan atribut nama bertipe STRING dan atribut usia bertipe NUMBER untuk koleksi. \ --key-schema AttributeName=name,KeyType=HASH AttributeName=age,KeyType=RANGE #Tentukan atribut nama sebagai kunci partisi dan atribut usia sebagai kunci sortir. \ --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 #Atur throughput baca dan tulis yang disediakan menjadi 5.Jika konten berikut ditampilkan, Anda telah terhubung ke instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB dan sebuah koleksi telah dibuat.
{ "TableDescription": { "TableName": "student", "KeySchema": [ { "AttributeName": "name", "KeyType": "HASH" }, { "AttributeName": "age", "KeyType": "RANGE" } ], "TableStatus": "CREATING", "TableSizeBytes": 0, "ItemCount": 0 } }
Gunakan Python untuk menghubungkan ke instance
Python 2.6 atau yang lebih baru telah diinstal. Untuk informasi lebih lanjut, kunjungi Situs Resmi Python.
Boto3 telah diinstal. Untuk informasi lebih lanjut, lihat Dokumentasi Boto3.
Contoh kode berikut memberikan contoh tentang cara menggunakan SDK untuk Python untuk menghubungkan ke instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB dan membuat koleksi bernama Book:
import boto3
def create_book_table(dynamodb=None):
if not dynamodb:
dynamodb = boto3.resource('dynamodb', endpoint_url="http://dds-xxxx.mongodb.rds.aliyuncs.com:3717")
table = dynamodb.create_table(
TableName='Book',
KeySchema=[
{
'AttributeName':'title',
'KeyType':'HASH'
},
{
'AttributeName':'year',
'KeyType':'RANGE'
}
],
AttributeDefinitions=[
{
'AttributeName':'title',
'AttributeType':'S'
},
{
'AttributeName':'year',
'AttributeType':'N'
},
],
ProvisionedThroughput={
'ReadCapacityUnits':5,
'WriteCapacityUnits':5
}
)
return table
if __name__ == '__main__':
book_table =create_book_table()
print("Tablestatus:", book_table.table_status)Gunakan Java untuk menghubungkan ke instance
Instal AWS SDK untuk Java. Untuk informasi lebih lanjut, lihat Siapkan AWS SDK untuk Java 2.x.
Contoh kode berikut memberikan contoh tentang cara menggunakan SDK untuk Java untuk menghubungkan ke instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB dan membuat koleksi bernama Book:
package com.amazonaws.codesamples.gsg;
import java.util.Arrays;
import com.amazonaws.client.builder.AwsClientBuilder;
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.Table;
import com.amazonaws.services.dynamodbv2.model.AttributeDefinition;
import com.amazonaws.services.dynamodbv2.model.KeySchemaElement;
import com.amazonaws.services.dynamodbv2.model.KeyType;
import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput;
import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType;
public class MoviesCreateTable {
public static void main(String[] args) throws Exception {
AmazonDynamoDB client =AmazonDynamoDBClientBuilder.standard()
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("http://dds-xxxx.mongodb.rds.aliyuncs.com:3717",
"us-east-1"))
.build();
DynamoDB dynamoDB = new DynamoDB(client);
String tableName ="Book";
try {
System.out.println("Membuat tabel...");
Table table =dynamoDB.createTable(tableName,
Arrays.asList(new
KeySchemaElement("title", KeyType.HASH), // Partition key
new KeySchemaElement("year", KeyType.RANGE)), // Sort key
Arrays.asList(new AttributeDefinition("title", ScalarAttributeType.S),
new AttributeDefinition("year", ScalarAttributeType.N)),
new ProvisionedThroughput(5L, 5L));
table.waitForActive();
System.out.println("OK. Status tabel: " + table.getDescription().getTableStatus());
}
catch (Exception e) {
System.err.println("Tidak dapat membuat tabel: ");
System.err.println(e.getMessage());
}
}
}Gunakan SDK untuk bahasa pemrograman lainnya untuk menghubungkan ke instance
Untuk informasi lebih lanjut, lihat Memulai dengan DynamoDB dan AWS SDK.