簡體   English   中英

AWS HTTP API 網關作為私有 S3 存儲桶的代理

[英]AWS HTTP API Gateway as a proxy to private S3 bucket

我有一個包含許多小文件的私有 S3 存儲桶。 我想使用 AWS API 網關作為代理來公開存儲桶的內容(僅限只讀訪問)。 S3 存儲桶和 AWS API 網關都屬於同一個 AWS 賬戶,並且在同一個 VPC 和可用區中。

AWS API Gateway comes in two types: HTTP API, REST API. The configuration options of REST API are more advanced, additionally, REST API supports much more AWS services integrations than the HTTP API. In fact, the use case I described above is fully包含在 REST API 的文檔選項卡之一中。但是,REST API 有一個巨大的缺點 - 它比 HTTP API 貴大約 70%,但我現在只需要一個集成選項,價格帶有更多配置選項S3 服務,這就是為什么我認為這種類型的服務不太適合我的用例。 我開始搜索 HTTP API 是否可以與 S3 集成,到目前為止我還沒有找到任何實現它的方法。

我嘗試創建/編輯與 HTTP API 網關實例關聯的服務相關角色,但無法編輯這些角色(僅限只讀訪問)。 至於現在,我不知道下一步應該搜索哪里,或者我的目標是否可以使用 HTTP API 實現。

我是 AWS HTTP API 的粉絲。 我每天都使用 API 服務於非常相似的目的。 我這樣做的方法是使用與 API 路徑集成的 AWS Lambda 函數。

對我有用的是:

定義您的 API 路徑,並將它們與 AWS Lambda 函數集成。

讓您的集成 Lambda function 為您希望通過 API 調用提供訪問權限的任何對象返回一個已簽名的 URL。

有幾種不同的方法可以將您想要的對象的名稱傳遞給服務於 API 調用的 Lambda function。

這是簡短的回答。 我計划稍后給出更長的答案。 但這對我有用。

暫無
暫無

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

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