2017-04-05 28 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