|
2 | 2 |
|
3 | 3 | import com.backblaze.b2.client.B2StorageClient;
|
4 | 4 | import com.backblaze.b2.client.B2StorageClientFactory;
|
| 5 | +import com.backblaze.b2.client.contentSources.B2ByteArrayContentSource; |
| 6 | +import com.backblaze.b2.client.contentSources.B2ContentTypes; |
5 | 7 | import com.backblaze.b2.client.exceptions.B2Exception;
|
6 |
| -import com.backblaze.b2.client.structures.B2Bucket; |
7 |
| -import com.backblaze.b2.client.structures.B2ListBucketsResponse; |
| 8 | +import com.backblaze.b2.client.structures.*; |
8 | 9 |
|
9 | 10 | import java.util.List;
|
| 11 | +import java.util.concurrent.ExecutorService; |
| 12 | +import java.util.concurrent.Executors; |
10 | 13 |
|
11 | 14 | public class B2SdkExamples {
|
12 | 15 | private static final String APPLICATION_KEY_ID = "xxx";
|
13 | 16 | private static final String APPLICATION_KEY = "yyy";
|
14 | 17 |
|
| 18 | + |
| 19 | + |
15 | 20 | private static final String USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36";
|
16 | 21 |
|
| 22 | + private static final int minimumPartSize = 5000000; |
| 23 | + private static final byte[] large_file_in_bytes = new byte[minimumPartSize + 1]; |
| 24 | + |
17 | 25 | public static void main(String... args) throws B2Exception {
|
18 | 26 | System.out.println("Hello world from B2SdkExamples..");
|
19 | 27 | // B2StorageClient client = B2StorageClientFactory.createDefaultFactory().create(USER_AGENT);
|
20 | 28 | //set up B2 CLI
|
21 | 29 | //and then use b2 get-account-info to get applicationKeyId and applicationKey to fill in here and run
|
22 | 30 | B2ListBucketsResponse b2ListBucketsResponse;
|
23 |
| - try (B2StorageClient b2StorageClient = B2StorageClientFactory.createDefaultFactory().create(APPLICATION_KEY_ID, APPLICATION_KEY, USER_AGENT)) { |
24 |
| - b2ListBucketsResponse = b2StorageClient.listBuckets(); |
| 31 | + try (B2StorageClient b2Client = B2StorageClientFactory.createDefaultFactory().create(APPLICATION_KEY_ID, APPLICATION_KEY, USER_AGENT)) { |
| 32 | + b2ListBucketsResponse = b2Client.listBuckets(); |
25 | 33 | List<B2Bucket> buckets = b2ListBucketsResponse.getBuckets();
|
26 | 34 | System.out.println("buckets.size() is: " + buckets.size());
|
| 35 | + B2Bucket bucketOne = null; |
27 | 36 | for (B2Bucket b2Bucket : buckets) {
|
28 | 37 | System.out.println("this bucket info is: " + b2Bucket.getBucketInfo());
|
29 | 38 | System.out.println("this bucket getBucketName is: " + b2Bucket.getBucketName());
|
| 39 | + bucketOne = b2Bucket; |
| 40 | + break; |
30 | 41 | }
|
31 |
| - String b2AccountId = b2StorageClient.getAccountId(); |
| 42 | + String b2AccountId = b2Client.getAccountId(); |
32 | 43 | System.out.println("b2AccountId is: " + b2AccountId);
|
| 44 | + |
| 45 | + B2FileVersion largeFile = b2Client.startLargeFile( |
| 46 | + B2StartLargeFileRequest |
| 47 | + .builder(bucketOne.getBucketId(), "this_is_a_large_test_file_jsun", "text/plain") |
| 48 | + .build() |
| 49 | + ); |
| 50 | + B2UploadPartUrlResponse uploadPartUrl = b2Client.getUploadPartUrl(B2GetUploadPartUrlRequest.builder(largeFile.getFileId()).build()); |
| 51 | + System.out.println("uploadPartUrl.getFileId() is: " + uploadPartUrl.getFileId()); |
| 52 | + System.out.println("uploadPartUrl.getUploadUrl() is: " + uploadPartUrl.getUploadUrl()); |
| 53 | +// example output: |
| 54 | +// uploadPartUrl.getFileId() is: 4_zc0c2ee6e6dccd2d788960d17_f231f3059ce9d1672_d20231118_m042524_c004_v0402007_t0004_u01700281524855 |
| 55 | +// uploadPartUrl.getUploadUrl() is: https://pod-040-2007-12.backblaze.com/b2api/v2/b2_upload_part/4_zc0c2ee6e6dccd2d788960d17_f231f3059ce9d1672_d20231118_m042524_c004_v0402007_t0004_u01700281524855/0014 |
| 56 | + |
| 57 | + final B2UploadFileRequest request = B2UploadFileRequest.builder( |
| 58 | + bucketOne.getBucketId(), |
| 59 | + "largeFile", |
| 60 | + B2ContentTypes.TEXT_PLAIN, |
| 61 | + B2ByteArrayContentSource.build(large_file_in_bytes) |
| 62 | + ).build(); |
| 63 | + ExecutorService executor = Executors.newScheduledThreadPool(15); |
| 64 | + B2FileVersion uploaded = b2Client.uploadLargeFile(request, executor); |
| 65 | + System.out.println("uploaded.getLargeFileSha1OrNull(): " + uploaded.getLargeFileSha1OrNull()); |
33 | 66 | }
|
34 | 67 | System.out.println("Finished running in main method.");
|
35 | 68 | }
|
|
0 commit comments