咨询Azure Blob Storage使用uploadFromFile()覆盖现有Blob的方法
实现Azure Blob Storage上传文件时覆盖现有Blob的方法
Azure Storage SDK 的 uploadFromFile() 方法确实没有直接携带 overwrite 参数的重载版本,但可以通过配置上传选项来实现覆盖现有Blob的需求,具体操作如下:
- 先获取目标Blob的客户端实例(比如
BlockBlobClient) - 创建
BlobUploadFromFileOptions对象,通过setOverwrite(true)开启覆盖模式 - 将该选项传入
uploadFromFile()方法执行上传
代码示例(Java)
// 假设已通过BlobServiceClient获取到目标BlockBlobClient BlockBlobClient blobClient = blobServiceClient.getBlobContainerClient("容器名").getBlockBlobClient("Blob名称"); // 初始化上传选项,指定本地文件路径并开启覆盖 BlobUploadFromFileOptions uploadOptions = new BlobUploadFromFileOptions("本地文件路径"); uploadOptions.setOverwrite(true); // 执行覆盖上传 blobClient.uploadFromFile(uploadOptions);
默认情况下,如果Blob已存在且未设置overwrite为true,SDK会抛出BlobAlreadyExistsException异常;开启覆盖后,现有Blob会被新文件直接替换。
内容的提问来源于stack exchange,提问作者pja
相关产品推荐
相关产品推荐

