powershell - DynamoDB API 过滤扫描不返回任何结果

标签 powershell amazon-web-services amazon-dynamodb aws-cli

因此,我正在通过 Powershell 使用 AWS CLI 对包含约 500 条记录的 DynamoDB 表进行扫描,因为 AWS Powershell 工具不支持 DDB 查询/扫描操作。我可以在没有过滤器的情况下运行命令并获取我的所有项目:

& aws dynamodb scan --table-name "$table_name" --projection-expression "$item_key"

这将返回 $item_key 的所有 500 多个值。

当我尝试过滤扫描时出现问题:

& aws dynamodb scan --table-name "$table_name" --projection-expression "$item_key" --filter-expression "item_key_2 = `"$item_value`""

即使表中有多个值与 $item_value 匹配,这也会返回 0 计数且没有项目。

我在这里遗漏/做错了什么?

最佳答案

假设 $item_value 在这里扩展为 foobar。该过滤器表达式正在寻找的是 item_key_2foobar 属性具有相同值的项目:

{
  "item_key": "...",
  "item_key_2": "It's a match!",
  "foobar": "It's a match!"
}

要将 item_key_2 与文字值进行比较,您需要执行以下操作:

aws dynamodb scan \
    --table-name "$table_name" \
    --filter-expression "item_key_2 = :value" \
    --expression-attribute-values "{`":value`":{`"S`":`"$item_value`"}}"

:(

关于powershell - DynamoDB API 过滤扫描不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31170819/

相关文章:

powershell - 与此 Bash 命令等效的 PowerShell 是什么?

linux - Linux 中的 Node.js 和打开文件限制

amazon-web-services - Dynamodb 自动缩放 terraform 导入

hadoop - 如何在Hive 3.1上为DynamoDB创建外部表

sql-server - 调用-Sqlcmd : Duplicate column names are not permitted in SQL PowerShell

Powershell 在控制台和文件中都显示消息

powershell - 在 Powershell 中加入两个结果

python-3.x - 无法卸载 AWS CLI : Cannot uninstall requirement awscli, 未安装

amazon-web-services - Amazon ItemLookup API - 缺少参数操作

amazon-dynamodb - DynamoDB - 它可以用于没有自然分区键的数据吗?