Springboot进行Azure Blob Storage的开发
java语言的开发
1、引入pom文件
<dependency><groupId>com.microsoft.azure</groupId><artifactId>azure-storage</artifactId><version>8.4.0</version></dependency>
2、demo
package com.example.blob.storage;import com.microsoft.azure.storage.CloudStorageAccount;
import com.microsoft.azure.storage.StorageException;
import com.microsoft.azure.storage.blob.CloudBlobClient;
import com.microsoft.azure.storage.blob.CloudBlobContainer;
import com.microsoft.azure.storage.blob.CloudBlockBlob;
import com.microsoft.azure.storage.blob.ListBlobItem;import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.security.InvalidKeyException;
import java.text.MessageFormat;/*** @author * @version 1.0* @date 2020-07-14 16:16*/
public class AzureDemo {private static String ACCOUNT_NAME = "docblobsit01";private static String ACCOUNT_KEY = "xxx";private static String END_POINT = "core.chinacloudapi.cn";private static String PROTOCOL = "https";private static String format = "DefaultEndpointsProtocol={0};AccountName={1};AccountKey={2};EndpointSuffix={3}";private static CloudStorageAccount storageAccount = null;private static CloudBlobClient blobClient = null;private static CloudBlobContainer container = null;public static void main(String[] args) {initAzure("test");listBlobs(null);// uploadFile();}public static void listBlobs(String perfix) {/*** 第一个参数, container中blob的前缀, 可以是文件夹的前缀, 也可以是blob的前缀* 第二个参数, 是否展开文件夹中的文件, 如container中无文件夹, 则会列出所有blob*/Iterable<ListBlobItem> blobItems = container.listBlobs(null, true);for (ListBlobItem blobItem : blobItems) {String uri = blobItem.getUri().toString();System.out.println(uri);}}public static void uploadFile(File file) {try {// 构建目标BlockBlob对象CloudBlockBlob blob = container.getBlockBlobReference("20191012/aaa.txt");// 将本地文件上传到Azure Containerblob.uploadFromFile(file.getPath());// 获得获得属性blob.downloadAttributes();// 获得上传后的文件大小long blobSize = blob.getProperties().getLength();// 获得本地文件大小long localSize = file.length();// 校验if (blobSize != localSize) {System.out.println("校验失败...上传失败");// 删除blobblob.deleteIfExists();} else {System.out.println("上传成功");}} catch (URISyntaxException | StorageException | IOException e) {e.printStackTrace();}}public static void downloadFile(String blobPath, String targetPath) {String finalPath = targetPath.concat(blobPath);try {// 传入要blob的pathCloudBlockBlob blob = container.getBlockBlobReference(blobPath);// 传入目标pathblob.downloadToFile(finalPath);} catch (URISyntaxException | StorageException | IOException e) {e.printStackTrace();}}public static void initAzure(String containerName) {try {// 获得StorageAccount对象storageAccount = CloudStorageAccount.parse(MessageFormat.format(format, PROTOCOL, ACCOUNT_NAME, ACCOUNT_KEY, END_POINT));// 由StorageAccount对象创建BlobClientblobClient = storageAccount.createCloudBlobClient();// 根据传入的containerName, 获得container实例container = blobClient.getContainerReference(containerName);} catch (URISyntaxException | InvalidKeyException | StorageException e) {e.printStackTrace();}}
}
container name的名字是test
执行之后,可以看到下面的运行结果
欲关注更多微软云存储Azure Blob Storage的相关知识,请扫描下方二维码进行关注:
Springboot进行Azure Blob Storage的开发相关推荐
- 使用Azure Blob Storage实现一个静态文件服务器
什么是Azure Blob Storage Azure Blob Storage是微软Azure的对象存储服务.国内的云一般叫OSS,是一种用来存储非结构化数据的服务,比如音频,视频,图片,文本等等. ...
- .NET Core 批量重置 Azure Blob Storage 的 mime type
点击上方蓝字关注"汪宇杰博客" 我的博客使用 Azure Blob Storage 存储文章配图,结果今天玩 Azure CDN 的时候爆了,原因是图片mime type不对.我们 ...
- Azure Blob Storage 基本用法 -- Azure Storage 之 Blob
Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在<Azure Table storage ...
- Python 操作 Azure Blob Storage
安装 Azure Storage SDK for Python 最简单的方式是在安装了 python 和 pip 的机器上直接执行下面的命令: pip install azure-storage 安装 ...
- Azure Blob Storage 基本用法上传/下载(Java)
文章目录 简单概念 Blob Storage Azure Blob Storage的存储结构 Azure Storage Account Container Blob 操作 Maven依赖 创建Con ...
- PowerShell 操作 Azure Blob Storage
本文假设已经存在了一个 Azure Storage Account,需要进行文件的上传,下载,复制,删除等操作. 为了方便查看 PowerShell 代码执行的结果,本文使用了 MS 发布的一个 Az ...
- java azure blob 查询_快速入门:适用于 Java 的 Azure Blob 存储客户端库 v8 | Microsoft Docs...
您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 快速入门:使用 Jav ...
- Azure Table storage 基本用法 -- Azure Storage 之 Table
Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table,其中的 Table 就是本文的主角 Azure Tabl ...
- Azure Blob实战之——从客户端到FTP
背景:Azure上的Blob至今微软官方还未给出一个很好的客户端工具,这严重影响了数据交互,现将本人最近测试整理的Blob上传工具使用经验与大家分享(包括FTP的WorkerRole) 环境: VS2 ...
最新文章
- 1807. [NOIP2014]寻找道路P2296 寻找道路
- 建设世界级数据中心正当时
- win1编辑java环境,在win7下配置java编译环境
- Xctf练习sql注入--supersqli
- 图片跟着鼠标_百元鼠标玩设计 雷柏V330游戏鼠标试用招募活动
- c# 中const 和 static readonly 的区别
- DP || HYSBZ 1207 打鼹鼠
- 计算机系元旦主题,元旦主题活动方案
- Linux Emacs 配置c++
- 李国庆与当当,一个中国网络书店的传奇
- 经典论文阅读笔记——VIT、Swin Transformer、MAE、CILP
- 矩阵分析一子空间和特征分解
- Unable to build Hibernate SessionFactory和Caused by: org.hibernate.tool.schema.spi.SchemaManagementEx
- java continue语句_Java continue 语句
- 安卓4.4.4安装哪个微信版本_新版微信被网友骂惨了,后悔更新了吗?教你一招迅速回到旧版本...
- ABAP 类方法获取长文本内容
- 生命中最重要的两个日子,一个是你出生,一个是你发现自己为什么而生
- 软件是如何驱动硬件的?
- 【读书笔记】科技写作与交流 - 1.科技写作原则:文体及其构成
- 数据库大批量SQL插入性能优化
热门文章
- C#基本语句,关键字与存储笔记
- 前端使用svg勾画折线图
- C语言中的函数指针、函数的直接/间接调用、C# 委托(自定义委托、内置泛型委托、委托的实例化、委托的一般使用(模板方法、回调方法)、泛型委托、多播委托、同步/异步使用委托)
- oracle函数将多级标签逗号拼接的单个字段洗涤成仅含一级标签的字段
- 解决找不到或无法加载主类的问题
- selenium-java 优化参数设置,无界面化、允许root运行,页面不加载图片
- 怎么压缩图片大小到50kb以下?照片怎么压缩到50kb?
- 外贸网站SEO优化站外需要注意什么
- 苏宁易购收购万达百货:零售业加速深度整合
- lua windows安装以及编辑器使用