步函数执行历史响应中未格式化的日期时间
Unformatted date time in response from step function execution history
我正在调用以下方法来获取 AWS 文档中提到的步进函数的执行历史记录。
https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html
当我调用传递 ARN 的相同方法时,我得到了响应,但日期时间格式不正确
client = boto3.client('stepfunctions')
response = client.get_execution_history(
executionArn=arn,
reverseOrder=True
)
我得到如下响应
部分回复
{
"events":[
{
"timestamp":datetime.datetime(2022,
5,
13,
4,
50,
13,
947000,
"tzinfo=tzlocal())",
"type":"ExecutionSucceeded",
"id":49,
"previousEventId":48,
"executionSucceededEventDetails":{
这就是为什么当我们尝试导入步进函数时它会抛出错误
有人可以帮助我们如何以正确的格式获得有效的 json 特别是时间戳部分吗?
get_execution_history returns 事件时间戳为 Python datetime
秒。使用 isoformat
方法将它们转换为 ISO 字符串:
def with_iso_ts(e):
ts = {"timestamp": e["timestamp"].isoformat()}
e.update(ts)
return e
events = [with_iso_ts(e) for e in response["events"]]
json_encoded = json.dumps(events)
Returns 预期的字符串时间戳输出:
[{'timestamp': '2022-04-22T16:13:49.241000+02:00',
'type': 'ExecutionSucceeded',
'id': 14,
'previousEventId': 13,
我正在调用以下方法来获取 AWS 文档中提到的步进函数的执行历史记录。
https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html
当我调用传递 ARN 的相同方法时,我得到了响应,但日期时间格式不正确
client = boto3.client('stepfunctions')
response = client.get_execution_history(
executionArn=arn,
reverseOrder=True
)
我得到如下响应
部分回复
{
"events":[
{
"timestamp":datetime.datetime(2022,
5,
13,
4,
50,
13,
947000,
"tzinfo=tzlocal())",
"type":"ExecutionSucceeded",
"id":49,
"previousEventId":48,
"executionSucceededEventDetails":{
这就是为什么当我们尝试导入步进函数时它会抛出错误
有人可以帮助我们如何以正确的格式获得有效的 json 特别是时间戳部分吗?
get_execution_history returns 事件时间戳为 Python datetime
秒。使用 isoformat
方法将它们转换为 ISO 字符串:
def with_iso_ts(e):
ts = {"timestamp": e["timestamp"].isoformat()}
e.update(ts)
return e
events = [with_iso_ts(e) for e in response["events"]]
json_encoded = json.dumps(events)
Returns 预期的字符串时间戳输出:
[{'timestamp': '2022-04-22T16:13:49.241000+02:00',
'type': 'ExecutionSucceeded',
'id': 14,
'previousEventId': 13,