Repository: jclouds Updated Branches: refs/heads/2.1.x bc78739ea -> 600dbd5a6
JCLOUDS-1394: Increase Azure max blob size to 256MB Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/600dbd5a Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/600dbd5a Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/600dbd5a Branch: refs/heads/2.1.x Commit: 600dbd5a61262e2e0e8baa4be749ca7698055b33 Parents: bc78739 Author: Alin Dreghiciu <[email protected]> Authored: Fri Mar 9 12:28:51 2018 +0200 Committer: Andrew Gaul <[email protected]> Committed: Fri Mar 9 07:57:48 2018 -0800 ---------------------------------------------------------------------- .../main/java/org/jclouds/azureblob/AzureBlobClient.java | 4 ++-- .../azureblob/binders/BindAzureBlobMetadataToRequest.java | 6 ++++-- .../binders/BindAzureBlobMetadataToRequestTest.java | 10 +++++----- 3 files changed, 11 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/600dbd5a/providers/azureblob/src/main/java/org/jclouds/azureblob/AzureBlobClient.java ---------------------------------------------------------------------- diff --git a/providers/azureblob/src/main/java/org/jclouds/azureblob/AzureBlobClient.java b/providers/azureblob/src/main/java/org/jclouds/azureblob/AzureBlobClient.java index 32da1de..38d3a47 100644 --- a/providers/azureblob/src/main/java/org/jclouds/azureblob/AzureBlobClient.java +++ b/providers/azureblob/src/main/java/org/jclouds/azureblob/AzureBlobClient.java @@ -321,10 +321,10 @@ public interface AzureBlobClient extends Closeable { * blob. * <p/> * <h4>Remarks</h4> - * The maximum upload size for a blob is 64 MB. If your blob is larger than 64 MB, you may upload + * The maximum upload size for a blob is 256 MB. If your blob is larger than 256 MB, you may upload * it as a set of blocks. For more information, see the Put Block and Put Block List operations. * <p/> - * If you attempt to upload a blob that is larger than 64 MB, the service returns status code 413 + * If you attempt to upload a blob that is larger than 256 MB, the service returns status code 413 * (Request Payload Too Large). The Blob service also returns additional information about the * error in the response, including the maximum blob size permitted in bytes. */ http://git-wip-us.apache.org/repos/asf/jclouds/blob/600dbd5a/providers/azureblob/src/main/java/org/jclouds/azureblob/binders/BindAzureBlobMetadataToRequest.java ---------------------------------------------------------------------- diff --git a/providers/azureblob/src/main/java/org/jclouds/azureblob/binders/BindAzureBlobMetadataToRequest.java b/providers/azureblob/src/main/java/org/jclouds/azureblob/binders/BindAzureBlobMetadataToRequest.java index 3343121..0a384d2 100644 --- a/providers/azureblob/src/main/java/org/jclouds/azureblob/binders/BindAzureBlobMetadataToRequest.java +++ b/providers/azureblob/src/main/java/org/jclouds/azureblob/binders/BindAzureBlobMetadataToRequest.java @@ -76,9 +76,11 @@ public class BindAzureBlobMetadataToRequest implements Binder { headers.put("x-ms-blob-content-length", blob.getPayload().getContentMetadata().getContentLength().toString()); break; case BLOCK_BLOB: + // see https://docs.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs + // see AzureBlobApiMetadata#version (current API version used is 2017-04-17) checkArgument( - checkNotNull(blob.getPayload().getContentMetadata().getContentLength(), "blob.getContentLength()") <= 64L * 1024 * 1024, - "maximum size for put Blob is 64MB"); + checkNotNull(blob.getPayload().getContentMetadata().getContentLength(), "blob.getContentLength()") <= 256L * 1024 * 1024, + "maximum size for put Blob is 256MB"); break; } request = (R) request.toBuilder().replaceHeaders(Multimaps.forMap(headers.build())).build(); http://git-wip-us.apache.org/repos/asf/jclouds/blob/600dbd5a/providers/azureblob/src/test/java/org/jclouds/azureblob/binders/BindAzureBlobMetadataToRequestTest.java ---------------------------------------------------------------------- diff --git a/providers/azureblob/src/test/java/org/jclouds/azureblob/binders/BindAzureBlobMetadataToRequestTest.java b/providers/azureblob/src/test/java/org/jclouds/azureblob/binders/BindAzureBlobMetadataToRequestTest.java index 46af13f..43f69a3 100644 --- a/providers/azureblob/src/test/java/org/jclouds/azureblob/binders/BindAzureBlobMetadataToRequestTest.java +++ b/providers/azureblob/src/test/java/org/jclouds/azureblob/binders/BindAzureBlobMetadataToRequestTest.java @@ -35,10 +35,10 @@ import com.google.common.collect.ImmutableMap; public class BindAzureBlobMetadataToRequestTest extends BaseRestAnnotationProcessingTest<AzureBlobClient> { @Test - public void testPassWithMinimumDetailsAndPayload64MB() { + public void testPassWithMinimumDetailsAndPayload256MB() { AzureBlob blob = injector.getInstance(AzureBlob.Factory.class).create(null); Payload payload = Payloads.newStringPayload(""); - payload.getContentMetadata().setContentLength(64 * 1024 * 1024L); + payload.getContentMetadata().setContentLength(256 * 1024 * 1024L); blob.setPayload(payload); blob.getProperties().setName("foo"); @@ -55,7 +55,7 @@ public class BindAzureBlobMetadataToRequestTest extends BaseRestAnnotationProces public void testExtendedPropertiesBind() { AzureBlob blob = injector.getInstance(AzureBlob.Factory.class).create(null); Payload payload = Payloads.newStringPayload(""); - payload.getContentMetadata().setContentLength(64 * 1024 * 1024L); + payload.getContentMetadata().setContentLength(256 * 1024 * 1024L); blob.setPayload(payload); blob.getProperties().setName("foo"); blob.getProperties().setMetadata(ImmutableMap.of("foo", "bar")); @@ -96,10 +96,10 @@ public class BindAzureBlobMetadataToRequestTest extends BaseRestAnnotationProces } @Test(expectedExceptions = IllegalArgumentException.class) - public void testOver64MBIsBad() { + public void testOver256MBIsBad() { AzureBlob blob = injector.getInstance(AzureBlob.Factory.class).create(null); Payload payload = Payloads.newStringPayload(""); - payload.getContentMetadata().setContentLength(64 * 1024 * 1024L + 1); + payload.getContentMetadata().setContentLength(256 * 1024 * 1024L + 1); blob.setPayload(payload); blob.getProperties().setName("foo");
