(小弟自学Azure,文中有不正确之处,请路过各位大神指正。)

网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少。这次由于公司项目需要使用Azure,所以对Azure的一些学习心得做下笔记,文中不正确地方请大家指正。

Azure Blob 存储是用于存储大量非结构化对象数据(例如文本或二进制数据)的服务,这些数据可通过 HTTP 或 HTTPS 从世界各地进行访问。 可以使用 Blob 存储向外公开数据,或者私下存储应用程序数据。

Blob 存储的常见用途包括:

  • 直接向浏览器提供图像或文档
  • 存储文件以供分布式访问
  • 对视频和音频进行流式处理
  • 存储数据以用于备份和还原、灾难恢复及存档
  • 存储数据以供本地或 Azure 托管服务执行分析

Package

com.microsoft.azure.storage.blob

Mean

表示Microsoft Azure blob。这是CloudBlockBlob和CloudPageBlob类的基类。

Inherited 

java.lang.Object ————> ListBlobItem ————> CloudBlob

Constructors 

1、CloudBlob(final BlobType type, final StorageUri uri, final String snapshotID, final StorageCredentials credentials)

使用指定的URI、快照ID和云blob客户端创建类的实例。

2、protected CloudBlob(final BlobType type, String blobName, String snapshotID, CloudBlobContainer container)

使用指定的类型、名称、快照ID和容器创建类的实例。

3、protected CloudBlob(final CloudBlob otherBlob)

通过从另一个blob中复制值来创建类的实例。

Fields

1、blobServiceClient:blob的客户端

2、parent:blob的目录

3、streamMinimumReadSizeInBytes:使用BlobInputStream时保持最小读取大小。

4、streamWriteSizeInBytes:保存写入BlobOutputStream(块和页面blobs)时要缓冲的字节数。

Method

    1.public final void abortCopy(final String copyId)

    2.public final void abortCopy(final String copyId, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

中止正在进行的blob复制操作。

    3.public final String acquireLease()

获得对blob的一个新的无限租赁,返回blob的id。

    4.public final String acquireLease(final Integer leaseTimeInSeconds, final String proposedLeaseId)

获取具有指定租赁时间和建议的租赁ID的blob的新租赁。

leaseTimeInSeconds:以秒为单位指定获取租约所需的时间跨度。如果为空,将获得一个无限的租约。如果不为空,则该值必须大于零

proposedLeaseId:表示新租赁的拟议租赁ID的字符串,如果没有拟议的租赁ID,则为null。

    5.public final String acquireLease(final Integer leaseTimeInSeconds, final String proposedLeaseId, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

获取具有指定租用时间、建议的租用ID、请求选项和操作上下文的blob的新租约。

leaseTimeInSeconds:以秒为单位指定获取租约所需的时间跨度。如果为空,将获得一个无限的租约。如果不为空,则该值必须大于零

proposedLeaseId:表示新租赁的拟议租赁ID的字符串,如果没有拟议的租赁ID,则为null。

accessCondition:表示blob的访问条件

options:为请求指定任何附加选项

opContext:表示当前操作的上下文的OperationContext对象。上下文用于跟踪对存储服务的请求,并提供关于操作的附加运行时信息。

    6.public final long breakLease(final Integer breakPeriodInSeconds)

终止租约,并确保另一个客户在当前租约期满之前不能获得新的租约。返回以秒为单位的剩余时间。

breakPeriodInSeconds:指定等待的时间(以秒为单位),直到当前租约被破坏。如果为空,则中断周期为当前租约的剩余时间,或者为无限租约的零。

    7.public final long breakLease(final Integer breakPeriodInSeconds, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

使用指定的请求选项和操作上下文终止现有租约,并确保另一个客户端在当前租约期满之前不能获得新的租约。

    8.public final String changeLease(final String proposedLeaseId, final AccessCondition accessCondition)

将现有的租赁ID更改为建议的租赁ID。

    9.public final String changeLease(final String proposedLeaseId, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

使用指定的访问条件、请求选项和操作上下文将现有的租赁ID更改为建议的租赁ID。

    10.public final CloudBlob createSnapshot()

    11.public final CloudBlob createSnapshot(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

    12.public final CloudBlob createSnapshot(final HashMap<String, String> metadata, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

创建blob的快照。

    13.public final void delete()

删除blob。如果在服务上启用了删除保留策略,那么在垃圾收集永久删除之前,blob将被保留一段指定的时间。

    14.public final void delete(final DeleteSnapshotsOption deleteSnapshotsOption, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

使用指定的快照和请求选项和操作上下文删除blob。如果在服务上启用了删除保留策略,那么在垃圾收集永久删除之前,blob将被保留一段指定的时间。具有快照的blob不能被删除,除非快照也被删除。如果一个blob有快照,请在参数中使用DeleteSnapshotsOption#DELETE_SNAPSHOTS_ONLY或DeleteSnapshotsOption# include_snapshot值来指定删除blob时应该如何处理快照。

    

15.public final boolean deleteIfExists()

如果blob存在,则删除它。具有快照的blob不能被删除,除非快照也被删除。如果一个blob有快照,请在参数中使用DeleteSnapshotsOption#DELETE_SNAPSHOTS_ONLY或DeleteSnapshotsOption# include_snapshot值来指定删除blob时应该如何处理快照。

    16.public final boolean deleteIfExists(final DeleteSnapshotsOption deleteSnapshotsOption, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

如果blob存在,使用指定的快照和请求选项以及操作上下文删除它。具有快照的blob不能被删除,除非快照也被删除。如果一个blob有快照,请在参数中使用DeleteSnapshotsOption#DELETE_SNAPSHOTS_ONLY或DeleteSnapshotsOption# include_snapshot值来指定删除blob时应该如何处理快照。

    17.public final void download(final OutputStream outStream)

    18.public final void download(final OutputStream outStream, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

下载。

    19.public final void downloadAttributes()

    20.public final void downloadAttributes(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

此方法填充blob的系统属性和用户定义的元数据。在读取或修改blob的属性或元数据之前,调用此方法或其重载,以从Microsoft Azure存储服务检索blob属性和元数据的最新值。

    

    21.public final void downloadRange(final long offset, final Long length, final OutputStream outStream)

    22.public final void downloadRange(final long offset, final Long length, final OutputStream outStream, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

    23.public final int downloadRangeToByteArray(final long offset, final Long length, final byte[] buffer, final int bufferOffset)

    24.public final int downloadRangeToByteArray(final long offset, final Long length, final byte[] buffer, final int bufferOffset, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

    25.public final int downloadToByteArray(final byte[] buffer, final int bufferOffset)

    26.public final int downloadToByteArray(final byte[] buffer, final int bufferOffset, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

    27.public void downloadToFile(final String path)

    28.public void downloadToFile(final String path, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

下载。

    29.public final boolean exists()

    30.public final boolean exists(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

检查该blob是否存在。

    31.public String generateSharedAccessSignature(final SharedAccessBlobPolicy policy, final SharedAccessBlobHeaders headers, final String groupPolicyIdentifier)

使用指定的组策略标识符和操作上下文为blob返回共享访问签名。注意,这并不包含“?”。

    32.public final CloudBlobContainer getContainer()

    33.public CopyState getCopyState()

    34.public final HashMap<String, String> getMetadata()、public final void setMetadata(final HashMap<String, String> metadata)

blob的元数据。

    35.public final String getName()

    36.public final CloudBlobDirectory getParent()

    37.public final BlobProperties getProperties()、protected final void setProperties(final BlobProperties properties)

    38.public final StorageUri getQualifiedStorageUri()

返回此blob的快照和/或共享访问签名限定URI。

    39.public final URI getQualifiedUri()

返回此blob的快照或共享访问签名限定URI。

    40.public final CloudBlobClient getServiceClient()

返回与Blob关联的Blob服务客户端。

    41.public final String getSnapshotID()

    42.public final StorageUri getSnapshotQualifiedStorageUri()

将blob的URI返回到主位置和次要位置,如果blob是快照,则包括查询字符串信息。

    43.public final URI getSnapshotQualifiedUri()

向blob返回绝对URI,如果blob是快照,则包括查询字符串信息。

    44.public final StorageUri getStorageUri()

所有位置的uri列表。

    45.public final int getStreamMinimumReadSizeInBytes()、public void setStreamMinimumReadSizeInBytes(final int minimumReadSize)

使用BlobInputStream时的最小读取大小。

    46.public final int getStreamWriteSizeInBytes()、public abstract void setStreamWriteSizeInBytes(int streamWriteSizeInBytes)

写入BlobOutputStream(块和页面blobs)时要缓冲的字节数。

    47.public final URI getUri()

    48.public final boolean isSnapshot()

    49.public final BlobInputStream openInputStream()

    50.public final BlobInputStream openInputStream(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

打开一个blob输入流下载该blob。使用setStreamMinimumReadSizeInBytes(int)配置读取大小。

    51.public final void releaseLease(final AccessCondition accessCondition)

    52.public final void releaseLease(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

释放blob上的租约。

    53.public final void renewLease(final AccessCondition accessCondition)

    54.public final void renewLease(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

更新现有的租赁。

    55.public final String startCopy(final URI source)

请求服务开始将URI的内容、属性和元数据复制到新的blob。

    56.public final String startCopy(final URI source, final AccessCondition sourceAccessCondition, final AccessCondition destinationAccessCondition, BlobRequestOptions options, OperationContext opContext)

请求服务使用指定的访问条件、租用ID、请求选项和操作上下文,开始将URI的内容、属性和元数据复制到新的blob。

    57.public final void undelete()

取消删除一个blob及其所有已被软删除的快照。

    58.public final void undelete(BlobRequestOptions options, OperationContext opContext)

使用指定的请求选项和操作上下文删除已被软删除的blob。undelete Blob操作还原软删除的Blob及其所有快照的内容和元数据。尝试删除非软删除的blob或快照,将在没有任何更改的情况下成功。

    59.public abstract void upload(InputStream sourceStream, long length)

    60.public abstract void upload(InputStream sourceStream, long length, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

将源流数据上传至blob。如果blob已经存在于服务上,那么它将被覆盖。

    61.public void uploadFromByteArray(final byte[] buffer, final int offset, final int length)

    62.public void uploadFromByteArray(final byte[] buffer, final int offset, final int length, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

从字节数组中的数据上载blob。如果blob已经存在于服务上,那么它将被覆盖。

    63.public void uploadFromFile(final String path)

    64.public void uploadFromFile(final String path, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

从文件上载blob。如果blob已经存在于服务上,那么它将被覆盖。

    65.public final void uploadMetadata()

    66.public final void uploadMetadata(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

将blob的元数据上传至存储服务。使用CloudBlob#downloadAttributes检索来自Microsoft Azure存储服务的blob属性和元数据的最新值。

    

    67.public final void uploadProperties()

    68.public final void uploadProperties(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

将blob的属性更新到存储服务。使用CloudBlob#downloadAttributes从Microsoft Azure存储服务获取blob的属性和元数据的最新值。

Azure系列2.1.9 —— CloudBlob的更多相关文章

  1. 初码-Azure系列-迁移PHP应用至Azure的一些实践记录和思考

    最近客户在逐步迁移应用从阿里云到Azure,这次又轮到一个PHP+MySQL应用了,顺便也记一下流水账. 需求:迁移部署在阿里云上的ECS服务器(系列2,IO优化+2核4G+50G的SSD云盘+10M ...

  2. 初码-Azure系列-记一次MySQL数据库向Azure的迁移

    初码Azure系列文章目录 还在继续给客户迁移不同的系统到Azure,这一次是一个系统的MySQL数据库要迁移,将迁移过程记录一下 原系统环境 数据库版本:MySQL Community Editio ...

  3. 初码-Azure系列-文章目录

    系统迁移 初码-Azure系列-记一次MySQL数据库向Azure的迁移 初码-Azure系列-迁移PHP应用至Azure的一些实践记录和思考 初码-Azure系列-记一次从阿里云到Azure的迁移和 ...

  4. 初码-Azure系列-如何在控制面板中选择中文版操作系统

    之前在文章<初码-Azure系列-记一次从阿里云到Azure的迁移和部署>中说到,默认的Windows Server 2016操作系统是英文版,后来摸索出中文版的方法,如下:

  5. 初码-Azure系列-存储队列的使用与一个Azure小工具(蓝天助手)

    初码Azure系列文章目录 将消息队列技术模型简化,并打造成更适合互联网+与敏捷开发的云服务模式,好像已经是行业趋势,阿里云也在推荐使用消息服务(HTTP协议为主)而来替代消息队列(TCP协议.MQT ...

  6. 【初码干货】【Azure系列】1、再次感受Azure,体验Windows Server 2016并部署BlogEngine.NET

    上个月末,在某人的建议下,重新注册了一个1元试用账户(包含1个月期限的1500元订阅),并充值了1000元转为了正式账户,相当于1000元得到了2500的订阅,于是又一次开启了Azure之旅. 在这不 ...

  7. Azure系列2.1.13 —— CloudBlockBlob

    (小弟自学Azure,文中有不正确之处,请路过各位大神指正.) 网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少.这次由于公司项目需要使用Azure,所以对Azure的一些学习 ...

  8. Azure系列2.1.11 —— CloudBlobContainer

    (小弟自学Azure,文中有不正确之处,请路过各位大神指正.) 网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少.这次由于公司项目需要使用Azure,所以对Azure的一些学习 ...

  9. Azure系列2.1.4 —— BlobInputStream

    (小弟自学Azure,文中有不正确之处,请路过各位大神指正.) 网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少.这次由于公司项目需要使用Azure,所以对Azure的一些学习 ...

随机推荐

  1. 【Linux基础】tr命令替换和删除字符

    1.tr命令 tr可以对来自标准输入的字符进行替换.压缩和删除,可以将一组字符变成另外一组字符.通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能.您可以将 tr 看作为 sed 的(极其 ...

  2. Python requests模块解析XML

    检查QQ是否在线(api感觉不准) import requests from xml.etree import ElementTree qq_str = input('please input the ...

  3. Sqlite3并发读写注意事项

    最近项目中涉及到sqlite并发读写的问题,参考一些文档并结合自己的实践,对sqlite3并发问题总结了几点: sqlite3的锁及事务类型 sqlite3总共有三种事务类型:BEGIN [DEFER ...

  4. nfs+rsync备份

    我们先来做rsync 环境说明:1.操作系统:centos7 2.IP:192.168.7.226简称A&192.168.7.174 简称B 3.192.168.7.226做rsync的客户端 ...

  5. ubuntu18.04 pip换源 永久修改

    1. 创建pip.conf文件 cd ~/.pip 如果提示目录不存在的话,我们要自行创建一个,再进入目录 mkdir ~/.pip cd ~/.pip 在.pip目录下创建一个pip.conf文件 ...

  6. [HAOI2018]染色

    嘟嘟嘟 这题当时没想出来(因为本人实在不太擅长计数),然后又被luogu的第一篇题解吓怕了,就咕了一小段时间再写. 其实这题不是很难. 做法就是基础容斥+NTT. 首先出现\(S\)次的颜色最多有\( ...

  7. [CQOI2018]破解D-H协议

    嘟嘟嘟 这不就是个bsgs板儿嘛. 顺便就复习了一下bsgs和哈希表. 头一次觉得我的博客这么好用,一下就懂了:数论学习笔记之高次不定方程 这里再补充几点: 1.关于这一段代码: int S = sq ...

  8. 有时间研究一下Maven打包插件细节

    Maven工作分为多个阶段,具体阶段参考:https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html ...

  9. Home Assistant-自动化设备

    触发器(trigger) 条件(condition) 动作(action) 自动化中的模板(template) 触发器(trigger) 时间(time)触发器时间触发器在指定的时间触发规则,可以是某 ...

  10. Spring Security(二十一):6.3 Advanced Web Features

    6.3.1 Remember-Me Authentication (记住我的身份验证) See the separate Remember-Me chapter for information on ...