gpt4 book ai didi

python-3.x - 通过 Python3 和 Boto3 将 TTL 添加到 DynamoDB 记录

转载 作者:行者123 更新时间:2023-12-03 23:54:21 25 4
gpt4 key购买 nike

我有以下 Pyhton3/Boto3 脚本,它连接到 AWS DynamoDB 表并尝试通过循环遍历它们的所有记录来设置 19 天的 TTL:

#!/usr/bin/env python3
import boto3
import sys
from datetime import datetime, timedelta
from boto3.dynamodb.conditions import Key, Attr

client = boto3.resource('dynamodb')

ttl = 19 # The TTL in number of DAYS

myTable = client.Table('MyTable')

pe = "logId, id, created"
delCount = 0

try:
response = integrationLogTable.scan(
ProjectionExpression=pe,
)
while 'LastEvaluatedKey' in response:
response = integrationLogTable.scan(
ProjectionExpression=pe,
ExclusiveStartKey=response['LastEvaluatedKey']
)

for i in response['Items']:
# ???

except ClientError as e:
print(e.response['Error']['Message'])

我正在努力解决如何将 19 天 TTL 实际添加到我的所有记录中... 有任何想法吗?

最佳答案

这是将 TTL 添加到 DynamoDBTable 的过程,

  • 将 TTL 添加到 dynamodb 表
  • 将属性添加到每条记录并保存。

  • 属性格式:
    以秒为单位添加 TTL。

    For 19 days, it is 192460*60 => 19 days / 24 hours/ 60 minutes/ 60seconds.


    1641600 秒
    import time
    import sys

    if sys.version_info < (3, 0):
    object.ttlattribute = 1641600 + long(time.time())
    else:
    # In py3, long is renamed to int
    object.ttlattribute = 1641600 + int(time.time())
    希望能帮助到你。退房 this link关于如何使用 boto 在 DynamoDB 上执行所有操作。

    关于python-3.x - 通过 Python3 和 Boto3 将 TTL 添加到 DynamoDB 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51499506/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com