Skip to content

Commit fe05bcd

Browse files
committed
Add quickstart, move to own directory, run formatter
1 parent 37cc30c commit fe05bcd

File tree

14 files changed

+284
-169
lines changed

14 files changed

+284
-169
lines changed

storage/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/CheckLatestTransferOperation.java renamed to storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/CheckLatestTransferOperation.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
// [START storagetransfer_get_latest_transfer_operation]
2020

21-
2221
import com.google.longrunning.Operation;
2322
import com.google.storagetransfer.v1.proto.StorageTransferServiceClient;
2423
import com.google.storagetransfer.v1.proto.TransferProto.GetTransferJobRequest;
@@ -40,19 +39,25 @@ public static void checkLatestTransferOperation(String projectId, String jobName
4039
StorageTransferServiceClient storageTransfer = StorageTransferServiceClient.create();
4140

4241
// Get transfer job and check latest operation
43-
TransferJob transferJob = storageTransfer.getTransferJob(GetTransferJobRequest.newBuilder().setJobName(jobName).setProjectId(projectId).build());
42+
TransferJob transferJob =
43+
storageTransfer.getTransferJob(
44+
GetTransferJobRequest.newBuilder().setJobName(jobName).setProjectId(projectId).build());
4445
String latestOperationName = transferJob.getLatestOperationName();
4546

4647
if (!latestOperationName.isEmpty()) {
4748
Operation operation = storageTransfer.getOperationsClient().getOperation(latestOperationName);
48-
TransferOperation latestOperation = TransferOperation.parseFrom(operation.getMetadata().getValue());
49+
TransferOperation latestOperation =
50+
TransferOperation.parseFrom(operation.getMetadata().getValue());
4951

5052
System.out.println("The latest operation for transfer job " + jobName + " is:");
5153
System.out.println(latestOperation.toString());
5254

5355
} else {
54-
System.out.println("Transfer job " + jobName + " hasn't run yet,"
55-
+ " try again once the job starts running.");
56+
System.out.println(
57+
"Transfer job "
58+
+ jobName
59+
+ " hasn't run yet,"
60+
+ " try again once the job starts running.");
5661
}
5762
}
5863
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.google.cloud.storage.storagetransfer.samples;
2+
3+
import com.google.storagetransfer.v1.proto.StorageTransferServiceClient;
4+
import com.google.storagetransfer.v1.proto.TransferProto.CreateTransferJobRequest;
5+
import com.google.storagetransfer.v1.proto.TransferTypes.GcsData;
6+
import com.google.storagetransfer.v1.proto.TransferTypes.TransferJob;
7+
import com.google.storagetransfer.v1.proto.TransferTypes.TransferSpec;
8+
9+
public class QuickstartSample {
10+
/** Quickstart sample using transfer service to transfer from one GCS bucket to another. */
11+
public static void quickStartSample(
12+
String projectId, String gcsSourceBucket, String gcsSinkBucket) throws Exception {
13+
// Your Google Cloud Project ID
14+
// String projectId = "your-project-id";
15+
16+
// The name of the source GCS bucket to transfer objects from
17+
// String gcsSourceBucket = "your-source-gcs-source-bucket";
18+
19+
// The name of the GCS bucket to transfer objects to
20+
// String gcsSinkBucket = "your-sink-gcs-bucket";
21+
22+
TransferJob transferJob =
23+
TransferJob.newBuilder()
24+
.setProjectId(projectId)
25+
.setTransferSpec(
26+
TransferSpec.newBuilder()
27+
.setGcsDataSource(GcsData.newBuilder().setBucketName(gcsSourceBucket))
28+
.setGcsDataSink(GcsData.newBuilder().setBucketName(gcsSinkBucket)))
29+
.setStatus(TransferJob.Status.ENABLED)
30+
.build();
31+
32+
StorageTransferServiceClient storageTransfer = StorageTransferServiceClient.create();
33+
34+
TransferJob response =
35+
storageTransfer.createTransferJob(
36+
CreateTransferJobRequest.newBuilder().setTransferJob(transferJob).build());
37+
System.out.println("Created transfer job between two GCS buckets:");
38+
System.out.println(response.toString());
39+
}
40+
}

storage/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/TransferFromAws.java renamed to storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/TransferFromAws.java

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,15 @@
3535
public class TransferFromAws {
3636

3737
// Creates a one-off transfer job from Amazon S3 to Google Cloud Storage.
38-
public static void transferFromAws(String projectId,
38+
public static void transferFromAws(
39+
String projectId,
3940
String jobDescription,
4041
String awsSourceBucket,
4142
String gcsSinkBucket,
4243
long startDateTime,
4344
String awsAccessKeyId,
44-
String awsSecretAccessKey) throws IOException {
45+
String awsSecretAccessKey)
46+
throws IOException {
4547

4648
// Your Google Cloud Project ID
4749
// String projectId = "your-project-id";
@@ -67,35 +69,40 @@ public static void transferFromAws(String projectId,
6769
// String awsSecretAccessKey = System.getenv("AWS_SECRET_ACCESS_KEY");
6870

6971
// Set up source and sink
70-
TransferSpec transferSpec = TransferSpec.newBuilder()
71-
.setAwsS3DataSource(
72-
AwsS3Data.newBuilder()
73-
.setBucketName(awsSourceBucket)
74-
.setAwsAccessKey(
75-
AwsAccessKey.newBuilder()
76-
.setAccessKeyId(awsAccessKeyId)
77-
.setSecretAccessKey(awsSecretAccessKey)))
78-
.setGcsDataSink(GcsData.newBuilder().setBucketName(gcsSinkBucket)).build();
72+
TransferSpec transferSpec =
73+
TransferSpec.newBuilder()
74+
.setAwsS3DataSource(
75+
AwsS3Data.newBuilder()
76+
.setBucketName(awsSourceBucket)
77+
.setAwsAccessKey(
78+
AwsAccessKey.newBuilder()
79+
.setAccessKeyId(awsAccessKeyId)
80+
.setSecretAccessKey(awsSecretAccessKey)))
81+
.setGcsDataSink(GcsData.newBuilder().setBucketName(gcsSinkBucket))
82+
.build();
7983

8084
// Parse epoch timestamp into the model classes
8185
Calendar startCalendar = Calendar.getInstance();
8286
startCalendar.setTimeInMillis(startDateTime);
8387
// Note that this is a Date from the model class package, not a java.util.Date
84-
Date startDate = Date.newBuilder()
85-
.setYear(startCalendar.get(Calendar.YEAR))
86-
.setMonth(startCalendar.get(Calendar.MONTH) + 1)
87-
.setDay(startCalendar.get(Calendar.DAY_OF_MONTH))
88-
.build();
89-
TimeOfDay startTime = TimeOfDay.newBuilder()
90-
.setHours(startCalendar.get(Calendar.HOUR_OF_DAY))
91-
.setMinutes(startCalendar.get(Calendar.MINUTE))
92-
.setSeconds(startCalendar.get(Calendar.SECOND))
93-
.build();
94-
Schedule schedule = Schedule.newBuilder()
95-
.setScheduleStartDate(startDate)
96-
.setScheduleEndDate(startDate)
97-
.setStartTimeOfDay(startTime)
98-
.build();
88+
Date startDate =
89+
Date.newBuilder()
90+
.setYear(startCalendar.get(Calendar.YEAR))
91+
.setMonth(startCalendar.get(Calendar.MONTH) + 1)
92+
.setDay(startCalendar.get(Calendar.DAY_OF_MONTH))
93+
.build();
94+
TimeOfDay startTime =
95+
TimeOfDay.newBuilder()
96+
.setHours(startCalendar.get(Calendar.HOUR_OF_DAY))
97+
.setMinutes(startCalendar.get(Calendar.MINUTE))
98+
.setSeconds(startCalendar.get(Calendar.SECOND))
99+
.build();
100+
Schedule schedule =
101+
Schedule.newBuilder()
102+
.setScheduleStartDate(startDate)
103+
.setScheduleEndDate(startDate)
104+
.setStartTimeOfDay(startTime)
105+
.build();
99106

100107
// Set up the transfer job
101108
TransferJob transferJob =
@@ -105,14 +112,15 @@ public static void transferFromAws(String projectId,
105112
.setTransferSpec(transferSpec)
106113
.setSchedule(schedule)
107114
.setStatus(Status.ENABLED)
108-
.build();
115+
.build();
109116

110117
// Create a Transfer Service client
111118
StorageTransferServiceClient storageTransfer = StorageTransferServiceClient.create();
112119

113120
// Create the transfer job
114-
TransferJob response = storageTransfer.createTransferJob(CreateTransferJobRequest.newBuilder()
115-
.setTransferJob(transferJob).build());
121+
TransferJob response =
122+
storageTransfer.createTransferJob(
123+
CreateTransferJobRequest.newBuilder().setTransferJob(transferJob).build());
116124

117125
System.out.println("Created transfer job from AWS to GCS:");
118126
System.out.println(response.toString());

storage/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/TransferToNearline.java renamed to storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/TransferToNearline.java

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,17 @@
3333
import java.util.Calendar;
3434

3535
public class TransferToNearline {
36-
/** Creates a one-off transfer job that transfers objects in a standard GCS bucket that are more
37-
* than 30 days old to a Nearline GCS bucket.
36+
/**
37+
* Creates a one-off transfer job that transfers objects in a standard GCS bucket that are more
38+
* than 30 days old to a Nearline GCS bucket.
3839
*/
39-
public static void transferToNearline(String projectId,
40+
public static void transferToNearline(
41+
String projectId,
4042
String jobDescription,
4143
String gcsSourceBucket,
4244
String gcsNearlineSinkBucket,
43-
long startDateTime) throws IOException {
45+
long startDateTime)
46+
throws IOException {
4447

4548
// Your Google Cloud Project ID
4649
// String projectId = "your-project-id";
@@ -63,16 +66,18 @@ public static void transferToNearline(String projectId,
6366
Calendar startCalendar = Calendar.getInstance();
6467
startCalendar.setTimeInMillis(startDateTime);
6568
// Note that this is a Date from the model class package, not a java.util.Date
66-
Date date = Date.newBuilder()
67-
.setYear(startCalendar.get(Calendar.YEAR))
68-
.setMonth(startCalendar.get(Calendar.MONTH) + 1)
69-
.setDay(startCalendar.get(Calendar.DAY_OF_MONTH))
70-
.build();
71-
TimeOfDay time = TimeOfDay.newBuilder()
72-
.setHours(startCalendar.get(Calendar.HOUR_OF_DAY))
73-
.setMinutes(startCalendar.get(Calendar.MINUTE))
74-
.setSeconds(startCalendar.get(Calendar.SECOND))
75-
.build();
69+
Date date =
70+
Date.newBuilder()
71+
.setYear(startCalendar.get(Calendar.YEAR))
72+
.setMonth(startCalendar.get(Calendar.MONTH) + 1)
73+
.setDay(startCalendar.get(Calendar.DAY_OF_MONTH))
74+
.build();
75+
TimeOfDay time =
76+
TimeOfDay.newBuilder()
77+
.setHours(startCalendar.get(Calendar.HOUR_OF_DAY))
78+
.setMinutes(startCalendar.get(Calendar.MINUTE))
79+
.setSeconds(startCalendar.get(Calendar.SECOND))
80+
.build();
7681

7782
TransferJob transferJob =
7883
TransferJob.newBuilder()
@@ -84,19 +89,21 @@ public static void transferToNearline(String projectId,
8489
.setGcsDataSink(GcsData.newBuilder().setBucketName(gcsNearlineSinkBucket))
8590
.setObjectConditions(
8691
ObjectConditions.newBuilder()
87-
.setMinTimeElapsedSinceLastModification(Duration.newBuilder().setSeconds(2592000 /* 30 days */)))
92+
.setMinTimeElapsedSinceLastModification(
93+
Duration.newBuilder().setSeconds(2592000 /* 30 days */)))
8894
.setTransferOptions(
8995
TransferOptions.newBuilder().setDeleteObjectsFromSourceAfterTransfer(true)))
9096
.setSchedule(Schedule.newBuilder().setScheduleStartDate(date).setStartTimeOfDay(time))
9197
.setStatus(Status.ENABLED)
92-
.build();
98+
.build();
9399

94100
// Create a Transfer Service client
95101
StorageTransferServiceClient storageTransfer = StorageTransferServiceClient.create();
96102

97103
// Create the transfer job
98-
TransferJob response = storageTransfer.createTransferJob(CreateTransferJobRequest.newBuilder()
99-
.setTransferJob(transferJob).build());
104+
TransferJob response =
105+
storageTransfer.createTransferJob(
106+
CreateTransferJobRequest.newBuilder().setTransferJob(transferJob).build());
100107

101108
System.out.println("Created transfer job from standard bucket to Nearline bucket:");
102109
System.out.println(response.toString());

storage/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/apiary/CheckLatestTransferOperationApiary.java renamed to storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/apiary/CheckLatestTransferOperationApiary.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,23 +43,29 @@ public static void checkLatestTransferOperationApiary(String projectId, String j
4343
if (credential.createScopedRequired()) {
4444
credential = credential.createScoped(StoragetransferScopes.all());
4545
}
46-
Storagetransfer storageTransfer = new Storagetransfer.Builder(Utils.getDefaultTransport(),
47-
Utils.getDefaultJsonFactory(), new HttpCredentialsAdapter(credential))
48-
.build();
46+
Storagetransfer storageTransfer =
47+
new Storagetransfer.Builder(
48+
Utils.getDefaultTransport(),
49+
Utils.getDefaultJsonFactory(),
50+
new HttpCredentialsAdapter(credential))
51+
.build();
4952

5053
// Get transfer job and check latest operation
5154
TransferJob transferJob = storageTransfer.transferJobs().get(jobName, projectId).execute();
5255
String latestOperationName = transferJob.getLatestOperationName();
5356

5457
if (latestOperationName != null) {
55-
Operation latestOperation = storageTransfer.transferOperations().get(latestOperationName)
56-
.execute();
58+
Operation latestOperation =
59+
storageTransfer.transferOperations().get(latestOperationName).execute();
5760
System.out.println("The latest operation for transfer job " + jobName + " is:");
5861
System.out.println(latestOperation.toPrettyString());
5962

6063
} else {
61-
System.out.println("Transfer job " + jobName + " does not have an operation scheduled yet,"
62-
+ " try again once the job starts running.");
64+
System.out.println(
65+
"Transfer job "
66+
+ jobName
67+
+ " does not have an operation scheduled yet,"
68+
+ " try again once the job starts running.");
6369
}
6470
}
6571
}

storage/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/apiary/CheckTransferJobApiary.java renamed to storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/apiary/CheckTransferJobApiary.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,21 @@ public static void checkTransferJob(String projectId, String jobName) throws IOE
3939
if (credential.createScopedRequired()) {
4040
credential = credential.createScoped(StoragetransferScopes.all());
4141
}
42-
Storagetransfer storageTransfer = new Storagetransfer.Builder(Utils.getDefaultTransport(),
43-
Utils.getDefaultJsonFactory(), new HttpCredentialsAdapter(credential))
44-
.build();
42+
Storagetransfer storageTransfer =
43+
new Storagetransfer.Builder(
44+
Utils.getDefaultTransport(),
45+
Utils.getDefaultJsonFactory(),
46+
new HttpCredentialsAdapter(credential))
47+
.build();
4548

4649
// Filter for operations with jobName
47-
ListOperationsResponse response = storageTransfer
48-
.transferOperations()
49-
.list("transferOperations", projectId)
50-
.setFilter("{\"project_id\": \"" + projectId + "\", \"job_names\": [\"" + jobName + "\"] }")
51-
.execute();
50+
ListOperationsResponse response =
51+
storageTransfer
52+
.transferOperations()
53+
.list("transferOperations", projectId)
54+
.setFilter(
55+
"{\"project_id\": \"" + projectId + "\", \"job_names\": [\"" + jobName + "\"] }")
56+
.execute();
5257

5358
System.out.println("List operation returned response:");
5459
System.out.println(response.toPrettyString());

storage/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/apiary/CreateTransferClient.java renamed to storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/apiary/CreateTransferClient.java

File renamed without changes.

storage/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/apiary/RetryHttpInitializerWrapper.java renamed to storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/apiary/RetryHttpInitializerWrapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,4 +95,4 @@ public boolean handleResponse(
9595
new HttpBackOffIOExceptionHandler(new ExponentialBackOff()).setSleeper(sleeper));
9696
}
9797
}
98-
// [END storagetransfer_create_retry_handler]
98+
// [END storagetransfer_create_retry_handler]

0 commit comments

Comments
 (0)