2017-04-05 66 views
0

我已经使用s3代理在amazon api网关服务中创建了api,并创建了使用document将文件上传到s3的方法文章。部署API,然后使用该URL我试图从邮递员调用API。但我无法发布该文件,并返回错误'缺少身份验证令牌'。无法从邮递员调用aws api网关

我将授权设置为NONE。

然后它返回意外的“<”错误。

+0

此设置一些更多的信息? –

+0

“消息”:“不支持的媒体类型”,如何设置API网关,这样我可以上传音频到S3 – Sabreena

+0

PreconditionFailed至少你指定未持有斗POST的先决条件之一必须是封闭的型的multipart/form-data的 Sabreena

回答

1

啊,好的。 S3仅支持来自HTML表单的POST,这就是为什么您会在预期多部分表单数据时发现错误的原因。

您需要使用的方法是PUT而不是POST。 PUT需要项目路径,因此您需要更改资源路径以具有存储区和密钥,或者从其他位置获取这些资源路径。

我对你能否提供您所看到的API网关日志错误如何在upload binary from api gateway to S3 bucket

+0

谢谢马克,我可以发送x-amz标记与此? – Sabreena

+0

是的,您可以将S3对象传递给x-amz标签。这是一个Swagger def的例子,其中x-amz-acl被传递给S3:http://docs.aws.amazon.com/apigateway/latest/developerguide/api-as-s3-proxy-export-swagger-with -extensions.html –

+0

我需要从客户端连同音频一起发送标签,现在音频已成功上传到s3,但我发送的标签不存在于该对象的标签字段中 – Sabreena

0

这听起来像你上传的文件不是JSON。默认情况下,API网关需要UTF-8编码的JSON。

通过邮递员请求发送什么内容类型?

+0

斐伊川,内容类型为音频/ MPEG – Sabreena

+0

PreconditionFailed至少你指定未持有桶POST必须是外壳型的multipart/form-data的的前置条件之一 Sabreena