如何使用java sdk在Azure Blob存储中上载单个视频文件的多个块?
我想将一个巨大的文件作为单个文件从s3(4.5GB大小)传输到Azure blob存储。 由于它是一个巨大的文件,我们正试图将该s3文件分成块大小为5MB的多个块。每个区块都上载到azure blob存储,最后我希望将所有区块重新组装到azure中的单个blob文件中(或者)我上载到azure blob存储的每个区块都应将其附加到现有区块中如何使用java sdk在Azure Blob存储中上载单个视频文件的多个块?,java,azure,azure-blob-storage,azure-java-sdk,Java,Azure,Azure Blob Storage,Azure Java Sdk,我想将一个巨大的文件作为单个文件从s3(4.5GB大小)传输到Azure blob存储。 由于它是一个巨大的文件,我们正试图将该s3文件分成块大小为5MB的多个块。每个区块都上载到azure blob存储,最后我希望将所有区块重新组装到azure中的单个blob文件中(或者)我上载到azure blob存储的每个区块都应将其附加到现有区块中 如果我们对此有任何解决方案,请尽快帮助我?Azure存储支持分块上传。您可以“暂存”数据块,然后在上载完所有数据块后,可以将暂存的数据块“提交”到单个blo
如果我们对此有任何解决方案,请尽快帮助我?Azure存储支持分块上传。您可以“暂存”数据块,然后在上载完所有数据块后,可以将暂存的数据块“提交”到单个blob 新的Java SDK提供了具有用于暂存和提交块的API的
BlockBlobClient
(和BlockBlobBasyncClient
)
用这个来
以下是一个示例:
BlockBlobClient BlockBlobClient=new SpecializedBlobClientBuilder()
.connectionString(“”)
.containerName(“”)
.blobName(“”)
.buildBlockBlobClient();
字符串chunkId1=Base64.getEncoder().encodeToString(“1.getBytes());
字符串chunkId2=Base64.getEncoder().encodeToString(“2.getBytes());
字符串chunkId3=Base64.getEncoder().encodeToString(“3.getBytes());
byte[]chunk1Bytes=“chunk 1.”.getBytes();
byte[]chunk2Bytes=“chunk 2.”.getBytes();
byte[]chunk3Bytes=“chunk 3.”.getBytes();
ByteArrayInputStream chunk1=新的ByteArrayInputStream(chunk1字节);
ByteArrayInputStream chunk2=新的ByteArrayInputStream(chunk2字节);
ByteArrayInputStream chunk3=新的ByteArrayInputStream(chunk3字节);
//第三阶段大厦
blockBlobClient.stageBlock(chunkId1、chunk1、chunk1Bytes.length);
blockBlobClient.stageBlock(chunkId2、chunk2、chunk2Bytes.length);
blockBlobClient.stageBlock(chunkId3、chunk3、chunk3Bytes.length);
//提交所有3个块-chunkID的顺序很重要
BlockBlobItem BlockBlobItem=blockBlobClient.commitBlockList(Arrays.asList(chunkId1、chunkId2、chunkId3));
ByteArrayOutputStream outputStream=新建ByteArrayOutputStream();
blockBlobClient.download(outputStream);
System.out.println(新字符串(outputStream.toByteArray());//打印块1。块2。块3
为什么不使用azcopy为您完成所有工作?首先,感谢您的解决方案。这种方法在使用Azure CLI时有效。我们不喜欢共享Amazon access的密钥。我们希望以流的形式从AmazonS3多部分下载,并以流的形式将其发送回azure blob存储。有没有办法将多个块上载到Azure存储中的单个文件blob?