Amazon S3 Object Lambda

將自己的程式碼新增至 S3 GET、HEAD 和 LIST 請求,以便在資料傳回應用程式時對其做出修改和處理

概觀

藉助 S3 Object Lambda,您可將自己的程式碼新增至 S3 GET、HEAD 和 LIST 請求,以便在資料傳回應用程式時對其做出修改和處理。您可以使用自訂程式碼修改 S3 GET 請求傳回的資料,以執行資料列篩選、動態調整影像大小、修訂機密資料以及更多動作。您也可以使用 S3 Object Lambda 修改 S3 LIST 請求的輸出,以建立儲存貯體中物件的自訂檢視,以及用於修改物件名稱和大小等物件中繼資料的 S3 HEAD 請求。採用 AWS Lambda 函數,您的程式碼在由 AWS 全受管的基礎設施上執行,這就避免了建立和存放資料的衍生複本或執行昂貴的代理,並且全程無需對應用程式做出任何變更。

S3 Object Lambda 使用 AWS Lambda 函數,自動處理標準 S3 GET、HEAD 和 LIST 請求的輸出。只需在 AWS 管理主控台中按幾下,即可設定 Lambda 函數,並將其連接到 S3 Object Lambda 存取點。從該點起,S3 會自動呼叫您的 Lambda 函數來處理透過 S3 Object Lambda 存取點擷取的任何資料,並將轉換後的結果返回給應用程式。您可以編寫和執行自己的自訂 Lambda 函數,從而根據您的特定使用案例,量身定製 S3 Object Lambda 的資料轉換。

優勢

S3 Object Lambda 可讓您靈活地直接從 S3 GET、HEAD 和 LIST 請求中叫用 Lambda 函數來處理資料,以滿足應用程式的特定要求。S3 Object Lambda 使用 S3 和 AWS Lambda 的全受管基礎設施及其所有特色和功能。您可以使用全新或現有的 AWS Lambda 函數來處理資料,例如篩選、遮罩、修訂、壓縮、變更格式或修改特定應用程式的物件。

採用 AWS Lambda 函數,您的程式碼在由 AWS 全受管的基礎設施上運行,這就避免了建立和儲存資料的衍生副本或運行昂貴的代理,並且全程無需對應用程式進行任何變更。您可以透過更新應用程式的方式來執行具有 S3 GET、HEAD 和 LIST 請求的 AWS Lambda 函數以使用 S3 Object Lambda 存取點,如此會叫用 Lambda 函數,並將已處理物件交付給請求的用戶端。

S3 Object Lambda 可透過消除複雜軟體與基礎架構或消除建立資料之衍生副本之需求的方式,讓系統輕鬆轉換 S3 資料以供其他應用程式使用。您可新增自己的程式碼來處理擷取自 S3 的資料,然後將其傳回應用程式。S3 Object Lambda 可搭配現有應用程式使用,無須變更程式碼。您可以使用標準的 S3 GET、HEAD 和 LIST 請求為不同的應用程式輕鬆呈現資料的多個視圖。

S3 Object Lambda 如何工作?

S3 Object Lambda 的運作方式

S3 Object Lambda 可協助您輕鬆滿足任何應用程式的獨特資料格式要求,而無需建置和運作其他基礎設施 (例如代理層),也不必建立和維護資料的多個衍生副本。S3 Object Lambda 使用 AWS Lambda 函數,自動處理標準 S3 GET、HEAD 和 LIST 請求的輸出。AWS Lambda 是一種無伺服器運算服務,可執行客戶定義的程式碼,而無需管理基礎運算資源 

只需在 AWS 管理主控台中按幾下,即可設定 Lambda 函數,並將其連接到 S3 Object Lambda 存取點。透過 S3 Object Lambda 存取點發出的標準 S3 GET、HEAD 和 LIST 請求現在會叫用指定的 Lambda 函數。從該點起,S3 會自動呼叫您的 Lambda 函數來處理透過 S3 Object Lambda 存取點擷取的任何資料,並將轉換後的結果返回給應用程式。您可以編寫和執行自己的自訂 Lambda 函數,從而根據您的特定使用案例,量身定製 S3 Object Lambda 的資料轉換。如需進一步了解,請閱讀 S3 Object Lambda使用者指南

S3 Object Lambda 使用案例:編輯敏感資料

S3 Object Lambda 的運作方式

S3 Object Lambda 可用於針對特定應用程式從 S3 中的物件編輯敏感資訊,而無需變更現有物件或建立和維護資料的多個派生複本。 Lambda 函數將從標準 S3 GET 請求中擷取物件,處理資料以移除敏感的詳細資訊,並將編輯後的物件傳回給應用程式。如需進一步了解其他使用案例,請閱讀 S3 Object Lambda 使用者指南

客戶

  • Pixieset

    Pixieset 是一個適用於現代攝影師的多功能平台,提供用戶端相片庫、網站、線上商店和工作室管理軟體工具。

    Pixieset 使用 Amazon S3 Object Lambda 即時轉換影像

    Pixieset 的使命是為世界各地的攝影師和創意人員在經營和發展業務時提供支援。我們的客戶會上傳相片,然後在不同的檢視裝置 (例如智慧型手機、平板電腦或桌上型電腦) 上與客戶分享。為了最佳化相片的分發,我們目前在使用 AWS Lambda 將影像上傳至 Amazon S3 後不久,就會產生具有不同解析度的副本。我們非常高興能夠看到 Amazon S3 Object Lambda 與 Amazon CloudFront 整合,因為在從 Amazon CloudFront 存取影像時,我們就能夠即時套用轉換和浮水印。我們能夠充分利用全域快取的優勢,同時不再需要存放同一影像的多個副本。

    Pixieset 工程部主管 Sam Lin
  • Audible

    Audible 是高級音訊故事講述的領先創作者和提供商,為客戶提供一種新的方式來改善和豐富他們的生活。Audible 內容包括超過 79 萬本有聲讀物、播客和 Audible 原創內容。Audible 在世界各地擁有數百萬名會員,他們在專為澳洲、加拿大、法國、德國、印度、意大利、日本、西班牙、英國和美國客戶設計的 10 種本地化服務中訂閱其中一項服務。  

    Audible 使用 Amazon S3 Object Lambda 動態修改清單檔案,以提供最高效能的串流

    部落格:Audible 如何使用 Amazon S3 Object Lambda 來改善串流播放效能

    使用者可從各種裝置和地理位置存取和串流 Audible 上的內容,包括從強大到有限網際網路連線各種選擇。我們使用 Amazon S3 Object Lambda 來動態修改清單檔案和區段大小,無論他們是在家中還是在旅途中,都能為使用者提供最高效能、最高品質的串流和音訊娛樂體驗。憑藉 S3 Object Lambda,我們能夠改善播放效能,進而透過技術創新和卓越的程式設計進一步增強客戶體驗。

    Audible 軟體開發高級總監Saurabh Gandhi
  • Trend Micro

    Trend Micro 是全球網路安全領導者,協助世界安全地交換數位資訊。Trend Micro 網路安全平台擁有數十年的安全專業知識、全球威脅研究和持續創新驚豔,可在雲端、網路、裝置和端點上保護數十萬個組織和數百萬個使用者。Trend Micro 網路安全平台提供一系列針對 AWS 最佳化的強大進階威脅防禦技術。

    部落格:Trend Micro 如何使用 Amazon S3 Object Lambda 協助保護機密資料的安全

    我們喜歡簡單的入門過程。透過在檔案儲存安全性解決方案中使用 S3 Object Lambda,我們可在不到一天的時間內完成概念驗證,而第一個完整版本 (包括整合至現有外掛程式集) 則在一天之後完成。

    Trend Micro 產品管理總監 Mike Milner
  • Druva

    Druva 跨端點、資料中心和雲端工作負載提供資料保護和管理,消除了對複雜基礎設施和耗時管理的依賴。

    我們的 4,000 名客戶需要滿足不斷擴大的全球資料保護、合規性和安全性要求。Amazon S3 Object Lambda 是轉變市場現狀的創新,它使運算資源更接近集中式資料儲存庫,讓客戶能夠從他們的資料中擷取更多價值。作為完全基於 AWS 建置的平台,Druva 以不斷利用 AWS 的最新功能和技術提升使用者體驗而自豪。由 AWS 提供支援的 Druva 雲端平台與 Amazon S3 Object Lambda 相結合,可為組織帶來無與倫比的整合機會以及直接存取和分析,從而釋放其備份資料的全部潛力。

    Druva 技術長 Stephen Manley
  • Nasuni

     

    Nasuni 正在使用由 Amazon S3 支援的雲端方法來取代傳統的內部部署主要儲存和次要儲存,從而顛覆檔案儲存方式。Nasuni 提供使用物件儲存的檔案儲存平台,帶來更簡單、成本更低、更高效的雲端解決方案,該解決方案可擴展以處理非結構化資料的快速增長。

    S3 Object Lambda 助力 Nasuni 進行技術變革,它將成為我們在 AWS 上雲端檔案儲存服務的核心技術。我們使用 S3 Object Lambda 為專有的基於物件存儲的檔案系統建立簡單、可擴展的 API。我們的企業客戶可以使用此 API 直接從其 S3 儲存貯體存取檔案,而不是透過 Nasuni Edge Appliance 存取。這意味著他們可以輕鬆地將來自 Nasuni 的非結構化資料連線到 Macie 和 Kendra 等 AWS 分析服務,從而使企業能夠從他們的檔案資料中取得洞察。

    Nasuni 產品長 Russ Kennedy
  • PetaGene

    PetaGene 於基因組學的發源地劍橋創立,致力於解決基因體產業快速增長的資料管理問題。PetaGene 因其基因體壓縮和加密解決方案的產業領先效能和可用性而聞名於世 -- 公司的軟體現在為各種資料提供加密,選擇性資料共用和稽核解決方案,這些解決方案還受益於相同的無縫透明存取方法。

    PetaGene 可讓組織保護資料,使其可以控制和稽核不同使用者可以看到的資料,同時僅公開允許使用者檢視的每個檔案中的內容。 PetaGene 還可有效壓縮已壓縮的 NGS 基因組資料,最多可將其壓縮 11 倍,而不會造成任何損失。儘管使用者已經可以透過將使用者模式回讀庫載入到其環境中,以透明方式存取其原始原生格式的受保護和/或壓縮資料,但使用 S3 Object Lambda,使用者可以透過標準 S3 GET 請求以其原始原生格式存取資料,而無需使用者安裝任何程式庫。這可讓客戶更容易為最終使用者部署 PetaGene 的資料保護、合規和壓縮產品。

    Petagene 共同創辦人兼執行長 Dan Greenfield 博士

S3 Object Lambda 資源

使用 Amazon S3 Object Lambda 自訂資料 (14:45)
使用 Amazon S3 或 Amazon EFS 建置無伺服器的現代應用程式 (30:13)

開始使用

可以透過三個簡單的步驟,在 S3 管理主控台中設定 S3 Object Lambda。首先,導覽至主控台上的 Object Lambda Access Point (Object Lambda 存取點) 標籤。其次,建立一個 S3 Object Lambda 存取點,並在其組態中為該資源提供一個名稱、針對您的 S3 GET、HEAD 和 LIST 請求而叫用的 Lambda 函數以及支援的 S3 存取點。AWS 文件中具有 Lambda 函數實作範例,可協助您開始使用該服務。最後,更新您的軟體開發套件和應用程式,以使用新的 S3 Object Lambda 存取點,以您選擇的語言軟體開發套件從 S3 擷取資料。S3 Object Lambda 會開始處理您的標準 S3 GET、HEAD 和 LIST 請求。

存取 S3 Object Lambda 入門教學,並閱讀使用者指南了解關於入門方式的詳細資訊。