0

このコードは、アイテムのセット全体を返します。ここでは、そのカウントだけが必要です。このインデックスのアイテムの数だけを取得することは可能ですか?ここでは例えば同様DynamoDB get item count

AWSDynamoDBObjectMapper *objectMapper = [AWSDynamoDBObjectMapper defaultDynamoDBObjectMapper]; 
AWSDynamoDBQueryExpression *queryExpression = [AWSDynamoDBQueryExpression new]; 

queryExpression.indexName = @"getVideoViews"; 
queryExpression.keyConditionExpression = @"#videoId = :val"; 
queryExpression.expressionAttributeNames = @{ 
              @"#videoId" : @"videoId", 
              }; 
queryExpression.expressionAttributeValues = @{ 
               @":val": videoId, 
               }; 
__weak typeof(self) weakSelf = self; 

[objectMapper query:[ViewedVideos class] 
     expression:queryExpression 
    completionHandler:^(AWSDynamoDBPaginatedOutput * _Nullable response, NSError * _Nullable error) { 
     if (!error) { 
      dispatch_async(dispatch_get_main_queue(), ^{ 
       if ([weakSelf.delegate respondsToSelector:@selector(serverConnectionHandlerReceivedNumberOfVideoViews:)]) { 
        [weakSelf.delegate serverConnectionHandlerReceivedNumberOfVideoViews:3]; 
       } 
      }); 
     } 
    }]; 

aws dynamodb scan --table-name <TABLE_NAME> --select "COUNT" 

答えて

1

あなたはDescribeTable APIを使用することができますhttp://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DescribeTable.html

"ITEMCOUNT個" の属性がありますが。これはライブデータではありません(6時間ごとに更新されます)。ライブデータを探している場合は、フルテーブルスキャンを行う必要があります。ただし、フル・テーブル・スキャンは、テーブルのサイズによっては高価になる可能性があるため、お勧めしません。

+1

itemcountはクエリで機能しますか?なぜなら、テーブル全体の数は必要ないのですが、そのvideoIDを持つ項目の数だけです。 – vatti

+0

による:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html ** Count **パラメータを使用して、フィルタ/条件に一致するアイテムの合計数を取得できますスキャン/クエリの場合 –

+0

はい、すべての項目を返しますが、countパラメータもあります。アイテムではなく、返されるcountパラメータだけが必要です。申し訳ありませんが、私は何かが不足している場合。 – vatti