1

このコードはアイテムのセット全体を返しますが、必要なのはアイテムの数だけです。このインデックスのアイテムの数だけを取得することは可能ですか?

    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"
4

1 に答える 1

2

DescribeTable API を使用できます: http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DescribeTable.html

「itemCount」属性があります。これはライブ データではないことに注意してください (6 時間ごとに更新されます)。したがって、ライブ データを探している場合は、完全なテーブル スキャンを実行する必要があります。ただし、テーブルのサイズによってはコストがかかる可能性があるため、フル テーブル スキャンはお勧めしません。

于 2016-10-03T20:27:10.673 に答える