Xamarin 的AWS行動 SDK 現在已包含在AWS SDK for .NET. 本指南參考 Xamarin 行動 SDK 的封存版本。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 DynamoDB 存儲和檢索數據
Amazon DynamoDB
下面的教學課程介紹如何將 DynamoDB 對象持久化模型與您的應用集成,該模型會在 DynamoDB 中存儲對象。
項目設定
先決條件
您必須完成設定適用於 .NET 和 Xamarin 的 AWS Mobile SDK,然後再開始本教程。
建立 DynamoDB 資料表
您必須先建立資料表,然後才可以將數據寫入 DynamoDB 數據庫。建立資料表時,您必須指定主索引鍵。主索引鍵包含散列屬性和一個可選的範圍屬性。如需如何使用主要屬性和範圍屬性的詳細資訊,請參。處理表格。
-
前往DynamoDB 主控台
,然後按一下建立資料表。建立資料表精靈隨即出現。 -
指定表名、主鍵類型(哈希)和哈希屬性名稱(「Id」),如下所示,然後單擊Continue:
-
將下一個屏幕中的編輯字段留空,然後單擊Continue。
-
接受個讀取容量單位和寫入容量單位,然後按一下Continue。
-
在下一個屏幕上,在Send notification to:文字方塊,然後按一下Continue。審核畫面隨即出現。
-
按一下 Create (建立)。建立資料表需要幾分鐘的時間來完成。
設定 DynamoDB 的許可
要使您的身份池能夠訪問 Amazon DynamoDB,您必須修改身份池的角色。
-
導覽至 。Identity and Access Management
,然後按一下角色在左側窗格中。搜索您的身分集區名稱-將會列出兩個角色,一個用於未驗證的使用者,一個用於已驗證的使用者。 -
按一下未經驗證使用者的角色 (它會在您的身分集區名稱後附加「unauth」),然後按一下建立角色政策。
-
選擇政策產生器,然後按一下選擇。
-
在編輯許可頁面上,輸入下圖顯示的設定。DynamoDB 資源名稱 (ARN) 類似
arn:aws:dynamodb:us-west-2:123456789012:table/Books
,由表所在的區域、所有者的 AWS 賬户號碼以及表格的名稱組成,格式為table/Books
。如需如何指定 ARN 的詳細資訊,請參。DynamoDB 的 Amazon Resource Name。 -
按一下新增陳述式,然後按一下後續步驟。嚮導會顯示產生的組態。
-
按一下應用政策。
AddNuGet軟件包 DynamoDB 到您的項目中
請按照中的説明步驟 4設定適用於 .NET 和 Xamarin 的 AWS Mobile SDK添加 DynamoDB 庫NuGet套件至您的項目。
InitializeAmazonDynamoDB客户端
將您已初始化的 Amazon Cognito 憑證提供商及您的區域傳遞至AmazonDynamoDB
構造函數,然後將用户端傳遞給 DynamoDBContext:
var client = new AmazonDynamoDBClient(credentials,region); DynamoDBContext context = new DynamoDBContext(client);
建立類別
要將行寫入表,請定義一個類來保存您的行數據。類還應包含保存該行的屬性數據的屬性,並將映射到在控制台中創建的 DynamoDB 表。以下類聲明説明瞭這樣的類:
[DynamoDBTable("Books")] public class Book { [DynamoDBHashKey] // Hash key. public int Id { get; set; } public string Title { get; set; } public string ISBN { get; set; } public int Price { get; set; } public string PageCount { get; set; } public string Author{ get; set; } }
儲存項目
要保存項目,請首先創建一個對象:
Book songOfIceAndFire = new Book() { Id=1, Title="Game Of Thrones", ISBN="978-0553593716", Price=4, PageCount="819", Author="GRRM" };
然後保存它:
context.Save(songOfIceAndFire);
要更新行,請修改DDTableRow
類別並調用AWSDynamoObjectMapper.save()
如上所示。
擷取項目
使用主鍵檢索項目:
Book retrievedBook = context.Load<Book>(1);
更新項目
若要更新項目:
Book retrievedBook = context.Load<Book>(1); retrievedBook.ISBN = "978-0553593716"; context.Save(retrievedBook);
刪除項目
刪除項目:
Book retrievedBook = context.Load<Book>(1); context.Delete(retrievedBook);
有關從 Xamarin 應用程序訪問 DynamoDB 的詳細信息,請參閲Amazon DynamoDB。