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 32da1de01f..38d3a47994 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.
*
* Remarks
- * 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.
*
- * 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.
*/
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 3343121e5f..0a384d2928 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();
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 46af13fae1..43f69a3c7f 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 {
@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");