所以这个问题起初可能看起来很愚蠢,但我想在等式的服务器/ lambda方面做一些不同的事情,这是我的管道的结束。我想从c#调用这个lambda函数,用文本做一些事情,然后最后调用polly函数并返回音频。但是,当我运行管道代码的末尾(下面)时,我得到:
Response:
{
"errorMessage": "<botocore.response.StreamingBody object at 0x7f569f14abe0> is not JSON serializable",
"errorType": "TypeError",
"stackTrace": [
[
"/var/lang/lib/python3.6/json/__init__.py",
238,
"dumps",
"**kw).encode(obj)"
],
[
"/var/lang/lib/python3.6/json/encoder.py",
199,
"encode",
"chunks = self.iterencode(o, _one_shot=True)"
],
[
"/var/lang/lib/python3.6/json/encoder.py",
257,
"iterencode",
"return _iterencode(o, 0)"
],
[
"/var/runtime/awslambda/bootstrap.py",
110,
"decimal_serializer",
"raise TypeError(repr(o) + \" is not JSON serializable\")"
]
]
}
为什么我不能直接将返回lambda函数的polly返回给用户?
lambda代码:
def lambda_handler(event, context):
client = boto3.client('polly')
response = client.synthesize_speech(
OutputFormat='mp3',
Text="Hello world, let's dance!",
TextType='text',
VoiceId='Salli'
)
return response