【问题标题】:Boto3 unable to retrieve items from DynamoDBBoto3 无法从 DynamoDB 检索项目
【发布时间】:2019-01-17 14:10:21
【问题描述】:

所以我使用 DynamoDB 来存储我的 Spark 作业的状态。我创建了名为 scheduleTime(Partition key)appName(Range key)Primary keys,并且我的 spark 作业在完成后写入作业的状态完全的。在我的 spark 作业完成后,另一个 Python 脚本 计划检索作业状态并在出现故障时重新启动应用程序。我在 DynamoDB 表中没有得到一组特定 主键 的项目,即使记录存在,并且当我使用 UI 时,我可以看到相应的记录。我为此使用 boto3table.get_item() 方法。代码 sn-p 如下:

    table.get_item(
    Key = {
         'scheduleTime': scheduleTime,
         'appName': appName
          }
    )

【问题讨论】:

    标签: python amazon-dynamodb boto


    【解决方案1】:

    所以基本上问题是 DynamoDB Python boto3 库的 get_item() 函数默认支持不一致的读取(这与 batch_get_items 等其他记录检索方法有点奇怪() 提供一致的阅读能力)。所以我只需要启用 ConsistantRead 标志为 True

    response = table.get_item(
        Key = {
             "scheduleTime": scheduleTime,
             "appName": appName
        },
        ConsistentRead=True
    )
    

    所以上面的代码 sn-p 非常适合立即读取。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-24
      相关资源
      最近更新 更多