簡體   English   中英

使用 API 網關從 S3 下載已壓縮的文件

[英]Using API Gateway to download already gzipped files from S3

我有一個 API 前端來處理一些事情,其中之一是一個包含大量文件的 S3 存儲桶。

當我設置一個與我的 S3 存儲桶集成的資源時,這對於標准文本數據非常有效,但對於已經 gzip 壓縮的文件則失敗。

我如何告訴 API 網關將 gzip 壓縮文件作為二進制 stream 傳遞?

我需要使用 API 網關進行身份驗證,所以我不能通過使用 s3 存儲桶來提供我的文件來解決它。

我還需要為幾乎所有其他端點打開 gzip 編碼,因此關閉它會導致已經工作的端點出現其他問題。

“其他”工作內容 - 只有文本文件還是二進制內容文件?

使用默認(非 http-only)API Gaeway 處理二進制內容時,您必須設置一些參數。 請參閱https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-payload-encodings.html (這只是我對問題的假設,因為您仍然未能提供任何可重復和有效的示例,如何API 網關提供內容?作為 Lambda?代碼?)

API 網關有效負載也有 10MB 的限制。 如果您想返回更長的內容(實際上 - 我會將其用於所有內容),API 網關可以為 S3 返回一個預簽名的 URL(或 Z2567A5EC9705EB7AC2C2C984033E061 的任何長度的內容)存儲桶(直接或通過 CloudFront)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM