查询 DynamoDB GSI 以查找匹配子字符串的选项有哪些?
What are the options for querying a DynamoDB GSI to find matching substrings?
我有一个 dynamodb table,其结构类似于:
{
Type: 'AWS::DynamoDB::Table',
Properties: {
KeySchema: [
{
AttributeName: 'itemID',
KeyType: 'HASH'
}
],
AttributeDefinitions: [
{
AttributeName: 'itemID',
AttributeType: 'S'
},
{
AttributeName: 'label',
AttributeType: 'S'
}
],
GlobalSecondaryIndexes: [
{
IndexName: 'byLabel',
KeySchema: [
{
AttributeName: 'label',
KeyType: 'HASH'
}
],
Projection: {
ProjectionType: 'ALL'
}
}
]
}
}
对于我的一种访问模式,我想获取所有包含带有特定子字符串的标签的数据。我是 dynamodb 的新手,所以我不确定实现此目标的最佳方法。
我让它像下面一样为平等工作。但是我更喜欢更多的结果,所以返回包含输入的数据是理想的。
当前请求 VTL 模板:
{
"version": "2018-05-29",
"operation": "Query",
"query": {
"expression": "label = :label",
"expressionValues": {
":label": $util.dynamodb.toDynamoDBJson($context.arguments.label)
}
},
"index": "byLabel",
}
我正在寻找有关通常如何使用 dynamodb 实现完成此操作的建议。
我有一个 dynamodb table,其结构类似于:
{
Type: 'AWS::DynamoDB::Table',
Properties: {
KeySchema: [
{
AttributeName: 'itemID',
KeyType: 'HASH'
}
],
AttributeDefinitions: [
{
AttributeName: 'itemID',
AttributeType: 'S'
},
{
AttributeName: 'label',
AttributeType: 'S'
}
],
GlobalSecondaryIndexes: [
{
IndexName: 'byLabel',
KeySchema: [
{
AttributeName: 'label',
KeyType: 'HASH'
}
],
Projection: {
ProjectionType: 'ALL'
}
}
]
}
}
对于我的一种访问模式,我想获取所有包含带有特定子字符串的标签的数据。我是 dynamodb 的新手,所以我不确定实现此目标的最佳方法。
我让它像下面一样为平等工作。但是我更喜欢更多的结果,所以返回包含输入的数据是理想的。
当前请求 VTL 模板:
{
"version": "2018-05-29",
"operation": "Query",
"query": {
"expression": "label = :label",
"expressionValues": {
":label": $util.dynamodb.toDynamoDBJson($context.arguments.label)
}
},
"index": "byLabel",
}
我正在寻找有关通常如何使用 dynamodb 实现完成此操作的建议。