亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用分頁列出表中的所有項目

如何使用分頁列出表中的所有項目

Go
眼眸繁星 2022-09-05 09:25:11
我正在嘗試使用分頁列出 DynamoDB 表中的所有項目,以下是我的嘗試:const tableName = "RecordingTable"type Recording struct {    ID string `dynamodbav:"id"`    CreatedAt string `dynamodbav:"createdAt"`    UpdatedAt string `dynamodbav:"updatedAt"`    Duration int `dynamodbav:"duration"`}type RecordingRepository struct {    ctx context.Context    svc *dynamodb.Client}func NewRecordingRepository(ctx context.Context) (*RecordingRepository, error) {    cfg, err := config.LoadDefaultConfig(ctx)    if err != nil {        return nil, err    }    return &RecordingRepository{ctx, dynamodb.NewFromConfig(cfg)}, nil}func (r *RecordingRepository) List(page int, size int) ([]Recording, error) {    size32 := int32(size)    queryInput := &dynamodb.QueryInput{        TableName: aws.String(tableName),        Limit:     &size32,    }    recordings := []Recording{}    queryPaginator := dynamodb.NewQueryPaginator(r.svc, queryInput)    for i := 0; queryPaginator.HasMorePages(); i++ {        result, err := queryPaginator.NextPage(r.ctx)        if err != nil {            return nil, err        }        if i == page {            if result.Count > 0 {                for _, v := range result.Items {                    recording := Recording{}                    if err := attributevalue.UnmarshalMap(v, &recording); err != nil {                        return nil, err                    }                    recordings = append(recordings, recording)                }            }            break        }    }    return recordings, nil}當我運行上面的代碼時,我收到以下錯誤消息:api error ValidationException: Either the KeyConditions or KeyConditionExpression parameter must be specified in the request.但是,為什么我應該在想要獲取所有項目時指定 a?有沒有另一種方法或解決方法?KeyConditionExpression
查看完整描述

2 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

Query確實需要你的鑰匙。它用于在 DynamoDB 中查找特定項目。要獲取 DynamoDB 中的所有項目,您需要使用該操作。Scan

這應該很容易在代碼中修復。

而不是使用ScanInput,而不是使用NewScanPaginatorQueryInputNewQueryPaginator


查看完整回答
反對 回復 2022-09-05
?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

剛剛替換為 和 。QueryInputScanInputQueryPaginatorScanPaginator



查看完整回答
反對 回復 2022-09-05
  • 2 回答
  • 0 關注
  • 103 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號