当前位置:   article > 正文

Springboot进行Azure Blob Storage的开发_ com.microsoft.azure

com.microsoft.azure azure-eventh

java语言的开发
1、引入pom文件

		<dependency>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>azure-storage</artifactId>
            <version>8.4.0</version>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

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 Container
            blob.uploadFromFile(file.getPath());
            // 获得获得属性
            blob.downloadAttributes();
            // 获得上传后的文件大小
            long blobSize = blob.getProperties().getLength();
            // 获得本地文件大小
            long localSize = file.length();
            // 校验
            if (blobSize != localSize) {
                System.out.println("校验失败...上传失败");
                // 删除blob
                blob.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的path
            CloudBlockBlob blob = container.getBlockBlobReference(blobPath);
            // 传入目标path
            blob.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对象创建BlobClient
            blobClient = storageAccount.createCloudBlobClient();
            // 根据传入的containerName, 获得container实例
            container = blobClient.getContainerReference(containerName);
        } catch (URISyntaxException | InvalidKeyException | StorageException e) {
            e.printStackTrace();
        }
    }
}


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103

container name的名字是test
在这里插入图片描述
执行之后,可以看到下面的运行结果
在这里插入图片描述

欲关注更多微软云存储Azure Blob Storage的相关知识,请扫描下方二维码进行关注:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/284327
推荐阅读
相关标签
  

闽ICP备14008679号