【问题标题】:Create Empty CloudBlockBlob in Azure在 Azure 中创建空 CloudBlockBlob
【发布时间】:2013-02-19 16:47:36
【问题描述】:

我希望这个问题的答案很简单,但是在查看 Azure Java API 文档后我无法让它工作。

我正在尝试创建一个空的 CloudBlockBlob,稍后会将块上传到它。我之前已经成功上传了块,当在上传第一个块时创建 blob 时,但是当我尝试创建一个没有任何内容的新 blob 时,我似乎什么也得不到(“指定的 blob 不存在”)数据,然后访问它。我需要这个,因为在我的服务中,首先调用以在 Azure 中创建新的 blob,然后使用稍后的调用上传块(此时会检查 blob 是否存在)。是否可以在 Azure 中创建一个空 blob,然后将数据上传到它?我错过了什么?

【问题讨论】:

    标签: java azure


    【解决方案1】:

    我没有使用过 Java SDK,所以我可能错了,但我尝试使用 C# 代码(存储客户端库 2.0)创建一个空 blob,如果我上传一个空输入流,则会创建一个零字节大小的空 blob。我做了类似以下的事情:

            CloudBlockBlob emptyBlob = blobContainer.GetBlockBlobReference("emptyblob.txt");
            using (MemoryStream ms = new MemoryStream())
            {
                emptyBlob.UploadFromStream(ms);//Empty memory stream. Will create an empty blob.
            }
    

    我确实在 Github 上查看了 Azure SDK for Java 源代码:https://github.com/WindowsAzure/azure-sdk-for-java/blob/master/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/blob/client/CloudBlockBlob.java 并找到了这个“上传”函数,您可以在其中指定输入流。试试看它是否适合你。

    【讨论】:

    • 我使用这种方法来上传我的块,但我想我没有想到使用空流作为初始化的方式。效果很好,干杯!
    • @SirSlush86 能否提供更多关于创建的空 CloudBlockBlob 的详细信息?
    猜你喜欢
    • 2014-06-03
    • 1970-01-01
    • 2018-08-29
    • 2017-09-12
    • 2021-05-05
    • 2017-02-08
    • 2018-04-07
    • 2020-10-14
    • 1970-01-01
    相关资源
    最近更新 更多