Bekerja dengan tabel DynamoDB di .NET - Amazon DynamoDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bekerja dengan tabel DynamoDB di .NET

Anda dapat menggunakan AWS SDK for .NET untuk membuat, memperbarui, dan menghapus tabel, mencantumkan semua tabel di akun Anda, atau mendapatkan informasi tentang tabel tertentu.

Berikut ini adalah langkah-langkah umum untuk operasi tabel Amazon DynamoDB menggunakan AWS SDK for .NET.

  1. Buat instans dari kelas AmazonDynamoDBClient (klien).

  2. Berikan parameter yang diperlukan dan opsional untuk operasi dengan membuat objek permintaan yang sesuai.

    Misalnya, buat objek CreateTableRequest untuk membuat tabel dan objek UpdateTableRequest untuk memperbarui tabel yang ada.

  3. Jalankan metode yang sesuai yang disediakan oleh klien yang Anda buat pada langkah sebelumnya.

catatan

Contoh dalam bagian ini tidak berfungsi dengan .NET core karena tidak mendukung metode sinkron. Untuk informasi selengkapnya, lihat AWS asynchronous API untuk .NET.

Membuat tabel

Untuk membuat tabel, Anda harus memberikan nama tabel, kunci primernya, dan nilai throughput yang disediakan.

Untuk membuat tabel menggunakan API tingkat rendah AWS SDK for .NET
  1. Buat instans kelas AmazonDynamoDBClient.

  2. Buat instans dari kelas CreateTableRequest untuk memberikan informasi permintaan.

    Anda harus memberikan nama tabel, kunci primer, dan nilai throughput yang disediakan.

  3. Jalankan metode AmazonDynamoDBClient.CreateTable dengan menyediakan objek permintaan sebagai parameter.

Contoh #C berikut menunjukkan langkah-langkah sebelumnya. Sampel membuat tabel (ProductCatalog) yang menggunakan Id sebagai kunci primer dan kumpulan nilai throughput yang disediakan. Bergantung pada persyaratan aplikasi, Anda dapat memperbarui nilai throughput yang disediakan dengan menggunakan API UpdateTable.

AmazonDynamoDBClient client = new AmazonDynamoDBClient(); string tableName = "ProductCatalog"; var request = new CreateTableRequest { TableName = tableName, AttributeDefinitions = new List<AttributeDefinition>() { new AttributeDefinition { AttributeName = "Id", AttributeType = "N" } }, KeySchema = new List<KeySchemaElement>() { new KeySchemaElement { AttributeName = "Id", KeyType = "HASH" //Partition key } }, ProvisionedThroughput = new ProvisionedThroughput { ReadCapacityUnits = 10, WriteCapacityUnits = 5 } }; var response = client.CreateTable(request);

Anda harus menunggu hingga DynamoDB membuat tabel dan menetapkan statusnya menjadi ACTIVE. Respons CreateTable mencakup properti TableDescription yang menyediakan informasi tabel yang diperlukan.

contoh
var result = response.CreateTableResult; var tableDescription = result.TableDescription; Console.WriteLine("{1}: {0} \t ReadCapacityUnits: {2} \t WriteCapacityUnits: {3}", tableDescription.TableStatus, tableDescription.TableName, tableDescription.ProvisionedThroughput.ReadCapacityUnits, tableDescription.ProvisionedThroughput.WriteCapacityUnits); string status = tableDescription.TableStatus; Console.WriteLine(tableName + " - " + status);

Anda juga dapat memanggil metode DescribeTable klien untuk mendapatkan informasi tabel kapan saja.

contoh
var res = client.DescribeTable(new DescribeTableRequest{TableName = "ProductCatalog"});

Memperbarui tabel

Anda dapat memperbarui hanya nilai throughput yang disediakan dari tabel yang ada. Bergantung pada persyaratan aplikasi, Anda mungkin perlu memperbarui nilai-nilai ini.

catatan

Anda dapat meningkatkan kapasitas throughput sesering yang diperlukan, dan menurunkannya dalam batasan tertentu. Untuk informasi selengkapnya tentang peningkatan dan penurunan throughput per hari, lihat Layanan, akun, dan tabel kuota di Amazon DynamoDB.

Untuk memperbarui tabel menggunakan API tingkat rendah AWS SDK for .NET
  1. Buat instans kelas AmazonDynamoDBClient.

  2. Buat instans dari kelas UpdateTableRequest untuk memberikan informasi permintaan.

    Anda harus memberikan nama tabel dan nilai throughput baru yang disediakan.

  3. Jalankan metode AmazonDynamoDBClient.UpdateTable dengan menyediakan objek permintaan sebagai parameter.

Contoh #C berikut menunjukkan langkah-langkah sebelumnya.

contoh
AmazonDynamoDBClient client = new AmazonDynamoDBClient(); string tableName = "ExampleTable"; var request = new UpdateTableRequest() { TableName = tableName, ProvisionedThroughput = new ProvisionedThroughput() { // Provide new values. ReadCapacityUnits = 20, WriteCapacityUnits = 10 } }; var response = client.UpdateTable(request);

Menghapus tabel

Ikuti langkah berikut untuk menghapus tabel menggunakan API tingkat rendah .NET.

Untuk menghapus tabel menggunakan API tingkat rendah AWS SDK for .NET
  1. Buat instans dari kelas AmazonDynamoDBClient.

  2. Buat instans dari kelas DeleteTableRequest dan berikan nama tabel yang ingin Anda hapus.

  3. Jalankan metode AmazonDynamoDBClient.DeleteTable dengan menyediakan objek permintaan sebagai parameter.

Contoh kode #C berikut menunjukkan langkah-langkah sebelumnya.

contoh
AmazonDynamoDBClient client = new AmazonDynamoDBClient(); string tableName = "ExampleTable"; var request = new DeleteTableRequest{ TableName = tableName }; var response = client.DeleteTable(request);

Mencantumkan tabel

Untuk mencantumkan tabel di akun Anda menggunakan API tingkat rendah AWS SDK for .NET, buat sebuah instans dari AmazonDynamoDBClient dan jalankan metode ListTables.

ListTablesOperasi tidak memerlukan parameter. Namun, Anda dapat menentukan parameter opsional. Misalnya, Anda dapat mengatur parameter Limit jika ingin menggunakan paging untuk membatasi jumlah nama tabel per halaman. Hal ini mengharuskan Anda membuat objek ListTablesRequest dan memberikan parameter opsional seperti yang ditunjukkan dalam contoh C# berikut. Seiring dengan ukuran halaman, permintaan menetapkan parameter ExclusiveStartTableName. Awalnya, ExclusiveStartTableName adalah null. Namun, setelah mengambil halaman pertama hasil, untuk mengambil halaman hasil berikutnya, Anda harus menetapkan nilai parameter ini ke properti LastEvaluatedTableName hasil saat ini.

contoh
AmazonDynamoDBClient client = new AmazonDynamoDBClient(); // Initial value for the first page of table names. string lastEvaluatedTableName = null; do { // Create a request object to specify optional parameters. var request = new ListTablesRequest { Limit = 10, // Page size. ExclusiveStartTableName = lastEvaluatedTableName }; var response = client.ListTables(request); ListTablesResult result = response.ListTablesResult; foreach (string name in result.TableNames) Console.WriteLine(name); lastEvaluatedTableName = result.LastEvaluatedTableName; } while (lastEvaluatedTableName != null);