首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS X-Ray Python SDK get_service_graph

AWS X-Ray Python SDK get_service_graph
EN

Stack Overflow用户
提问于 2017-05-21 05:51:59
回答 1查看 220关注 0票数 0

我正在尝试在AWS Lambda函数中使用AWS X-Ray Python SDK提供的get_service_graph()来获取JSON。reference link

代码语言:javascript
复制
import boto3
from datetime import datetime

def lambda_handler(event, context):
    client = boto3.client('xray')

    response1 = client.get_service_graph(
        StartTime=datetime(2017, 5, 20, 12, 0),
        EndTime=datetime(2017, 5, 20, 18, 0)
    )

    return response1

然而,当我传递StartTime和EndTime参数时,堆栈跟踪报告的datetime类型是不可序列化的。我甚至尝试了下面的方法。

代码语言:javascript
复制
response1 = client.get_service_graph(
        StartTime="2017-05-20 00:00:00",
        EndTime="2017-05-20 02:00:00"
)

奇怪的是,如果将EndTime设置为"2017-05-20 01:00:00",则不会生成错误。除此之外,同样的错误也发生了。

代码语言:javascript
复制
    {
      "stackTrace": [
        [
          "/usr/lib64/python2.7/json/__init__.py",
          251,
          "dumps",
          "sort_keys=sort_keys, **kw).encode(obj)"
        ],
        [
          "/usr/lib64/python2.7/json/encoder.py",
          207,
          "encode",
          "chunks = self.iterencode(o, _one_shot=True)"
        ],
        [
          "/usr/lib64/python2.7/json/encoder.py",
          270,
          "iterencode",
          "return _iterencode(o, 0)"
        ],
        [
          "/var/runtime/awslambda/bootstrap.py",
          104,
          "decimal_serializer",
          "raise TypeError(repr(o) + \" is not JSON serializable\")"
        ]
      ],
      "errorType": "TypeError",
      "errorMessage": "datetime.datetime(2017, 5, 20, 1, 53, 13, tzinfo=tzlocal()) is not JSON serializable"
    }

我确实尝试了只使用date,比如datetime(2017,5,20)。但是,如果我连续使用两天作为StartTime和EndTime,运行时会报告间隔不能超过6小时。如果我使用相同的日期,它只返回空的JSON。我不知道如何获得get_service_graph()的粒度。

我认为用于AWS X-Ray的Python SDK可能为时过早,但我仍然希望向具有相同经验的人寻求帮助。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-05-21 06:05:18

正确的方法是使用datetime(2017, 5, 20)而不是字符串...但是你能不能试着只用date...没有时间?至少AWS文档显示了一个与您的一模一样的示例,但没有时间的只有yyyy-mm-dd

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44091146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档