AWS DynampDB QueryAsyncメソッドの返り値にItemsが見つからない場合の対処方法

c# で DynamoDB のデータを抽出するとき、QueryAsyncを使用し、Itemsプロパティを使いたいことがあるとします。

エラーが発生するコードとエラーメッセージ


var response = client.QueryAsync(request);

foreach (Dictionary<string, AttributeValue> item in response.Items)
{
    …
}

上記のコードでは、以下のエラーが発生します。

'Task<QueryResponse>' does not contain a definition for 'Items' and no accessible extension method 'Items' accepting a first argument of type 'Task<QueryResponse>' could be found (are you missing a using directive or an assembly reference?)

原因と対処方法

原因は、awaitの記入漏れです。

client.QueryAsyncawait で呼び出す必要があります。

対処後のコード


var response = await client.QueryAsync(request);

foreach (Dictionary<string, AttributeValue> item in response.Items)
{
    …
}

コメント

タイトルとURLをコピーしました