Azure系列2.1.13 —— CloudBlockBlob
?
(小弟自學(xué)Azure,文中有不正確之處,請(qǐng)路過(guò)各位大神指正。)
網(wǎng)上azure的資料較少,尤其是API,全是英文的,中文資料更是少之又少。這次由于公司項(xiàng)目需要使用Azure,所以對(duì)Azure的一些學(xué)習(xí)心得做下筆記,文中不正確地方請(qǐng)大家指正。
Azure Blob 存儲(chǔ)是用于存儲(chǔ)大量非結(jié)構(gòu)化對(duì)象數(shù)據(jù)(例如文本或二進(jìn)制數(shù)據(jù))的服務(wù),這些數(shù)據(jù)可通過(guò) HTTP 或 HTTPS 從世界各地進(jìn)行訪問(wèn)。 可以使用 Blob 存儲(chǔ)向外公開數(shù)據(jù),或者私下存儲(chǔ)應(yīng)用程序數(shù)據(jù)。
Blob 存儲(chǔ)的常見用途包括:
- 直接向?yàn)g覽器提供圖像或文檔
- 存儲(chǔ)文件以供分布式訪問(wèn)
- 對(duì)視頻和音頻進(jìn)行流式處理
- 存儲(chǔ)數(shù)據(jù)以用于備份和還原、災(zāi)難恢復(fù)及存檔
- 存儲(chǔ)數(shù)據(jù)以供本地或 Azure 托管服務(wù)執(zhí)行分析
?
Package
com.microsoft.azure.storage.blob
?
Mean
block blob。
?
Inherited?
java.lang.Object ——> ListBlobItem?——> CloudBlob?——> CloudBlockBlob
?
Constructors?
1、CloudBlockBlob(final CloudBlockBlob otherBlob)
2、CloudBlockBlob(final StorageUri blobAbsoluteUri)
3、CloudBlockBlob(final StorageUri blobAbsoluteUri, final StorageCredentials credentials)
4、CloudBlockBlob(final StorageUri blobAbsoluteUri, final String snapshotID, final StorageCredentials credentials)
5、CloudBlockBlob(final URI blobAbsoluteUri)
6、CloudBlockBlob(final URI blobAbsoluteUri, final StorageCredentials credentials)
7、CloudBlockBlob(final URI blobAbsoluteUri, final String snapshotID, final StorageCredentials credentials)
8、CloudBlockBlob(String blobName, String snapshotID, CloudBlobContainer container)
?
Method
1.public void commitBlockList(final Iterable<BlockEntry> blockList)
2.public void commitBlockList(final Iterable<BlockEntry> blockList, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)
使用指定的租賃ID、請(qǐng)求選項(xiàng)和操作上下文將塊列表提交給存儲(chǔ)服務(wù)。為了作為blob的一部分寫入,必須在之前的uploadBlock操作中成功地將塊寫入服務(wù)器。
?
3.public ArrayList<BlockEntry> downloadBlockList()
4.public ArrayList<BlockEntry> downloadBlockList(final BlockListingFilter blockListingFilter, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)
從塊blob下載提交的塊列表。提交塊列表包含已成功提交到塊blob的塊的列表。提交塊的列表以它們提交給blob的順序返回。在提交的塊列表中,沒(méi)有任何塊可能出現(xiàn)不止一次。
?
5.public String downloadText()
6.public String downloadText(final String charsetName, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)
使用平臺(tái)的默認(rèn)編碼將blob下載到字符串。
?
7.public boolean isStreamWriteSizeModified()
獲取指示是否修改了默認(rèn)streamWriteSize的標(biāo)志。
?
8.public BlobOutputStream openOutputStream()
創(chuàng)建并打開輸出流,將數(shù)據(jù)寫入塊blob。如果blob已經(jīng)存在于服務(wù)上,那么它將被覆蓋。為了避免重寫并拋出錯(cuò)誤,請(qǐng)使用openOutputStream(AccessCondition, BlobRequestOptions, OperationContext)重載帶有適當(dāng)?shù)?/span>AccessCondition。
9.public BlobOutputStream openOutputStream(AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)
創(chuàng)建并打開一個(gè)輸出流,使用指定的請(qǐng)求選項(xiàng)和操作上下文將數(shù)據(jù)寫入塊blob。如果blob已經(jīng)存在于服務(wù)上,那么它將被覆蓋。為了避免重寫并拋出錯(cuò)誤,請(qǐng)傳入使用AccessCondition#generateIfNotExistsCondition()生成的AccessCondition。
?
10.public void setStreamWriteSizeInBytes(final int streamWriteSizeInBytes)
在寫入BlobOutputStream時(shí)設(shè)置緩沖區(qū)的字節(jié)數(shù)。
?
11.public final String startCopy(final CloudBlockBlob sourceBlob)
12.public final String startCopy(final CloudBlockBlob sourceBlob, final AccessCondition sourceAccessCondition, final AccessCondition destinationAccessCondition, BlobRequestOptions options, OperationContext opContext)
13.public final String startCopy(final CloudFile sourceFile)
14.public final String startCopy(final CloudFile sourceFile, final AccessCondition sourceAccessCondition, final AccessCondition destinationAccessCondition, BlobRequestOptions options, OperationContext opContext)
請(qǐng)求服務(wù)開始將塊blob的內(nèi)容、屬性和元數(shù)據(jù)復(fù)制到新的塊blob。
?
15.public void upload(final InputStream sourceStream, final long length)
16.public void upload(final InputStream sourceStream, final long length, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)
將源流數(shù)據(jù)上傳到塊blob。如果blob已經(jīng)存在于服務(wù)上,那么它將被覆蓋。
?
17.public void uploadBlock(final String blockId, final InputStream sourceStream, final long length)
18.public void uploadBlock(final String blockId, final InputStream sourceStream, final long length, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)
使用指定的塊ID將提交的塊作為塊blob的一部分進(jìn)行上產(chǎn)。
?
19.protected final void uploadFullBlob(final InputStream sourceStream, final long length, final AccessCondition accessCondition, final BlobRequestOptions options, final OperationContext opContext)
在一個(gè)操作中上傳一個(gè)blob。
?
20.public void uploadStandardBlobTier(final StandardBlobTier standardBlobTier)
21.public void uploadStandardBlobTier(final StandardBlobTier standardBlobTier, BlobRequestOptions options, OperationContext opContext)
在標(biāo)準(zhǔn)存儲(chǔ)帳戶上的塊blob上設(shè)置blob層。
?
22.public void uploadText(final String content)
23.public void uploadText(final String content, final String charsetName, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)
使用平臺(tái)的默認(rèn)編碼從字符串上傳blob。如果blob已經(jīng)存在于服務(wù)上,那么它將被覆蓋。
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/DDgougou/p/9177402.html
總結(jié)
以上是生活随笔為你收集整理的Azure系列2.1.13 —— CloudBlockBlob的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Window open()使用方法
- 下一篇: 多线程基础知识了解一下