如何使用Azure Java SDK上传文件至Azure Blob存储并打印上传时间戳
使用Azure Java SDK上传文件至Blob存储并打印完成时间戳
1. 添加Maven依赖
在项目的pom.xml中引入Azure Blob存储SDK的依赖:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-storage-blob</artifactId> <version>12.25.0</version> </dependency>
2. 完整实现代码
以下是包含文件上传逻辑和完成时间戳打印的可运行代码:
import com.azure.storage.blob.BlobClient; import com.azure.storage.blob.BlobContainerClient; import com.azure.storage.blob.BlobServiceClient; import com.azure.storage.blob.BlobServiceClientBuilder; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class BlobFileUploader { public static void main(String[] args) { // 配置核心参数 String storageConnString = "你的Azure存储账户连接字符串"; String targetContainerName = "目标容器名称"; String localFileFullPath = "本地文件绝对路径(例如:/home/user/docs/report.pdf)"; String blobFileName = "上传后Blob存储中的文件名(例如:report-2024.pdf)"; // 初始化Blob服务客户端 BlobServiceClient blobServiceClient = new BlobServiceClientBuilder() .connectionString(storageConnString) .buildClient(); // 获取容器客户端,容器不存在则自动创建 BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient(targetContainerName); containerClient.createIfNotExists(); // 上传本地文件至Blob存储 BlobClient blobClient = containerClient.getBlobClient(blobFileName); blobClient.uploadFromFile(localFileFullPath); // 生成并打印上传完成时间戳 DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); String finishTimestamp = LocalDateTime.now().format(timeFormatter); System.out.println("文件上传完成,时间戳:" + finishTimestamp); } }
关键注意事项
- 参数替换:必须将代码中的
storageConnString、targetContainerName等参数替换为你自己的实际信息,存储连接字符串可从Azure门户的存储账户中获取。 - 异常处理:生产环境建议添加
try-catch块捕获StorageException等异常,避免程序意外终止。 - 时间格式定制:可修改
DateTimeFormatter的格式字符串调整时间戳样式,如需UTC时间可改用Instant.now()配合格式化。
内容的提问来源于stack exchange,提问作者Pratik Dey
相关产品推荐
相关产品推荐

