如何解决在 Azure 表存储中存储日期时间字段
我正在尝试将 ISO 格式的 DateTime 存储在我的 Azure 表存储中。但是每次我尝试时,都会产生这种字符串格式:
这是我正在运行的有效代码的摘要:
import jsons
from azure.functions import Out
def main(parameterTableOutputJSON: Out[str]):
row = {'ReadOn': '2021-04-28T09:35:26.123456Z'}
parameterTableOutputJSON.set(jsons.dumps(row))
当然,我的真实代码也有 PartitionKey 和 RowKey 列,但我无法在此处显示。
如何在 Azure 表存储中插入 DateTime,如下所示:2021-04-28T09:35:26.123456Z
而不是:04/28/2021 09:35:26
Azure 表存储文档告诉我它支持 ISO 格式的日期时间...
解决方法
使用最新的 Azure Data Tables 库,您可以直接在实体中使用 Python datetime
对象并将其提交以进行创建。这是一个示例片段:
from azure.data.tables import TableClient
from datetime import datetime
client = TableClient.from_connection_string(<my_conn_str>)
my_entity = {
"PartitionKey": <my_pk>,"RowKey": <my_rk>,"ReadOn": datetime(2021,4,28,9,36,26,123456)
}
client.upsert_entity(my_entity)
免责声明:我在 Azure SDK for Python 团队工作。
,我找到了解决我自己问题的方法。
jsons.dumps
方法默认删除毫秒。这会导致日期时间的格式如下:2021-04-28T09:35:26Z
Azure 表存储中不支持将此格式用作日期时间。
问题解决了,我的代码最后一行写成这样:
parameterTableOutputJSON.set(jsons.dumps(row,strip_microseconds=False))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。