【问题标题】:Upload Azure Enterprise API append blob as block blob to Storage Account将 Azure Enterprise API 追加 blob 作为块 blob 上传到存储帐户
【发布时间】:2018-08-13 13:14:51
【问题描述】:

我正在尝试使用 Azure Enterprise API 通过 HDInsight 进行一些报告。但是,HDInsight 似乎只支持块 blob 格式,而从 Azure API 接收的文件是附加 blob。

在 Azure 数据移动库的示例代码中,我使用以下 sn-p 来执行将结果从 API 提取到存储帐户的任务。但是,我需要它来阻止 blob,到目前为止我无法找到解决方案。我尝试使用 UploadAsync 方法,但在这种情况下没有上传任何内容。

                    //ConsoleKeyInfo keyinfo;
                    try
                    {

                        task = TransferManager.CopyAsync(uri, blob, true, null, context, cancellationSource.Token);
                        //while (!task.IsCompleted)
                        //{
                        //    if (Console.KeyAvailable)
                        //    {
                        //        keyinfo = Console.ReadKey(true);
                        //        if (keyinfo.Key == ConsoleKey.C)
                        //        {
                        //            cancellationSource.Cancel();
                        //        }
                        //    }
                        //}
                        await task;
                    }

【问题讨论】:

    标签: c# azure blob


    【解决方案1】:

    正如您所说,目前 HDInsight 中不支持附加 Blob。 您将使用 TransferManager.CopyAsync 从 API 获取结果,这是一个附加 blob 到存储帐户。

    经过测试,当您复制 blob 时,您必须确保它们的类型相同。如果没有,您将收到以下错误消息。

    根据您的需求,我建议您可以先下载附加blob。然后,当您上传 blob 到您的存储帐户时,您可以选择该 blob 的块类型

    另外,您可以使用Azcopy 来实现它。

    【讨论】:

    • 在下载和上传的情况下,会不会比单纯的拷贝有计费影响?
    • 所有价格均为每月每 GB。参考这个article
    猜你喜欢
    • 2020-08-02
    • 2014-08-23
    • 2023-03-28
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 2016-10-27
    • 2018-11-17
    • 2021-10-13
    相关资源
    最近更新 更多