如何使用 AWS sdk 在 Go 中正确解组 PartiQL 查询的结果?
问题内容
我的乐队即将演出的节目存储在 DynamoDB 中,并且我有以下代码:
type PartiQLRunner struct { DynamoDbClient *dynamodb.DynamoDB TableName string } func BuildRunner() *PartiQLRunner { sess := session.Must(session.NewSessionWithOptions(session.Options{ SharedConfigState: session.SharedConfigEnable, })) svc := dynamodb.New(sess) return &PartiQLRunner{ DynamoDbClient: svc, TableName: "SHOWS", } } type Show struct { PK int `dynamodbav:"PK"` DATE string `dynamodbav:"DATE"` ADDRESS string `dynamodbav:"ADDRESS"` VENUE string `dynamodbav:"VENUE"` } func (runner PartiQLRunner) GetShows() ([]Show, error) { var shows []Show response, err := runner.DynamoDbClient.ExecuteStatement( &dynamodb.ExecuteStatementInput{ Statement: aws.String(fmt.Sprintf("SELECT * FROM "%v" WHERE PK = 1", runner.TableName)), }) if err != nil { log.Printf("Couldn't get info. Here's why: %vn", err) } else { err = attributevalue.UnmarshalListOfMaps(response.Items, &shows) if err != nil { log.Printf("Couldn't unmarshal response. Here's why: %vn", err) } } return shows, err }登录后复制