Ale*_*Mal 2 python json amazon-web-services boto3 aws-lambda
在我的项目中,我必须创建一个调用lambda函数的py,以传递身体参数,我编写以下代码:
import boto3
import json
import base64
client = boto3.client(‘lambda’)
d = {'calID': '92dqiss5bg87etcqeeamlmob2g@group.calendar.google.com', 'datada': '2017-12-22T16:40:00+01:00', 'dataa': '2017-12-22T17:55:00+01:00', 'email': 'example@hotmail.com'}
s = json.dump(d)
s64 = base64.b64encode(s.encode('utf-8'))
response = client.invoke(
FunctionName='arn:aws:lambda:eu-west-1:13737373737:function:test',
InvocationType='RequestResponse',
LogType='None',
ClientContext='None',
Payload=s64
)
Run Code Online (Sandbox Code Playgroud)
但是在响应运行时会生成此错误:
发生错误(InvalidRequestContentException)调用调用操作时:InvalidRequestContentException无法解析请求主体为JSON:无法识别的记号“eyJjYWxJRCI6ICI5MmRxaXNzNWJnODdldGNxZWVhbWxtb2IyZ0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29tIiwgImRhdGFkYSI6ICIyMDE3LTEyLTIyVDE2OjQwOjAwKzAxOjAwIiwgImRhdGFhIjogIjIwMTctMTItMjJUMTc6NTU6MDArMDE6MDAiLCAiZW1haWwiOiAibHVjYV9ncmV6eml4eEBob3RtYWlsLmNvbSJ9”:期待在[来源(“真”,“假”或“空”):[B @ 4587098d;行:1,列:481]
这是什么意思?
提前谢谢了
该错误是由于以下参数引起的:
ClientContext='None',
Run Code Online (Sandbox Code Playgroud)
从文档:
ClientContext(字符串)-
使用,
ClientContext您可以将特定于客户端的信息传递给您要调用的Lambda函数。然后,您可以通过上下文变量进行选择,从而在Lambda函数中处理客户信息。有关ClientContextJSON 的示例,请参阅 Amazon Mobile Analytics API参考和用户指南中的PutEvents。ClientContext JSON必须是base64编码的,最大大小为3583字节。
您根本不需要ClientContext这里的参数。只需调用如下:
response = client.invoke(
FunctionName='arn:aws:lambda:eu-west-1:13737373737:function:test',
LogType='None',
Payload=json.dumps(d)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4469 次 |
| 最近记录: |