Hi,

I am trying to run a sample putBlob() operation against Azure but it fails
with the below exception.

org.jclouds.azure.storage.AzureStorageResponseException: command
[method=org.jclouds.azureblob.AzureBlobClient.public abstract
java.lang.String
org.jclouds.azureblob.AzureBlobClient.putBlockList(java.lang.String,org.jclouds.azureblob.domain.AzureBlob,java.util.List)[arun11thjanmeta,
[properties=[name=CDIR/3026745892893961993/0, container=arun11thjanmeta,
url=null, contentMetadata=[cacheControl=null, contentDisposition=null,
contentEncoding=null, contentLanguage=null, contentLength=114688,
contentMD5=null, contentType=application/unknown, expires=null], eTag=null,
lastModified=null, leaseStatus=Unlocked,*
metadata={ics.etagintegrity.status=disabled,
ics.meta-digest=c3445004415ff10e8d136251ed58b7ae, ics.meta-version=1,
ics.simpleencryption.status=disabled,
ics.stack-description=ICStore.1(SimpleEncryption.1(EtagIntegrity.1(BlobStoreConnection.1)))},
type=BlockBlob]], [AAAAAQ==]]*, request=PUT
https://azuretct.blob.core.windows.net/arun11thjanmeta/CDIR/3026745892893961993/0?comp=blocklist
HTTP/1.1] failed with code 400, error:
AzureError{requestId='37bf9ad5-001e-00f7-6dc0-8fc20f000000',
code='InvalidMetadata', message='The metadata specified is invalid. It has
characters that are not permitted.
RequestId:37bf9ad5-001e-00f7-6dc0-8fc20f000000
Time:2018-01-17T18:22:22.3764038Z'
        at
org.jclouds.azure.storage.handlers.ParseAzureStorageErrorFromXmlContent.handleError(ParseAzureStorageErrorFromXmlContent.java:71)
~[azureblob-2.0.3.jar:2.0.3]
        at
org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:65)
~[jclouds-core-2.0.3.jar:2.0.3]
        at
org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:140)
~[jclouds-core-2.0.3.jar:2.0.3]
        at
org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:109)
~[jclouds-core-2.0.3.jar:2.0.3]
        at
org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90)
~[jclouds-core-2.0.3.jar:2.0.3]
        at
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
~[jclouds-core-2.0.3.jar:2.0.3]
        at
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
~[jclouds-core-2.0.3.jar:2.0.3]
        at
org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156)
~[jclouds-core-2.0.3.jar:2.0.3]
        at
org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
~[jclouds-core-2.0.3.jar:2.0.3]
        at com.sun.proxy.$Proxy52.putBlockList(Unknown Source)
~[na:1.8.0-internal]
        at
org.jclouds.azureblob.blobstore.AzureBlobStore.completeMultipartUpload(AzureBlobStore.java:431)
~[azureblob-2.0.3.jar:2.0.3]
        at
org.jclouds.blobstore.internal.BaseBlobStore.putMultipartBlob(BaseBlobStore.java:368)
~[jclouds-blobstore-2.0.3.jar:2.0.3]
        at
org.jclouds.blobstore.internal.BaseBlobStore.putMultipartBlob(BaseBlobStore.java:347)
~[jclouds-blobstore-2.0.3.jar:2.0.3]
        at
org.jclouds.azureblob.blobstore.AzureBlobStore.putBlob(AzureBlobStore.java:235)
~[azureblob-2.0.3.jar:2.0.3]

We add the highlighted meta-data to the blob before pushing it to the cloud
which causes this particular exception to be thrown.

The same meta-data works for other providers like S3, Openstack-Swift etc..

Wondering on what could the problem with the above meta-data for Azure?
Could some one throw some light on this issue?

Thanks,
Arunagiri

Reply via email to