jclouds-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Chernavin (JIRA)" <j...@apache.org>
Subject [jira] [Created] (JCLOUDS-1487) Blob content length is mandatory while uploading to Azure
Date Tue, 15 Jan 2019 19:39:00 GMT
Alexander Chernavin created JCLOUDS-1487:

             Summary: Blob content length is mandatory while uploading to Azure
                 Key: JCLOUDS-1487
                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1487
             Project: jclouds
          Issue Type: Bug
          Components: jclouds-blobstore
    Affects Versions: 2.1.1
            Reporter: Alexander Chernavin
         Attachments: length_exception.txt

Content length is mandatory while uploading to Azure using JClouds portable Blob Store API


Code example:

Blob blob = blobStore.blobBuilder(blobName)
 .payload(new InputStreamPayload(inputStream))

blobStore.putBlob(container, blob);


[BindAzureBlobMetadataToRequest|https://github.com/fusesource/jclouds/blame/master/providers/azureblob/src/main/java/org/jclouds/azureblob/binders/BindAzureBlobMetadataToRequest.java] class
checks that content length is specified and is greater than zero in lines 58-59. However,
according to the Azure SDK documentation, Azure [CloudBlockBlob|https://azure.github.io/azure-sdk-for-java/com/microsoft/azure/storage/blob/CloudBlockBlob.html#upload-java.io.InputStream-long-]
also accepts -1 if content length is unknown: 

{{length}} - A {{long}} which represents the length, in bytes, of the stream data, or -1
if unknown.


We have a use case when we need to stream a big chunk of data of unknown size directly into
a cloud storage. Portable JClouds API allows to upload files into OpenStack SWIFT without
specifying their size, but it fails on Azure.

This message was sent by Atlassian JIRA

View raw message