本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用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 物件操作,例如 GetObject
和 PutObject
。使用 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 儲存貯體。