如何从lambda函数中返回polly的音频响应?

时间:2018-01-30 00:49:32

标签: c# python amazon-web-services lambda amazon-polly

所以这个问题起初可能看起来很愚蠢,但我想在等式的服务器/ 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

0 个答案:

没有答案