使用SDK適用於 Java 的 AWS CLI 和 入門 - Amazon S3 on Outposts

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

使用SDK適用於 Java 的 AWS CLI 和 入門

使用 Amazon S3 on Outposts,您可以在 AWS Outposts 上建立 S3 儲存貯體,並針對需要本機資料存取、本機資料處理和資料駐留的應用程式,輕鬆在內部部署儲存和擷取物件。S3 on Outposts 提供新的儲存類別 S3 Outposts (OUTPOSTS),其使用 Amazon S3 APIs,旨在在您的 上的多個裝置和伺服器上以持久且備援的方式存放資料 AWS Outposts。您可以透過虛擬私有雲端 () 使用存取點和端點連線與 Outpost 儲存貯體通訊VPC。您可以在 Outpost 儲存貯體上使用與 Amazon S3 儲存貯體相同的 APIs 和 功能,包括存取政策、加密和標記。您可以透過 AWS Management Console、 AWS Command Line Interface (AWS CLI) AWS SDKs或 REST 使用 S3 on OutpostsAPI。如需詳細資訊,請參閱 什麼是 Amazon S3 on Outposts?

若要開始使用 S3 on Outposts,您必須建立儲存貯體、存取點和端點。接著,您可以將物件上傳至您的儲存貯體。下列範例示範如何使用SDK適用於 Java 的 AWS CLI 和 開始使用 S3 on Outposts。若要開始使用主控台,請參閱 開始使用 AWS Management Console

步驟 1:建立儲存貯體

下列 AWS CLI 和 SDK Java 範例示範如何建立 S3 on Outposts 儲存貯體。

AWS CLI

下列範例使用 AWS CLI建立 S3 on Outposts 儲存貯體 (s3-outposts:CreateBucket)。若要執行此命令,請以您自己的資訊取代 user input placeholders

aws s3control create-bucket --bucket example-outposts-bucket --outpost-id op-01ac5d28a6a232904
SDK for Java

下列範例使用 SDK for Java 建立 S3 on Outposts 儲存貯體 (s3-outposts:CreateBucket)。

import com.amazonaws.services.s3control.model.*; public String createBucket(String bucketName) { CreateBucketRequest reqCreateBucket = new CreateBucketRequest() .withBucket(bucketName) .withOutpostId(OutpostId) .withCreateBucketConfiguration(new CreateBucketConfiguration()); CreateBucketResult respCreateBucket = s3ControlClient.createBucket(reqCreateBucket); System.out.printf("CreateBucket Response: %s%n", respCreateBucket.toString()); return respCreateBucket.getBucketArn(); }

步驟 2:建立存取點

若要存取 Amazon S3 on Outposts 儲存貯體,您必須建立和設定存取點。這些範例說明如何使用SDK適用於 Java 的 AWS CLI 和 建立存取點。

存取點針對 Amazon S3 中的共用資料集,簡化管理大規模的資料存取。存取點為連接到儲存貯體的指定網路端點,您可以使用這些端點來執行 Amazon S3 物件操作,例如 GetObjectPutObject。使用 S3 on Outposts,您必須使用存取點來存取 Outposts 儲存貯體中的任何物件。存取點僅 virtual-host-style支援定址。

AWS CLI

下列 AWS CLI 範例會建立 Outposts 儲存貯體的存取點。若要執行此命令,請以您自己的資訊取代 user input placeholders

aws s3control create-access-point --account-id 123456789012 --name example-outposts-access-point --bucket "arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outposts-bucket" --vpc-configuration VpcId=example-vpc-12345
SDK for Java

下列SDK適用於 Java 的範例會建立 Outposts 儲存貯體的存取點。若要使用此範例,請以您自己的資訊取代 user input placeholders

import com.amazonaws.services.s3control.model.*; public String createAccessPoint(String bucketArn, String accessPointName) { CreateAccessPointRequest reqCreateAP = new CreateAccessPointRequest() .withAccountId(AccountId) .withBucket(bucketArn) .withName(accessPointName) .withVpcConfiguration(new VpcConfiguration().withVpcId("vpc-12345")); CreateAccessPointResult respCreateAP = s3ControlClient.createAccessPoint(reqCreateAP); System.out.printf("CreateAccessPoint Response: %s%n", respCreateAP.toString()); return respCreateAP.getAccessPointArn(); }

步驟 3:建立端點

若要將請求路由至 Amazon S3 on Outpost 存取點,您必須建立和設定 S3 on Outposts 端點。若要建立端點,您需要與 Outposts 主要區域的服務連結有效連接。Outpost 上的每個虛擬私有雲端 (VPC) 都可以有一個相關聯的端點。如需端點配額的詳細資訊,請參閱 S3 on Outposts 網路需求。您必須建立端點,才能存取您的 Outposts 儲存貯體並執行物件操作。如需詳細資訊,請參閱端點

這些範例示範如何使用適用於 Java SDK的 AWS CLI 和 建立端點。如需建立和管理端點所需許可的詳細資訊,請參閱 適用於 S3 on Outposts 端點的許可

AWS CLI

下列 AWS CLI 範例使用 VPC 資源存取類型為 Outpost 建立端點。VPC 衍生自子網路。若要執行此命令,請以您自己的資訊取代 user input placeholders

aws s3outposts create-endpoint --outpost-id op-01ac5d28a6a232904 --subnet-id subnet-8c7a57c5 --security-group-id sg-ab19e0d1

下列 AWS CLI 範例使用客戶擁有的 IP 地址集區 (CoIP 集區) 存取類型來建立 Outpost 的端點。若要執行此命令,請以您自己的資訊取代 user input placeholders

aws s3outposts create-endpoint --outpost-id op-01ac5d28a6a232904 --subnet-id subnet-8c7a57c5 --security-group-id sg-ab19e0d1 --access-type CustomerOwnedIp --customer-owned-ipv4-pool ipv4pool-coip-12345678901234567
SDK for Java

下列SDK適用於 Java 的範例會建立 Outpost 的端點。若要使用此範例,請以您自己的資訊取代 user input placeholders

import com.amazonaws.services.s3outposts.AmazonS3Outposts; import com.amazonaws.services.s3outposts.AmazonS3OutpostsClientBuilder; import com.amazonaws.services.s3outposts.model.CreateEndpointRequest; import com.amazonaws.services.s3outposts.model.CreateEndpointResult; public void createEndpoint() { AmazonS3Outposts s3OutpostsClient = AmazonS3OutpostsClientBuilder .standard().build(); CreateEndpointRequest createEndpointRequest = new CreateEndpointRequest() .withOutpostId("op-0d79779cef3c30a40") .withSubnetId("subnet-8c7a57c5") .withSecurityGroupId("sg-ab19e0d1") .withAccessType("CustomerOwnedIp") .withCustomerOwnedIpv4Pool("ipv4pool-coip-12345678901234567"); // Use .withAccessType and .withCustomerOwnedIpv4Pool only when the access type is // customer-owned IP address pool (CoIP pool) CreateEndpointResult createEndpointResult = s3OutpostsClient.createEndpoint(createEndpointRequest); System.out.println("Endpoint is created and its ARN is " + createEndpointResult.getEndpointArn()); }

步驟 4:將物件上傳至 S3 on Outposts 儲存貯體

若要上傳物件,請參閱 將物件上傳至 S3 on Outposts 儲存貯體