使用 Amazon S3 Object Lambda 存取點 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon S3 Object Lambda 存取點

透過 Amazon S3 Object Lambda 存取點發出請求,與透過其他存取點發出請求的運作方式相同。如需如何透過存取點發出請求的詳細資訊,請參閱 使用存取點。您可以使用 Amazon S3 主控台透過物件 Lambda 存取點提出請求, AWS Command Line Interface (AWS CLI), AWS SDKs,或 Amazon S3 REST API。

重要

物件 Lambda 存取點的 Amazon 資源名稱 (ARNs) 使用的服務名稱為s3-object-lambda. 因此,物件 Lambda 存取點ARNs開始arn:aws::s3-object-lambda,而不是與其他存取點搭配使用。arn:aws::s3

如何找到ARN適用於您的物件 Lambda 存取點

若要搭配使用物件 Lambda 存取點 AWS CLI 或 AWS SDKs,您需要知道對象 Lambda 接入點的 Amazon 資源名稱(ARN)。下列範例說明如何使用 ARN Amazon S3 主控台尋找物件 Lambda 存取點,或 AWS CLI.

使用主控台尋找物件 Lambda 存取點的 ARN
  1. 登入到 AWS Management Console 並在打開 Amazon S3 控制台https://console.aws.amazon.com/s3/

  2. 在左側的導覽窗格中,選擇 Object Lambda Access Points (Object Lambda 存取點)。

  3. 選擇ARN您要複製其物件 Lambda 存取點旁邊的選項按鈕。

  4. 請選擇 CopyARN (複製)。

若要尋找您物件的 Lambda 存取點,ARN請使用 AWS CLI
  1. 若要擷取與您關聯的物件 Lambda 存取點的清單 AWS 帳戶,執行下列命令。執行指令之前,請先取代帳號 ID 111122223333 與您的 AWS 帳戶 識別碼。

    aws s3control list-access-points-for-object-lambda --account-id 111122223333
  2. 檢閱命令輸出以尋找您要使用的物件 Lambda 存取點ARN。先前命令的輸出看起來應與下列範例類似。

    { "ObjectLambdaAccessPointList": [ { "Name": "my-object-lambda-ap", "ObjectLambdaAccessPointArn": "arn:aws:s3-object-lambda:us-east-1:111122223333:accesspoint/my-object-lambda-ap" }, ... ] }

如何針對您的 S3 儲存貯體 Object Lambda 存取點使用儲存貯體樣式別名

在您建立 Object Lambda 存取點時,Amazon S3 會自動為您的 Object Lambda 存取點產生唯一的別名。您可以在存取點資料平面操作請求中使用此別名,而不是 Amazon S3 儲存貯體名稱或物件 Lambda 存取點 Amazon 資源名稱 (ARN)。如需這些操作的清單,請參閱 存取點相容 AWS services

Object Lambda 存取點別名是在與 Amazon S3 儲存貯體相同的命名空間內建立的。此別名會自動產生且無法變更。針對現有的 Object Lambda 存取點,系統會自動指派別名以供使用。Object Lambda 存取點別名符合有效 Amazon S3 儲存貯體名稱的所有要求,並由下列部分組成:

Object Lambda Access Point name prefix-metadata--ol-s3

注意

Object Lambda 存取點別名會保留該 --ol-s3 尾碼,且該尾碼不能用於儲存貯體或 Object Lambda 存取點名稱。如需 Amazon S3 儲存貯體命名規則的詳細資訊,請參閱儲存貯體命名規則

下列範例顯示ARN物件 Lambda 存取點的和物件 Lambda 存取點別名my-object-lambda-access-point

  • ARNarn:aws:s3-object-lambda:region:account-id:accesspoint/my-object-lambda-access-point

  • Object Lambda 存取點別名my-object-lambda-acc-1a4n8yjrb3kda96f67zwrwiiuse1a--ol-s3

使用 Object Lambda 存取點時,您可以使用 Object Lambda 存取點別名,而不需要大量變更程式碼。

刪除 Object Lambda 存取點時,Object Lambda 存取點別名會變成非作用中且未佈建狀態。

如何為 Object Lambda 存取點尋找別名

使用主控台為 Object Lambda 存取點尋找別名
  1. 登入到 AWS Management Console 並在打開 Amazon S3 控制台https://console.aws.amazon.com/s3/

  2. 在左側的導覽窗格中,選擇 Object Lambda Access Points (Object Lambda 存取點)。

  3. 針對您要使用的 Object Lambda 存取點,請複製 Object Lambda 存取點別名值。

建立 Object Lambda 存取點時,Amazon S3 會自動產生 Object Lambda 存取點別名,如下列範例命令所示。若要執行此命令,請以您自己的資訊取代 user input placeholders。如需如何使用建立物件 Lambda 存取點的相關資訊 AWS CLI,請參閱若要使用建立物件 Lambda 存取點 AWS CLI

aws s3control create-access-point-for-object-lambda --account-id 111122223333 --name my-object-lambda-access-point --configuration file://my-olap-configuration.json { "ObjectLambdaAccessPointArn": "arn:aws:s3:region:111122223333:accesspoint/my-access-point", "Alias": { "Value": "my-object-lambda-acc-1a4n8yjrb3kda96f67zwrwiiuse1a--ol-s3", "Status": "READY" } }

產生的 Object Lambda 存取點別名會有兩個欄位:

  • Value 欄位是 Object Lambda 存取點的別名。

  • Status 欄位是 Object Lambda 存取點別名的狀態。若狀態為 PROVISIONING,表示 Amazon S3 正在佈建 Object Lambda 存取點別名,且別名尚不可供使用。若狀態為 READY,則表示 Object Lambda 存取點別名已成功佈建並可供使用。

如需中資ObjectLambdaAccessPointAlias料類型的詳細資訊 RESTAPI,請參閱 CreateAccessPointForObjectLambdaObjectLambdaAccessPointAliasAmazon 簡單存儲服務API參考中。

如何使用 Object Lambda 存取點別名

您可以針對 存取點相容 AWS services 所列操作,使用 Object Lambda 存取點別名,而非 Amazon S3 儲存貯體名稱。

如下所示 AWS CLI get-bucket-location指令的範例會使用值區的存取點別名來傳回 AWS 區域 那桶是在。若要執行此命令,請以您自己的資訊取代 user input placeholders

aws s3api get-bucket-location --bucket my-object-lambda-acc-w7i37nq6xuzgax3jw3oqtifiusw2a--ol-s3 { "LocationConstraint": "us-west-2" }

若請求中的 Object Lambda 存取點別名無效,則會傳回 InvalidAccessPointAliasError 錯誤碼。如需有關的詳細資訊InvalidAccessPointAliasError,請參閱 Amazon 簡單儲存服務API參考的錯誤代碼清單。

Object Lambda 存取點別名的限制與存取點別名的限制相同。如需存取點別名限制的詳細資訊,請參閱 限制