對象儲存服務AWS S3現(xiàn)在提供額外的對象處理功能,正式發(fā)布,這項新功能可以讓用戶添加程序碼,來處理S3檢索的數(shù)據(jù),并將處理後的結果回傳給應用程序。S3 Object Lambda可直接和現(xiàn)有的應用程序整合使用,因為該服務使用標準S3 GET請求,內(nèi)聯(lián)觸發(fā)Lambda函數(shù),因此用戶不需要更改應用程序碼。
AWS提到,用戶將數(shù)據(jù)儲存在S3中,可以簡單地對多個應用程序共享數(shù)據(jù),但是每個應用程序都有自己的要求,可能需要不同的數(shù)據(jù)視圖表,像是包含個人可識別信息的電子商務應用程序數(shù)據(jù)集在進行數(shù)據(jù)分析前,必須將這些可識別數(shù)據(jù)刪除,另外,在將相同數(shù)據(jù)用於行銷活動時,還可能需要客戶忠誠度數(shù)據(jù)庫中的詳細數(shù)據(jù)。
為了滿足不同應用程序的需求,目前有兩種選擇,用戶可以透過創(chuàng)建、儲存和維護衍生數(shù)據(jù)副本,讓每個數(shù)據(jù)都擁有各自的自定義數(shù)據(jù)集,第二種選擇則是用戶可以在S3服務之前,創(chuàng)建一個代理程序,用來攔截和處理數(shù)據(jù)請求,但這兩種方法都增加了取用數(shù)據(jù)的復雜性和成本。
因此AWS將S3結合無服務器運算服務AWS Lambda來解決這個問題,S3 Object Lambda可以直接讓用戶編寫Lambda函數(shù),對S3檢索的數(shù)據(jù)進行額外的處理,如此同一數(shù)據(jù)集,就能呈現(xiàn)多種視圖表,并且用戶可以隨時更新Lambda函數(shù),修改這些視圖表。
S3 Object Lambda可用於多種情境,除了編輯個人可識別信息,也可以用於轉換數(shù)據(jù)格式,像是將XML轉換為JSON,或是對下載的數(shù)據(jù)進行壓縮或解壓縮處理,也能自定義存取數(shù)據(jù)的授權規(guī)則。
要使用S3 Object Lambda功能很簡單,用戶可以創(chuàng)建一個處理數(shù)據(jù)的Lambda函數(shù),并在S3控制面板創(chuàng)建S3 Object Lambda存取點,選擇所創(chuàng)建的Lambda函數(shù),并且使S3 Object Lambda可以存取原始對象,接著用戶只要更新應用程序配置,就可以使用新的S3 Object Lambda存取點從S3檢索數(shù)據(jù)。
目前商業(yè)地區(qū)除了亞太大阪、中國北京和中國寧夏,S3 Object 已經(jīng)可以在所有AWS地區(qū)提供服務,用戶可以使用AWS管理控制面板、AWS CLI和AWS SDK使用S3 Object Lambda功能,但是目前AWS CLI高級S3指令,像是aws s3 cp,仍不支持來自S3 Object Lambda存取點的對象,不過可以使用低級S3 API命令,像是aws s3api get-object。