python - 格式化 AWS lambda 请求的 Python 错误
问题描述
我必须使用 boto3 调用 AWS lambda。我愿意:
client = boto3.client("lambda")
dtime1 = str(datetime.datetime.now())
#After some computations
dtime2 = str(datetime.datetime.now())
elapsed = time.time() - start_time
payload = {"key_id":"1",
"data_start":dtime1,
"data_stop":dtime2,
"elapsed_t": int(elapsed)}
r = client.invoke(
FunctionName='mylambda',
InvocationType='RequestResponse',
Payload=bytes(str(payload), 'utf-8')
)
print(r.read())
但是当我运行它时会发生错误:
“调用 Invoke 操作时发生错误(InvalidRequestContentException):无法将请求正文解析为 json:意外字符('''(代码 39)):在 [Source: [B @4cb02e4e;行:1,列:3]"
我该如何解决我的问题?
提前致谢
解决方案
如果要将 JSON 对象作为字符串传递,可以使用https://docs.python.org/3/library/json.html中所述的 json.dumps(payload) 。
推荐阅读
- c# - xUnit、SpecFlow Selenium 和 ITestOutputHelper 问题
- r - 如何对具有相同 ID 的所有观察结果进行变异?
- ansible - 从角色复制整个文件夹结构与现有文件合并/覆盖
- python - 当函数调用很长时,VS Code for Python 进入新行
- python - 在 stepik 上上传时超过 python 的时间限制
- javascript - 在 forEach 中使用替换字符串方法
- google-sheets - 在 Google 表格中的等号后使用通配符 - SUM IMPORTRANGE
- python - 卸载后在 Windows 开始菜单中显示 Python
- bash - bash将具有特定前缀的所有环境变量导出到文件夹
- javascript - JS:当你不关心返回值时,如何解决一个承诺?