Vin*_*eet 0 amazon-web-services amazon-dynamodb boto3
我正在尝试批量添加 dynamodb 中的项目。我的表由复合主键组成,即主键和排序键的组合。我已在我的表上启用time to live,但指标显示deletedItemsCount没有变化。
以下是我的代码:-
def generate_item(data):
item = {
"pk": data['pk'],
"ttl": str(int(time.time())), # current time set for testing
"data": json.dumps({"data": data}),
"sk": data['sk']
}
return item
def put_input_data(input_data, table_name):
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table(table_name)
data_list = input_data["data"]
try:
with table.batch_writer() as writer:
for index, data in enumerate(data_list):
writer.put_item(Item=generate_item(data))
except ClientError as exception_message:
raise
Run Code Online (Sandbox Code Playgroud)
在查询表时,我可以看到项目已添加到表中,但图表显示deletedItemsCount没有变化。
有人能指出我哪里出错了吗?将不胜感激任何提示。
谢谢
小智 5
看起来你的 ttl 属性是一个字符串,但是......
\n\n\n\nTTL 属性\xe2\x80\x99s 值必须是数字数据类型。例如,如果您指定表使用属性名称 expdate 作为 TTL 属性,但某个项目的属性是字符串数据类型,则 TTL 进程会忽略该项目。
\n
希望能解决您的问题。
\n| 归档时间: |
|
| 查看次数: |
1445 次 |
| 最近记录: |