使用 Java 将 PageBlob 上传到 Azure 存储

问题描述 投票:0回答:1

我想使用 Java 将带有

BlobType="PageBlob"
的文件上传到 Azure 存储。 在命令行上,我可以通过简单地为
--blob-type PageBlob
命令指定
azcopy
参数来完成此操作。在Java中,我有:

BlobClient blobClient = containerClient.getBlobClient("test.bmp");
blobClient.uploadFromFile("data/test.bmp");

但是,它上传的是

BlockBlob
类型的文件。

我知道 getPageBlobClient() 方法,但它不提供将文件路径作为参数的

uploadFromFile()
方法,如上所示。我该怎么做?谢谢。

java azure azure-blob-storage
1个回答
0
投票

我知道 getPageBlobClient() 方法,但它不提供将文件路径作为参数的

uploadFromFile()
方法,如上所示。我该怎么做?谢谢。

截至目前,还没有直接命令可以使用 Azure Java SDK 上传

page blob

根据此MS-Docs

页面 blob 是 Azure 中的一种数据存储类型,旨在存储基于索引的稀疏数据结构(例如

OS
)以及
Virtual Machines
Databases
的数据磁盘。页 blob 由 512 字节的页组成,可以单独读取和写入,这使得它们非常适合存储需要随机访问的数据结构。例如,Azure SQL DB 使用页 blob 来存储其数据库。此外,页面 blob 通常用于需要基于范围更新的文件。

您可以使用 Put page REST API 请求,该请求用于创建页面 blob 并写入与 512 字节边界对齐的 blob。

要求:

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=page

您可以参考 Gaurav Mantri 的 SO-Thread 使用 Python 代码上传页面 blob。

© www.soinside.com 2019 - 2024. All rights reserved.