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

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

使用 Amazon S3 Object Lambda 存取點

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

重要

Object Lambda 存取點的 Amazon Resource Name (ARN) 使用 s3-object-lambda 的服務名稱。因此,Object Lambda 存取點 ARN 以 arn:aws::s3-object-lambda 為開頭 (而不是 arn:aws::s3),其會與其他存取點一起使用。

如何為 Object Lambda 存取點尋找 ARN

若要搭配 AWS CLI AWS SDKs 使用 Object Lambda 存取點,您需要知道 Object Lambda 存取點的 Amazon Resource Name (ARN)。下列範例示範如何使用 Amazon S3 主控台或 AWS CLI,來尋找 Object Lambda 存取點的 ARN。

使用主控台為 Object Lambda 存取點尋找 ARN
  1. 登入 AWS Management Console 並開啟位於 https://https://console.aws.amazon.com/s3/ 的 Amazon S3 主控台。

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

  3. 選擇要複製 ARN 的 Object Lambda 存取點旁的選項按鈕。

  4. 選擇 Copy ARN (複製 ARN)。

使用 尋找 Object Lambda 存取點的 ARN AWS CLI
  1. 若要擷取與 AWS 帳戶相關聯的 Object Lambda 存取點的清單,請執行以下命令。執行 命令之前,請將帳戶 ID 取代111122223333為您的 AWS 帳戶 ID。

    aws s3control list-access-points-for-object-lambda --account-id 111122223333
  2. 檢閱命令輸出,尋找要使用的 Object 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 儲存貯體名稱或 Object Lambda 存取點 Amazon Resource Name (ARN)。如需這些操作的清單,請參閱 存取點相容性

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 儲存貯體命名規則的詳細資訊,請參閱一般用途儲存貯體命名規則

下列範例顯示了名稱為 my-object-lambda-access-point 之 Object Lambda 存取點的 ARN 和 Object Lambda 存取點別名。

  • 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 ,並在 https://https://console.aws.amazon.com/s3/ 開啟 Amazon S3 主控台。

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

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

建立 Object Lambda 存取點時,Amazon S3 會自動產生 Object Lambda 存取點別名,如下列範例命令所示。若要執行此命令,請以您自己的資訊取代 user input placeholders。如需有關如何使用 建立 Object Lambda 存取點的資訊 AWS CLI,請參閱 使用 建立 Object 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 存取點別名已成功佈建並可供使用。

如需詳細了解 REST API 中的 ObjectLambdaAccessPointAlias 資料類型,請參閱《Amazon Simple Storage Service API 參考》中的 ObjectLambdaAccessPointAliasCreateAccessPointForObjectLambda

如何使用 Object Lambda 存取點別名

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

下列 get-bucket-location命令 AWS CLI 範例使用儲存貯體的存取點別名,傳回 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 Simple Storage Service API 參考》中的錯誤代碼清單

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