【发布时间】:2019-08-19 03:29:51
【问题描述】:
我通过亚马逊的新 Skill Flow Builder 和 ASK CLI 工具成功部署了我的技能。
在abcConfig 文件中,可以选择添加S3 存储桶以用于 Polly 服务。我创建了一个存储桶并设置了权限,因此它是公开可用的。我相信这样做是正确的,但是很难判断 lambda 函数是否正在查找存储桶并使用它。当我测试 lambda 时,它会显示它使用配置中的这些设置构建的 URL:
"s3-domain-name": "s3.amazonaws.com",
"s3-bucket-name": "<BUCKET NAME>",
...但在设备上找不到音频文件。我认为这是因为它不是该文件的正确公共 URL。
那么,我的问题是,域名的正确格式是什么,以确保它访问我创建的存储桶?
更新
加载 Lambda 测试返回的 URL 时出现此错误:
<Error>
<Code>PermanentRedirect</Code>
<Message>
The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
</Message>
<Endpoint>**********.s3.eu-west-2.amazonaws.com</Endpoint>
<Bucket>**********</Bucket>
<RequestId>6FBBDF******DC89</RequestId>
<HostId>
i7op6+RMyiHAcf*********LW58FSOKIily2ouNg3L/bp8IV0=
</HostId>
</Error>
更新更新 我在 Lambda 角色策略屏幕中发现了这个警告:
这表明它无法在 S3 存储桶中创建对象(因此读取 URI 时出错)。
【问题讨论】:
标签: amazon-web-services amazon-s3 lambda alexa alexa-skills-kit