(小弟自学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. IOC注解开发与XML整合

    区别: xml:可以适用于任何场景,结构清晰,方便维护 注解:开发方便,快速.有些地方适用不了,这个类不是自己提供的(比如源码提供的类) xml和注解整合开发,各取所长 xml使用于对bean进行管理 ...

  2. 【Window Power Shell】介绍与使用

    Windows PowerShell 是专为系统管理员设计的新 Windows 命令行脚本环境,主要实现系统和应用程序管理自动化. 1.发展历史 在2002年,微软开始研究一个新的产品叫做”Monad ...

  3. (转)Geoserver基础配图研究

    https://blog.csdn.net/zbcx_ZGIS/article/details/82216151 1面图层配图 1.1基本框架 这个是geoserver默认的polygon的代码,我们 ...

  4. 设计模式のNullObjectPattern(空对象模式)----行为模式

    一.产生背景 在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查.Null 对象不是检查空值,而是反应一个不做任何动作的关系.这样的 Null 对象也可 ...

  5. ansible-playbook 进行批量安装tomcat8

    ansible-playbook 进行安装tomcat操作 说明: get_url  中下载的内容直接到目的主机 安装的时候需要指定copy: no,说明需直接从目标主机进行安装包 [root@ans ...

  6. P2440 木材加工(二分+贪心)

    思路:这里就要看往那边贪心了,因为解决的是最大值最小化,最小值最大化.也就是说当满足大于等于c时,l=mid+1这样的二分得到的就是在所有满足条件函数下的最右端. #include<iostre ...

  7. 微信硬件平台(七) 设备控制控制面板-网页sokect-mqtt长连接

    给微信硬件设备添加我们自己的控制面板. 主要问题: 1 要保证长连接,这样面板可以实时交互阴间设备,http一次性的连接模式通信不行. 面板必须是网页化的,网页就可以操作交互.不用APP和小程序. 2 ...

  8. CDB与PDB之间的切换方法

    Oracle 12c 开始支持 PLUGGABLE DATABASE,并且提供了一个方法在CDB和PDB之间切换. 1. 使用 show pdbs 可以确认当前有哪些PDB? SQL> show ...

  9. ORA-27154: post/wait create failed ORA-27300 ORA-27301 ORA-27302

    今天刚装了Oracle 11g,配制好了之后启动数据库时遇到下面的错误:SQL> startupORA-27154: post/wait create failedORA-27300: OS s ...

  10. 重置 Mac 上的 NVRAM 或 PRAM

    https://support.apple.com/zh-cn/HT204063 如果 Mac 出现了与 NVRAM 或 PRAM 中储存的设置有关的问题,那么进行重置可能会有帮助.   NVRAM( ...