标签: azure-blob-storage

我可以将 Avro 序列化数据附加到现有的 Azure blob 中吗?

我问我是否可以,但我也想知道我是否应该这样做

这是我的场景:我正在小批量接收 Avro 序列化消息。我想存储它们以供以后使用 Hive 表和 Avro SerDe 进行分析。我在 Azure 中运行,并将消息存储在 blob 中。我试图避免出现很多小斑点(因为我相信这会对 Hive 产生负面影响)。如果我已经将 Avro 标头写入 blob,我相信可以将 Avro 数据块附加到CloudBlockBlob.PutBlockAsync(). (只要我知道同步标记即可。)

但是,我检查了两个 .NET 库,它们似乎不支持我的方法。(我必须立即编写整个 Avro 容器文件)。

我采取的方法正确吗? 我在图书馆里错过了什么吗?

我的问题与此类似(但不同): 您可以将数据附加到现有的 Avro 数据文件吗?

hadoop hive azure avro azure-blob-storage

5
推荐指数
1
解决办法
1856
查看次数

在 Azure Blob 存储中查找音频文件

我在 Azure Blob 存储中有不同类型的音频文件(wav、mp3...)。我想流式传输它们,但我也想从音频文件中的特定位置流式传输它们。例如,我希望一个流在文件的 0:00 秒开始,另一个流在文件的 01:15 秒开始。

这有可能吗?我知道有“DownloadRangeToStream”方法。用这个方法可以实现吗?即使这有效,我认为偏移量也会出现问题,因为文件头丢失了,对吗?

我将不胜感激任何意见!

感谢您的帮助,新陈代谢

streaming azure azure-blob-storage

5
推荐指数
2
解决办法
5034
查看次数

Azure Blob 存储:模拟 CloudBlobContainer

我正在尝试对一个将文件上传到 Azure Blob 存储的类进行单元测试。上传方法作为CloudBlobContainer输入。调用时_storageContainer.Object.GetBlockBlobReference(),会引发 System.NullReferenceException。谁能帮我嘲笑这个?

单元测试代码:

[TestClass()]
public class BlobStorageServiceUploadUnitTest
{
    private static BlobStorageService _service;
    private static Mock<CloudBlobContainer> _storageContainer;
    private static List<FileType> _extensions;
    private static int _maxSize;

    [ClassInitialize]
    public static void Setup_Service(TestContext context)
    {
        _extensions = new List<FileType> { FileType.Image };
        _maxSize = 2048;

        _storageContainer = new Mock<CloudBlobContainer>();

        _service = new BlobStorageService(new Mock<BEntitiesContainer>().Object, _storageContainer.Object);
    }

    [TestMethod()]
    public void When_FileIsDeleted()
    {
        var file = CreateMockFile("test.jpg", 500000);
        var blob = _storageContainer.Object.GetBlockBlobReference("deleteTest.jpg");
        blob.UploadFromStream(file.Object.InputStream);

        _service.DeleteFromStorage("deleteTest.jpg");

        var blobs = _storageContainer.Object.ListBlobs();
        Assert.AreEqual(0, …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq azure-blob-storage

5
推荐指数
1
解决办法
1万
查看次数

如何检查Azure Blob存储上传是否成功?

我使用 Azure SAS URL 将文件上传到 Blob 存储:

var blockBlob = new Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob(new System.Uri(sasUrl));
blockBlob.UploadFromFile(filePath);
Run Code Online (Sandbox Code Playgroud)

该文件存在于我的磁盘上,并且 URL 应该是正确的,因为它是从 Windows Store Ingestion API 自动检索的(并且,如果我稍微更改 URL 签名部分中的一个字符,上传会失败并显示 HTTP 403)。

然而,在检查时

var blobs = blockBlob.Container.ListBlobs();
Run Code Online (Sandbox Code Playgroud)

结果是Count = 0,所以我想知道是否上传成功?不幸的是,该UploadFromFile方法(与该UploadFromStream方法类似)没有返回类型,因此我不确定如何检索上传的结果)。

如果我尝试使用Azure 存储资源管理器连接到 SAS URL ,则列出 Blob 容器会失败,并显示错误“身份验证错误。签名字段格式不正确”。我尝试使用 URL 转义 URL 的签名部分,因为这似乎是在某些类似情况下出现该错误的原因,但这并不能解决问题。

有什么方法可以检查 blob 上传的状态吗?有人知道为什么无法使用 Azure 资源管理器连接自动生成的 URL(由 Microsoft 的官方 API 之一提供)吗?

azure-storage azure-blob-storage

5
推荐指数
1
解决办法
1万
查看次数

Azure Blob 存储是否支持用于引用位置或文件的别名?

Azure Blob 存储是否支持用于引用位置或文件的别名?

我有 Azure 订阅,想知道 Blob 存储在引用位置或文件时是否支持别名

如果文件像这样可用 - /storage/container/folderA/fileA

我想做这样的事情 -/foo/pointertofileA

如果我访问上面的网址,这仍然允许我检索文件

alias azure azure-blob-storage

5
推荐指数
1
解决办法
1739
查看次数

不要覆盖 Azure Blob 存储

我有一种将文件添加到 Azure Blob 存储的方法,问题是我试图指定一个条件,在该条件下它不会覆盖 blob,而只是添加到其中。我正在尝试使用参数访问条件,但是 VS 说此方法不能采用两个参数 - async void archiveNewImportedImages(List imageFiles) {

        // Saving the images
        // Retrieve reference to a blob named "myblob".


        // Create or overwrite the "myblob" blob with contents from a local file.

        using (var fileStream = System.IO.File.OpenRead(@"C:\Users\rahulchawla\Desktop\FilezilleIMGS\FilezilleIMGS\MTO_Image\CR01-1-20170623-1327.jpg"))
        {

            await blockBlob.UploadFromStreamAsync(fileStream, accessCondition: AccessCondition.GenerateIfNoneMatchCondition("*"));
        }

        // save url of the image into a variable and later to the database
        ///  fileURL = blockBlob.Uri.ToString();



    }
Run Code Online (Sandbox Code Playgroud)

有什么建议么?

最终目标:不要覆盖容器 - 继续添加不同的文件,例如。img1.jpg、img2.jpg 转为 blob

其他详细信息:想要将图像附加到容器中(换句话说,继续将图像添加到容器中)。如果文件存在,则不想覆盖现有文件)

c# cloud azure blobstorage azure-blob-storage

5
推荐指数
1
解决办法
2万
查看次数

Azure Blob 存储相当于 S3 网站重定向

S3 有自己定义的重定向元数据:( x-amz-website-redirect-locationWebsiteRedirectLocation )。但我没有看到任何与Azure blob 存储等效的东西。对此是否有任何一流的支持,或者我应该在 blob 元数据中使用自定义键?

(我引用了 golang api,但这只是为了展示一种 API 实现。)

azure azure-blob-storage

5
推荐指数
1
解决办法
1123
查看次数

用于白名单的 Azure 存储 blob IP 范围是多少

我正在尝试查找 Azure 存储 blob 的 IP 范围。我有一个存储块。我无法将域名列入白名单,因此我正在为此寻找 IP 范围。我的斑点位于 USWEST 地区。

有人可以建议吗?

azure azure-storage azure-blob-storage

5
推荐指数
1
解决办法
1万
查看次数

用于中间/临时存储的 Azure cosmos db 与 blob 存储

我们在 WebAPI 中有要求,以 JSON 的形式从外部 API 提取有效负载,清理并将其发布到 Azure Sql 中。对于此要求,我们目前依赖于 blob 存储,将 json 有效负载存储到 azure blob 中,并将其检索到 UI 中以进行数据清理活动。用户可以花费大量时间来验证数据并根据需要进行修改。用户可能会起草几天,并在完成所有清理后单击“导入”按钮。现在,我观察到,在这些草稿期间,blob 只是被检索并反序列化到对象列表中,以找到要更新的相应属性。一旦更新完成,当用户单击“草稿”时,同一列表将被序列化为 json 并存储回 blob。序列化/反序列化的过程似乎很昂贵。相反,我正在考虑用 Cosmos DB 替换 blob。这真的会即兴表演吗?建议 Azure Sql Json 支持是否比所有这些选项更可行?我什至想到了 Redis 缓存?决策的主要因素也是成本效益。

json azure azure-redis-cache azure-blob-storage azure-cosmosdb

5
推荐指数
1
解决办法
1万
查看次数

“所有其他操作”的 Azure Blob 计费明细

我正在查看我的 Azure 存储帐户的账单并尝试了解管理其成本。

目前,我的 blob 成本主要位于“所有其他操作”类别下。有没有办法查看这些操作是什么?

我想降低此成本,因此目标是更新我的应用程序,以便减少执行这些操作,但我需要首先确定它们是什么。

下面是我从成本分析中得到的图表。(存储账户、累计成本、按米分组)

蔚来成本分析

azure azure-storage cost-management azure-blob-storage

5
推荐指数
1
解决办法
2105
查看次数