Pola akses - AWS Bimbingan Preskriptif

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

Pola akses

Seperti yang disebutkan sebelumnya dalam panduan ini, Anda dapat memilih dari tiga pola akses, pembaruan, dan penghapusan (CRUD) pada tabel DynamoDB: antarmuka persistensi objek, antarmuka API tingkat rendah. Antarmuka API tingkat rendah. Bagian berikut menjelaskan setiap antarmuka. Untuk kasus penggunaan SQL Server ke DynamoDB, kami memilih antarmuka persistensi objek untuk kesederhanaan, keterbacaan, dan kemudahan pemeliharaan.

Antarmuka persistensi objek

Antarmuka persistensi objek menyediakan mekanisme akses tingkat tinggi dan disarikan untuk melakukan operasi CRUD pada item DynamoDB dengan menggunakan model .NET, mirip dengan entitas Entity Framework. Properti antarmuka memetakan ke atribut item DynamoDB. AWSSDK for .NET mendukung atribut properti kustom dalam model ini untuk menyesuaikan serialisasi dan deserialisasi properti individu, untuk menangani nilai null, dan untuk konversi jenis.

Model sampel yang digunakan dalam aplikasi:

[DynamoDBTable(“AppLibrary")] public class ProdApp { [DynamoDBHashKey] public string PK { get; set; } //Partition key [DynamoDBRangeKey] public string SK { get; set; } //Sort key [DynamoDBGlobalSecondaryIndexRangeKey(“Version-index")] [DynamoDBProperty] public int Version { get; set; } . . . [DynamoDBProperty] public Int64 TTL { get; set; } }

Akses item:

var _dynamoDbClient = new AmazonDynamoDBClient(AWSCredentials); var _context = new DynamoDBContext(_dynamoDbClient); public ProdApp GetProdAppById (Guid id, int version) { var pk = $”{id}-{version}”; return _context.Load<ProdApp>(pk, ItemType.ProductionApplication); }

Untuk informasi selengkapnya, lihat antarmuka persistensi objek dalam dokumentasi DynamoDB.

Antarmuka dokumen

Model antarmuka dokumen menyediakan akses berbasis dokumen (mirip denganXMLDocument di .NET) ke item DynamoDB. Model ini menyediakan antarmuka pemrograman tingkat yang lebih tinggi, tetapi menerjemahkan panggilannya ke API tingkat rendah untuk melakukan operasi.

var _dynamoDbClient = new AmazonDynamoDBClient(AWSCredentials); var _table = Table.LoadTable(_dynamoDbClient, “AppLibrary”); public ProdApp GetProdAppById (Guid id, int version) { var pk = $”{id}-{version}”; var doc = _table.GetItem(pk, ItemType.ProductionApplication); var app = new ProdApp { PK = doc[“PK”], SK = doc[“SK”], Version = doc[“Version”], . . . }; return app; }

Untuk informasi lebih lanjut, lihat Antarmuka dokumen dokumen dokumen dokumen dokumen DynamoDB.

API tingkat rendah

AWSSDK untuk DynamoDB juga menyediakan akses API tingkat rendah untuk melakukan operasi CRUD dengan menggunakanPutItem,GetItem,UpdateItem, danDeleteItem metode. Model ini memberikan kontrol penuh atas pemetaan atribut dan jenis konversi. Respon untuk panggilan ini adalah kamus pasangan nilai kunci.

[DynamoDBTable(“AppLibrary")] public class ProdApp { [DynamoDBHashKey] public string PK { get; set; } //Partition key [DynamoDBRangeKey] public string SK { get; set; } //Sort key [DynamoDBGlobalSecondaryIndexRangeKey(“Version-index")] [DynamoDBProperty] public int Version { get; set; } . . . [DynamoDBProperty] public ProdConfig Config { get; set; } } var _dynamoDbClient = new AmazonDynamoDBClient(AWSCredentials); public ProdApp GetProdAppById (Guid id, int version) { var pk = $”{id}-{version}”; var resp = _dynamoDbClient.Query(queryRequest); var item = resp.Items[0]; var app = new ProdApp { PK = item[“PK”].S, SK = item[“SK”].S, Version = Convert.ToInt32(item[“Version”].S), . . . Config = new ProdConfig { Name = item[“Config”].M[“Name”].S, Id = Conver.ToInt32(item[“Config”].M[“Id”].S) } }; return app; }

Untuk informasi selengkapnya, lihat Antarmuka tingkat rendah dalam dokumentasi DynamoDB.