Skip to content

Commit 44f61d8

Browse files
authored
Merge pull request #229 from cloudsufi/Multi_upload_Policy
Functionality added for GCS multipart upload policy.
2 parents 67246c2 + 51422f5 commit 44f61d8

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

pom.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,14 +360,20 @@ the License.-->
360360
<dependency>
361361
<groupId>com.google.cloud</groupId>
362362
<artifactId>google-cloud-storage</artifactId>
363-
<version>2.1.3</version>
363+
<version>2.8.0</version>
364364
</dependency>
365365

366366
<dependency>
367367
<groupId>com.google.cloud</groupId>
368368
<artifactId>google-cloud-bigquery</artifactId>
369369
<version>2.1.8</version>
370370
</dependency>
371+
<!-- https://mvnrepository.com/artifact/com.google.apis/google-api-services-storage -->
372+
<dependency>
373+
<groupId>com.google.apis</groupId>
374+
<artifactId>google-api-services-storage</artifactId>
375+
<version>v1-rev20220604-1.32.1</version>
376+
</dependency>
371377

372378
</dependencies>
373379

src/main/java/io/cdap/e2e/utils/StorageClient.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,15 @@
2222
import com.google.cloud.storage.BlobInfo;
2323
import com.google.cloud.storage.Bucket;
2424
import com.google.cloud.storage.BucketInfo;
25+
import com.google.cloud.storage.BucketInfo.LifecycleRule;
26+
import com.google.cloud.storage.BucketInfo.LifecycleRule.LifecycleAction;
27+
import com.google.cloud.storage.BucketInfo.LifecycleRule.LifecycleCondition;
2528
import com.google.cloud.storage.Storage;
29+
import com.google.cloud.storage.Storage.BucketField;
2630
import com.google.cloud.storage.StorageException;
2731
import com.google.cloud.storage.StorageOptions;
2832

33+
import com.google.common.collect.ImmutableList;
2934
import java.io.IOException;
3035
import java.net.URISyntaxException;
3136
import java.nio.file.Files;
@@ -93,4 +98,18 @@ public static Blob uploadObject(String bucketName, String objectName, String fil
9398
Files.readAllBytes(Paths.get(StorageClient.class.getResource("/" + filePath).toURI())));
9499
}
95100

101+
/**
102+
* @param bucketName , required random Bucket name to create in GCS.
103+
* @param ageInDays Age has to be pass in days.
104+
*/
105+
public static Bucket createBucketwithLifeCycle(String bucketName, int ageInDays) throws IOException {
106+
return getStorageService().create(BucketInfo.of(bucketName)).toBuilder()
107+
.setLifecycleRules(
108+
ImmutableList.of(
109+
new LifecycleRule(
110+
LifecycleAction.newAbortIncompleteMPUploadAction(),
111+
LifecycleCondition.newBuilder().setAge(ageInDays).build()))).build().update();
112+
}
113+
96114
}
115+

0 commit comments

Comments
 (0)