本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
S3 Object Lambda 的最佳實務和指導方針
使用 S3 Object Lambda 時,請遵循下列最佳實務和指導方針,以優化作業和效能。
主題
使用 S3 Object Lambda
S3 Object Lambda 僅支援處理 GET
、LIST
和 HEAD
請求。任何其他請求都不會叫用 AWS Lambda ,而是傳回標準、未轉換的API回應。 AWS 帳戶 每個區域最多可建立 1,000 個 Object Lambda 存取點。您使用的 AWS Lambda 函數必須與 Object Lambda 存取點位於相同 AWS 帳戶 和 區域中。
S3 Object Lambda 允許最多 60 秒,將完整回應串流至其發起人。您的函數也受到 AWS Lambda 預設配額的限制。如需詳細資訊,請參閱《AWS Lambda 開發人員指南》中的 Lambda 配額。
當 S3 Object Lambda 叫用您指定的 Lambda 函數時,您必須負責確保您指定的 Lambda 函數或應用程式從 Amazon S3 覆寫或刪除的任何資料是預期且正確的。
您只能使用 S3 Object Lambda 對物件執行操作。您無法使用 S3 Object Lambda 來執行其他 Amazon S3 操作,例如修改或刪除儲存貯體。如需支援存取點的 S3 操作完整清單,請參閱存取點與 S3 操作的相容性。
除了此清單之外,Object Lambda 存取點不支援 POST Object
、 CopyObject
(作為來源) 和 SelectObjectContent
API操作。
AWS 服務 與 S3 Object Lambda 搭配使用
S3 Object Lambda 會連接 Amazon S3, AWS Lambda也可以選擇性地連接其他 AWS 服務 ,以交付與請求應用程式相關的物件。與 S3 Object Lambda AWS 服務 搭配使用的所有 都受其各自的服務層級協議 () 約束SLAs。例如,如果有任何 AWS 服務 不符合其服務承諾,則您有資格收到服務折讓,如 服務之 所述SLA。
Range
和 partNumber
標頭
使用大型物件時,您可以使用 Range
HTTP 標頭從物件下載指定的位元組範圍。當您使用標 Range
頭時,您的請求只會擷取物件的指定部分。您也可以使用 partNumber
標頭,針對物件中的指定部分執行範圍請求。
如需詳細資訊,請參閱 使用 Range 以及 partNumber 標頭。
轉換 expiry-date
您可以從 上的 Object Lambda 存取點開啟或下載轉換的物件 AWS Management Console。這些物件必須未過期。如果您的 Lambda 函數會轉換物件的 expiry-date
,您可能會看到無法開啟或下載的過期物件。此行為僅適用於 S3 Glacier Flexible Retrive 和 S3 Glacier Deep Archive 還原物件。
使用 AWS CLI 和 AWS SDKs
AWS Command Line Interface (AWS CLI) S3 子命令 (cp
、 mv
和 sync
) 和 AWS SDK for Java TransferManager
類別的使用不支援與 S3 Object Lambda 搭配使用。