(小弟自学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. 合并两个有序数组的golang实现

    给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n. ...

  2. (转)springcloud(一):大话Spring Cloud

    http://www.ityouknow.com/springcloud/2017/05/01/simple-springcloud.html 研究了一段时间Spring Boot了准备向Spring ...

  3. 如何给30台centos7服务器分别增加相同的用户

    老大直接给了30台新鲜的生产服务器,要给每一台服务器增加一个用户,密码相同 难道我们要部署一个工具吗?这样对生产环境可能会产生影响,为了保证服务器的新鲜以及节约时间,研究了小半天,终于研究出一个不是很 ...

  4. 对tomcat7模拟并发请求及相关配置参数的含义

    这里的并不是真正的并发请求,因为for循环是间隔10毫秒,并且线程初始化也需要时间的,到真正执行http请求的时刻是不确定的.  tomcat 的运行状态可以在webapps下的manage项目查看, ...

  5. ssm框架的整合搭建(三)

    mybatis逆向工程工具类的使用---mybatis  generator 项目结构 配置文件 <?xml version="1.0" encoding="UTF ...

  6. 【js】鼠标跟随效果

    1.实现思想 ①鼠标跟随效果,发生在鼠标移动的时候,故需要使用onmousemove事件 ②当页面内容多于1屏时,就需要考虑滚动距离的问题 ③想实现鼠标跟随的效果需要: 元素的left位置 = 鼠标当 ...

  7. (四)surging 微服务框架使用系列之网关 转载

    一.什么是API网关 API网关是一个服务器,是系统对外的唯一入口.API网关封装了系统内部架构,为每个客户端提供一个定制的API.API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入 ...

  8. Django 分页器

    Django作为Python Web开发框架的一哥,提供了企业级网站开发所需要的几乎所有功能,其中就包括自带分页功能.利用Django自带的Paginator类,我们可以很轻松地实现分页.Django ...

  9. Java NIO3:缓冲区Buffer

    在上一篇中,我们介绍了NIO中的两个核心对象:缓冲区和通道,在谈到缓冲区时,我们说缓冲区对象本质上是一个数组,但它其实是一个特殊的数组,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况,如 ...

  10. idea 2018.1 for mac JRebel破解

    第一步: 在 Idea 中下载 Jrebel 路径:preferences-plugins-Browse repositories-直接搜索下载 Jrebel   第二步:配置反向代理工具 1.安装 ...