C#에서 Alexa용 테이블에 데이터를 추가. 한층 더 다시 해. (고레벨 API편)

6833 단어 C#알렉사AWS_SDK

소개



AWS SDK for .NET에는 C#에서 DynamoDB에 액세스하는 API가 포함되어 있습니다.
저레벨 API라는 것이 지금까지 설명해 온 녀석입니다.
저장할 데이터 유형까지 지정해야 했습니다.

이것에 대해 고레벨 API라고 하는 것은 이름대로, 상세를 더욱 숨겨 사용하기 쉬워지고 있습니다.

고수준 API를 사용하여 데이터 추가



고수준 API를 사용하면 데이터 추가를 다음과 같이 작성할 수 있습니다.
데이터의 구축에는 AttributeValue 는 아니고 `Document (Amazon.DynamoDBv2.DocumentModel 네임스페이스) 클래스를 사용합니다.
AttributeValue 에서는 지정하지 않으면 안 되었던 데이터의 타입등은 OK라는 형태로되어 있습니다.
훌륭합니다.
            AmazonDynamoDBClient client = new AmazonDynamoDBClient(); //今回、裏方に回った。

            //目的のテーブルを取得
            var table = Table.LoadTable(client, tableName);

            //データはAttributeValueではなくDocumentを使って構築する。
            //attributes列に入れるデータの構築
            var attr2=new Document();
            attr2["sign"] = "ふたご座";//文字列でも
            attr2["number"] = 5;//整数でも
            //気にせずに入れられる。

            //挿入するレコードの構築
            var item=new Document();
            item["id"] = "testuser2";//id列
            item["attributes"] = attr2;//attributes列。上で作成したattr2を入れる。

            var result2= table.PutItemAsync(item).Result;

실행 결과



이렇게 하면 DynamoDB 테이블에 다음과 같은 데이터가 추가됩니다.Document 라는 것이 이번에 추가한 데이터입니다.
데이터 유형이 올바르게 지정되고 저장됩니다.




이 Document 클래스입니다만, 어떤 형태라도 돌진할 수 있을까라고 하는 것으로, testuser2 를 넣어 보았습니다.
다음과 같이.
이제 테이블에 데이터를 입력하면 어떤 형태로 저장되는지 살펴 보겠습니다.
            //目的のテーブルを取得
            var table = Table.LoadTable(client, tableName);

            //データはAttributeValueではなくDocumentを使って構築する。
            //attributes列に入れるデータの構築
            var attr2 = new Document();
            attr2["sign"] = "ふたご座";//文字列でも
            attr2["number"] = 5;//整数でも

            //気にせずに入れられる。

            //試しにList<string>を入れてみる
            var list = new List<string>
            {
                "hello1",
                "hello2",
            };
            attr2["list"] = list;

            //挿入するレコードの構築
            var item = new Document();
            item["id"] = "testuser2";//id列
            item["attributes"] = attr2;//attributes列。上で作成したattr2を入れる。

            var result2 = table.PutItemAsync(item).Result;


DynamoDB 측은 이렇게 됩니다.
「SS」라고 하는 것은 「문자열 세트(String Set)」라고 하는 의미군요.


아무것도 생각하지 않고 점점 밀어 넣을 수있는 것은 매우 편리하네요.

좋은 웹페이지 즐겨찾기