PageBlobClient class
PageBlobClient 會定義一組適用于分頁 Blob 的作業。
- Extends
建構函式
Page |
建立 PageBlobClient 的實例。 |
Page |
建立 PageBlobClient 的實例。 此方法接受指向 Blob 的編碼 URL 或非編碼 URL。 編碼的 URL 字串不會逸出兩次,只會逸出 URL 路徑中的特殊字元。 如果 Blob 名稱包含 ? 或 %blob 名稱必須在 URL 中編碼。 |
Page |
建立 PageBlobClient 的實例。 |
屬性
container |
與 Blob 相關聯之儲存體容器的名稱。 |
name | Blob 的名稱。 |
繼承的屬性
account |
|
credential | 例如 AnonymousCredential、StorageSharedKeyCredential 或任何來自套件的 |
url | 編碼的 URL 字串值。 |
方法
clear |
從分頁 Blob 釋放指定的頁面。 請參閱https://docs.microsoft.com/rest/api/storageservices/put-page |
create(number, Page |
建立指定長度的分頁 Blob。 呼叫 uploadPages 將資料上傳至分頁 Blob。 請參閱https://docs.microsoft.com/rest/api/storageservices/put-blob |
create |
建立指定長度的分頁 Blob。 呼叫 uploadPages 將資料上傳至分頁 Blob。 如果具有相同名稱的 Blob 已經存在,則現有 Blob 的內容會保持不變。 請參閱https://docs.microsoft.com/rest/api/storageservices/put-blob |
get |
傳回分頁 Blob 或分頁 Blob 快照集的有效頁面範圍清單。 請參閱https://docs.microsoft.com/rest/api/storageservices/get-page-ranges |
get |
取得指定快照集與這個分頁 Blob 之間不同之頁面範圍的集合。 請參閱https://docs.microsoft.com/rest/api/storageservices/get-page-ranges |
get |
取得指定快照集與受控磁片這個分頁 Blob 之間差異的頁面範圍集合。 請參閱https://docs.microsoft.com/rest/api/storageservices/get-page-ranges |
list |
傳回非同步反覆運算器,以列出分頁 Blob 的頁面範圍。 請參閱https://docs.microsoft.com/rest/api/storageservices/get-page-ranges .byPage () 會傳回非同步反覆運算器,以列出分頁 Blob 的頁面範圍。 使用語法的
使用
使用
搭配標記使用分頁的範例:
|
list |
傳回非同步反覆運算器,以列出指定快照集和這個分頁 Blob 之間不同的頁面範圍清單。 請參閱https://docs.microsoft.com/rest/api/storageservices/get-page-ranges .byPage () 會傳回非同步反覆運算器,以列出指定快照集與此頁面 Blob 之間不同的頁面範圍清單。 使用語法的
使用
使用
搭配標記使用分頁的範例:
|
resize(number, Page |
將分頁 Blob 大小調整為指定的大小 (,必須是 512) 的倍數。 請參閱https://docs.microsoft.com/rest/api/storageservices/set-blob-properties |
start |
開始作業,以從單一分頁 Blob 的快照集開始累加複製至這個分頁 Blob。 系統會複製快照集,如此一來,只會將先前複製快照集之間的差異變更傳送至目的地。 複製的快照集是原始快照集的完整複本,而且可以像往常一樣讀取或複製。 請參閱請參閱 https://docs.microsoft.com/rest/api/storageservices/incremental-copy-blobhttps://docs.microsoft.com/en-us/azure/virtual-machines/windows/incremental-snapshots |
update |
設定分頁 Blob 的序號。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties |
upload |
將 1 或多個頁面寫入分頁 Blob。 開始和結束位移必須是 512 的倍數。 請參閱https://docs.microsoft.com/rest/api/storageservices/put-page |
upload |
上傳頁面作業會將頁面範圍寫入至從 URL 讀取內容的分頁 Blob。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/put-page-from-url |
with |
建立與來源相同的新 PageBlobClient 物件,但具有指定的快照集時間戳記。 提供 「」 會移除快照集,並將用戶端傳回基底 Blob。 |
繼承的方法
abort |
中止暫止的非同步複製 Blob 作業,並保留長度為零和完整中繼資料的目的地 Blob。 2012-02-12 版及更新版本。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/abort-copy-blob |
begin |
以非同步方式將 Blob 複製到儲存體帳戶內的目的地。
這個方法會傳回長時間執行的作業輪詢器,可讓您無限期等候直到複本完成為止。
您也可以在輪詢器上呼叫 在 2012-02-12 版和更新版本中,複製 Blob 作業的來源可以是任何 Azure 儲存體帳戶中的認可 Blob。 從 2015-02-21 版開始,複製 Blob 作業的來源可以是任何 Azure 儲存體帳戶中的 Azure 檔案。 只有在 2012 年 6 月 7 日當天或之後所建立的儲存體帳戶,才可讓您在執行複製 Blob 作業時從另一個儲存體帳戶複製 Blob。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob 使用自動輪詢的範例:
使用手動輪詢的範例:
使用進度更新的範例:
使用變更輪詢間隔的範例 (預設為 15 秒) :
使用複製取消的範例:
|
create |
建立 Blob 的唯讀快照集。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/snapshot-blob |
delete(Blob |
標記要刪除的指定 Blob 或快照集。 Blob 稍後會在記憶體回收時刪除。 請注意,若要刪除 Blob,您必須刪除其所有快照集。 您可以使用刪除 Blob 作業同時刪除這兩者。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob |
delete |
標記指定的 Blob 或快照集,如果存在,則為刪除。 Blob 稍後會在記憶體回收時刪除。 請注意,若要刪除 Blob,您必須刪除其所有快照集。 您可以使用刪除 Blob 作業同時刪除這兩者。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob |
delete |
刪除 Blob 上的不固定原則。 |
download(number, number, Blob |
從系統讀取或下載 Blob,包括其中繼資料和屬性。 您也可以呼叫取得 Blob 來讀取快照集。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob |
download |
僅適用于NODE.JS執行時間。 平行下載 Azure Blob 至緩衝區。 位移和計數是選擇性的,如果未提供,則會下載整個 Blob。 警告:緩衝區只能在 32 位系統上支援大約一 GB 的檔案,或 64 位系統上大約兩 GB,因為Node.js/V8 的限制。 對於大於此大小的 Blob,請考慮 downloadToFile。 |
download |
僅適用于NODE.JS執行時間。 平行下載 Azure Blob 至緩衝區。 位移和計數是選擇性的,如果未提供,則會下載整個 Blob。 警告:緩衝區只能在 32 位系統上支援大約一 GB 的檔案,或 64 位系統上大約兩 GB,因為Node.js/V8 的限制。 對於大於此大小的 Blob,請考慮 downloadToFile。 |
download |
僅適用于NODE.JS執行時間。 將 Azure Blob 下載至本機檔案。 如果指定的檔案路徑已經結束,就會失敗。 位移和計數是選擇性的,分別傳遞 0 和未定義,以下載整個 Blob。 |
exists(Blob |
如果此用戶端所代表的 Azure Blob 資源存在,則傳回 true;否則為 false。 注意:請小心使用此函式,因為其他用戶端或應用程式可能會刪除現有的 Blob。 反之亦然,此函式完成後,其他用戶端或應用程式可能會新增新的 Blob。 |
generate |
僅適用于使用共用金鑰認證建構的 BlobClient。 根據傳入的用戶端屬性和參數,產生 Blob 服務共用存取簽章 (SAS) URI。 SAS 是由用戶端的共用金鑰認證所簽署。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas |
get |
建立 AppendBlobClient 物件。 |
get |
取得管理 Blob 上租用的 BlobLeaseClient 。 |
get |
建立 BlockBlobClient 物件。 |
get |
建立 PageBlobClient 物件。 |
get |
傳回 Blob 之所有使用者定義的中繼資料、標準 HTTP 屬性及系統屬性。 但不會傳回 Blob 的內容。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-properties 警告: |
get |
取得與基礎 Blob 相關聯的標記。 |
set |
設定 Blob 上的層。 在進階儲存體帳戶中的分頁 Blob 和 Blob 儲存體帳戶中的區塊 Blob 上,允許此作業 (本機備援儲存體) 。 進階分頁 Blob 的層會決定 Blob 允許的大小、IOPS 和頻寬。 區塊 Blob 的層會決定經常性存取/非經常性存取/封存儲存體類型。 這項作業不會更新 Blob 的 ETag。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-tier |
set |
在 Blob 上設定系統屬性。 如果未提供任何值,或未針對指定的 Blob HTTP 標頭提供任何值,則會清除沒有值的這些 Blob HTTP 標頭。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties |
set |
在 Blob 上設定不可變原則。 |
set |
在 Blob 上設定法律保留。 |
set |
將指定 Blob 的使用者定義中繼資料設為一或多個名稱/值配對。 如果未提供任何選項,或參數中未定義任何中繼資料,將會移除 Blob 中繼資料。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-metadata |
set |
設定基礎 Blob 上的標記。 Blob 最多可以有 10 個標記。 標籤索引鍵必須介於 1 到 128 個字元之間。 標籤值必須介於 0 到 256 個字元之間。 有效的標籤索引鍵和值字元包括小寫字母和大寫字母、數位 (0-9) 、空格 (' ') ,加上 ('+') 、減 ('-') 、句點 ('。') 、正斜線 ('/') 、冒號 (':') 、等於 ('=') ,以及底線 ('_') 。 |
sync |
同步複製來源 URL 作業會將 Blob 或網際網路資源複製到新的 Blob。 在複本完成之前,它不會傳迴響應。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob-from-url |
undelete(Blob |
還原虛刪除 Blob 的內容和中繼資料,以及任何相關聯的虛刪除快照集。 只有 2017-07-29 版或更新版本才支援取消刪除 Blob。 請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/undelete-blob |
with |
建立指向此 Blob 版本的新 BlobClient 物件。 提供 「」 會移除 versionId,並將用戶端傳回至基底 Blob。 |
建構函式詳細資料
PageBlobClient(string, PipelineLike)
建立 PageBlobClient 的實例。
new PageBlobClient(url: string, pipeline: PipelineLike)
參數
- url
-
string
指向 Azure 儲存體分頁 Blob 的 URL 字串,例如 「 https://myaccount.blob.core.windows.net/mycontainer/pageblob" ;。 如果使用 AnonymousCredential,您可以附加 SAS,例如 「 https://myaccount.blob.core.windows.net/mycontainer/pageblob?sasString" ;。 此方法接受指向 Blob 的編碼 URL 或非編碼 URL。 編碼的 URL 字串不會逸出兩次,只會逸出 URL 路徑中的特殊字元。 不過,如果 Blob 名稱包含 ? 或 %blob 名稱必須在 URL 中編碼。 例如名為 「my?blob%」 的 Blob,URL 應該是 「 https://myaccount.blob.core.windows.net/mycontainer/my%3Fblob%25" ;。
- pipeline
- PipelineLike
呼叫 newPipeline () 以建立預設管線,或提供自訂管線。
PageBlobClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)
建立 PageBlobClient 的實例。 此方法接受指向 Blob 的編碼 URL 或非編碼 URL。 編碼的 URL 字串不會逸出兩次,只會逸出 URL 路徑中的特殊字元。 如果 Blob 名稱包含 ? 或 %blob 名稱必須在 URL 中編碼。
new PageBlobClient(url: string, credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)
參數
- url
-
string
指向 Azure 儲存體分頁 Blob 的用戶端字串,例如 「 https://myaccount.blob.core.windows.net/mycontainer/pageblob" ;。 如果使用 AnonymousCredential,您可以附加 SAS,例如 「 https://myaccount.blob.core.windows.net/mycontainer/pageblob?sasString" ;。
- credential
-
StorageSharedKeyCredential | AnonymousCredential | TokenCredential
例如 AnonymousCredential、StorageSharedKeyCredential 或任何來自封裝的 @azure/identity
認證,以驗證對服務的要求。 您也可以提供實作 TokenCredential 介面的物件。 如果未指定,則會使用 AnonymousCredential。
- options
- StoragePipelineOptions
選擇性。 設定 HTTP 管線的選項。
PageBlobClient(string, string, string, StoragePipelineOptions)
建立 PageBlobClient 的實例。
new PageBlobClient(connectionString: string, containerName: string, blobName: string, options?: StoragePipelineOptions)
參數
- connectionString
-
string
帳戶連接字串或 Azure 儲存體帳戶的 SAS 連接字串。
[ 注意 - 帳戶連接字串只能用於NODE.JS執行時間。 ] 帳戶連接字串範例 -DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net
SAS 連接字串範例 - BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString
- containerName
-
string
容器名稱。
- blobName
-
string
Blob 名稱。
- options
- StoragePipelineOptions
選擇性。 設定 HTTP 管線的選項。
屬性詳細資料
containerName
與 Blob 相關聯之儲存體容器的名稱。
string containerName
屬性值
string
name
Blob 的名稱。
string name
屬性值
string
繼承的屬性詳細資料
accountName
credential
例如 AnonymousCredential、StorageSharedKeyCredential 或任何來自套件的 @azure/identity
認證,以驗證對服務的要求。 您也可以提供實作 TokenCredential 介面的物件。 如果未指定,則會使用 AnonymousCredential。
credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential
屬性值
url
方法詳細資料
clearPages(number, number, PageBlobClearPagesOptions)
從分頁 Blob 釋放指定的頁面。
請參閱https://docs.microsoft.com/rest/api/storageservices/put-page
function clearPages(offset?: number, count?: number, options?: PageBlobClearPagesOptions): Promise<PageBlobClearPagesResponse>
參數
- offset
-
number
要清除的頁面起始位元組位置。
- count
-
number
要清除的位元組數目。
- options
- PageBlobClearPagesOptions
分頁 Blob 清除分頁作業的選項。
傳回
Promise<PageBlobClearPagesResponse>
分頁 Blob 清除分頁作業的回應資料。
create(number, PageBlobCreateOptions)
建立指定長度的分頁 Blob。 呼叫 uploadPages 將資料上傳至分頁 Blob。
請參閱https://docs.microsoft.com/rest/api/storageservices/put-blob
function create(size: number, options?: PageBlobCreateOptions): Promise<PageBlobCreateResponse>
參數
- size
-
number
分頁 Blob 的大小。
- options
- PageBlobCreateOptions
分頁 Blob 建立作業的選項。
傳回
Promise<PageBlobCreateResponse>
分頁 Blob 建立作業的回應資料。
createIfNotExists(number, PageBlobCreateIfNotExistsOptions)
建立指定長度的分頁 Blob。 呼叫 uploadPages 將資料上傳至分頁 Blob。 如果具有相同名稱的 Blob 已經存在,則現有 Blob 的內容會保持不變。
請參閱https://docs.microsoft.com/rest/api/storageservices/put-blob
function createIfNotExists(size: number, options?: PageBlobCreateIfNotExistsOptions): Promise<PageBlobCreateIfNotExistsResponse>
參數
- size
-
number
分頁 Blob 的大小。
- options
- PageBlobCreateIfNotExistsOptions
傳回
Promise<PageBlobCreateIfNotExistsResponse>
getPageRanges(number, number, PageBlobGetPageRangesOptions)
傳回分頁 Blob 或分頁 Blob 快照集的有效頁面範圍清單。
請參閱https://docs.microsoft.com/rest/api/storageservices/get-page-ranges
function getPageRanges(offset?: number, count?: number, options?: PageBlobGetPageRangesOptions): Promise<PageBlobGetPageRangesResponse>
參數
- offset
-
number
頁面範圍的起始位元組位置。
- count
-
number
要取得的位元組數目。
- options
- PageBlobGetPageRangesOptions
分頁 Blob 取得範圍作業的選項。
傳回
Promise<PageBlobGetPageRangesResponse>
分頁 Blob 取得範圍作業的回應資料。
getPageRangesDiff(number, number, string, PageBlobGetPageRangesDiffOptions)
取得指定快照集與這個分頁 Blob 之間不同之頁面範圍的集合。
請參閱https://docs.microsoft.com/rest/api/storageservices/get-page-ranges
function getPageRangesDiff(offset: number, count: number, prevSnapshot: string, options?: PageBlobGetPageRangesDiffOptions): Promise<PageBlobGetPageRangesDiffResponse>
參數
- offset
-
number
分頁 Blob 的起始位元組位置
- count
-
number
要取得範圍差異的位元組數目。
- prevSnapshot
-
string
擷取差異的快照集時間戳記。
- options
- PageBlobGetPageRangesDiffOptions
分頁 Blob 取得頁面範圍差異作業的選項。
傳回
Promise<PageBlobGetPageRangesDiffResponse>
分頁 Blob 取得頁面範圍差異作業的回應資料。
getPageRangesDiffForManagedDisks(number, number, string, PageBlobGetPageRangesDiffOptions)
取得指定快照集與受控磁片這個分頁 Blob 之間差異的頁面範圍集合。
請參閱https://docs.microsoft.com/rest/api/storageservices/get-page-ranges
function getPageRangesDiffForManagedDisks(offset: number, count: number, prevSnapshotUrl: string, options?: PageBlobGetPageRangesDiffOptions): Promise<PageBlobGetPageRangesDiffResponse>
參數
- offset
-
number
分頁 Blob 的起始位元組位置
- count
-
number
要取得範圍差異的位元組數目。
- prevSnapshotUrl
-
string
擷取差異的快照集 URL。
- options
- PageBlobGetPageRangesDiffOptions
分頁 Blob 取得頁面範圍差異作業的選項。
傳回
Promise<PageBlobGetPageRangesDiffResponse>
分頁 Blob 取得頁面範圍差異作業的回應資料。
listPageRanges(number, number, PageBlobListPageRangesOptions)
傳回非同步反覆運算器,以列出分頁 Blob 的頁面範圍。
請參閱https://docs.microsoft.com/rest/api/storageservices/get-page-ranges
.byPage () 會傳回非同步反覆運算器,以列出分頁 Blob 的頁面範圍。
使用語法的 for await
範例:
// Get the pageBlobClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>").getPageBlobClient("<your-blob-name>");`
let i = 1;
for await (const pageRange of pageBlobClient.listPageRanges()) {
console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
使用 iter.next()
的範例:
let i = 1;
let iter = pageBlobClient.listPageRanges();
let pageRangeItem = await iter.next();
while (!pageRangeItem.done) {
console.log(`Page range ${i++}: ${pageRangeItem.value.start} - ${pageRangeItem.value.end}, IsClear: ${pageRangeItem.value.isClear}`);
pageRangeItem = await iter.next();
}
使用 byPage()
的範例:
// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
for (const pageRange of response) {
console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
}
搭配標記使用分頁的範例:
let i = 1;
let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;
// Prints 2 page ranges
for (const pageRange of response) {
console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;
// Prints 10 page ranges
for (const blob of response) {
console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
function listPageRanges(offset?: number, count?: number, options?: PageBlobListPageRangesOptions): PagedAsyncIterableIterator<PageRangeInfo, PageBlobGetPageRangesResponseModel, PageSettings>
參數
- offset
-
number
頁面範圍的起始位元組位置。
- count
-
number
要取得的位元組數目。
- options
- PageBlobListPageRangesOptions
分頁 Blob 取得範圍作業的選項。
傳回
支援分頁的 asyncIterableIterator。
listPageRangesDiff(number, number, string, PageBlobListPageRangesDiffOptions)
傳回非同步反覆運算器,以列出指定快照集和這個分頁 Blob 之間不同的頁面範圍清單。
請參閱https://docs.microsoft.com/rest/api/storageservices/get-page-ranges
.byPage () 會傳回非同步反覆運算器,以列出指定快照集與此頁面 Blob 之間不同的頁面範圍清單。
使用語法的 for await
範例:
// Get the pageBlobClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>").getPageBlobClient("<your-blob-name>");`
let i = 1;
for await (const pageRange of pageBlobClient.listPageRangesDiff()) {
console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
使用 iter.next()
的範例:
let i = 1;
let iter = pageBlobClient.listPageRangesDiff();
let pageRangeItem = await iter.next();
while (!pageRangeItem.done) {
console.log(`Page range ${i++}: ${pageRangeItem.value.start} - ${pageRangeItem.value.end}, IsClear: ${pageRangeItem.value.isClear}`);
pageRangeItem = await iter.next();
}
使用 byPage()
的範例:
// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of pageBlobClient.listPageRangesDiff().byPage({ maxPageSize: 20 })) {
for (const pageRange of response) {
console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
}
搭配標記使用分頁的範例:
let i = 1;
let iterator = pageBlobClient.listPageRangesDiff().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;
// Prints 2 page ranges
for (const pageRange of response) {
console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = pageBlobClient.listPageRangesDiff().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;
// Prints 10 page ranges
for (const blob of response) {
console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
function listPageRangesDiff(offset: number, count: number, prevSnapshot: string, options?: PageBlobListPageRangesDiffOptions): PagedAsyncIterableIterator<PageRangeInfo, PageBlobGetPageRangesDiffResponseModel, PageSettings>
參數
- offset
-
number
頁面範圍的起始位元組位置。
- count
-
number
要取得的位元組數目。
- prevSnapshot
-
string
擷取差異的快照集時間戳記。
分頁 Blob 取得範圍作業的選項。
傳回
支援分頁的 asyncIterableIterator。
resize(number, PageBlobResizeOptions)
將分頁 Blob 大小調整為指定的大小 (,必須是 512) 的倍數。
請參閱https://docs.microsoft.com/rest/api/storageservices/set-blob-properties
function resize(size: number, options?: PageBlobResizeOptions): Promise<PageBlobResizeResponse>
參數
- size
-
number
目標大小
- options
- PageBlobResizeOptions
分頁 Blob 調整大小作業的選項。
傳回
Promise<PageBlobResizeResponse>
分頁 Blob 調整大小作業的回應資料。
startCopyIncremental(string, PageBlobStartCopyIncrementalOptions)
開始作業,以從單一分頁 Blob 的快照集開始累加複製至這個分頁 Blob。 系統會複製快照集,如此一來,只會將先前複製快照集之間的差異變更傳送至目的地。 複製的快照集是原始快照集的完整複本,而且可以像往常一樣讀取或複製。
請參閱請參閱 https://docs.microsoft.com/rest/api/storageservices/incremental-copy-blobhttps://docs.microsoft.com/en-us/azure/virtual-machines/windows/incremental-snapshots
function startCopyIncremental(copySource: string, options?: PageBlobStartCopyIncrementalOptions): Promise<PageBlobCopyIncrementalResponse>
參數
- copySource
-
string
指定來源分頁 Blob 快照集的名稱。 例如, https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
分頁 Blob 複製累加作業的選項。
傳回
Promise<PageBlobCopyIncrementalResponse>
分頁 Blob 複製累加作業的回應資料。
updateSequenceNumber(SequenceNumberActionType, number, PageBlobUpdateSequenceNumberOptions)
設定分頁 Blob 的序號。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties
function updateSequenceNumber(sequenceNumberAction: SequenceNumberActionType, sequenceNumber?: number, options?: PageBlobUpdateSequenceNumberOptions): Promise<PageBlobUpdateSequenceNumberResponse>
參數
- sequenceNumberAction
- SequenceNumberActionType
指出服務應該如何修改 Blob 的序號。
- sequenceNumber
-
number
如果 sequenceNumberAction 為 max 或 update,則為必要項
分頁 Blob 更新序號作業的選項。
傳回
Promise<PageBlobUpdateSequenceNumberResponse>
分頁 Blob 更新序號作業的回應資料。
uploadPages(HttpRequestBody, number, number, PageBlobUploadPagesOptions)
將 1 或多個頁面寫入分頁 Blob。 開始和結束位移必須是 512 的倍數。
請參閱https://docs.microsoft.com/rest/api/storageservices/put-page
function uploadPages(body: HttpRequestBody, offset: number, count: number, options?: PageBlobUploadPagesOptions): Promise<PageBlobUploadPagesResponse>
參數
- body
- HttpRequestBody
要上傳的資料
- offset
-
number
目的地分頁 Blob 的位移
- count
-
number
本文的內容長度,以及要上傳的位元組數目
- options
- PageBlobUploadPagesOptions
分頁 Blob 上傳頁面作業的選項。
傳回
Promise<PageBlobUploadPagesResponse>
分頁 Blob 上傳頁面作業的回應資料。
uploadPagesFromURL(string, number, number, number, PageBlobUploadPagesFromURLOptions)
上傳頁面作業會將頁面範圍寫入至從 URL 讀取內容的分頁 Blob。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/put-page-from-url
function uploadPagesFromURL(sourceURL: string, sourceOffset: number, destOffset: number, count: number, options?: PageBlobUploadPagesFromURLOptions): Promise<PageBlobUploadPagesFromURLResponse>
參數
- sourceURL
-
string
指定複製來源的 URL、共用存取簽章 (SAS) 可能需要進行驗證
- sourceOffset
-
number
要複製的來源位移。 傳遞 0 以從來源分頁 Blob 開頭複製
- destOffset
-
number
目的地分頁 Blob 的位移
- count
-
number
要從來源分頁 Blob 上傳的位元組數目
傳回
Promise<PageBlobUploadPagesFromURLResponse>
withSnapshot(string)
建立與來源相同的新 PageBlobClient 物件,但具有指定的快照集時間戳記。 提供 「」 會移除快照集,並將用戶端傳回基底 Blob。
function withSnapshot(snapshot: string): PageBlobClient
參數
- snapshot
-
string
快照時間戳記。
傳回
新的 PageBlobClient 物件與來源相同,但具有指定的快照時間戳記。
繼承的方法的詳細資料
abortCopyFromURL(string, BlobAbortCopyFromURLOptions)
中止暫止的非同步複製 Blob 作業,並保留長度為零和完整中繼資料的目的地 Blob。 2012-02-12 版及更新版本。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/abort-copy-blob
function abortCopyFromURL(copyId: string, options?: BlobAbortCopyFromURLOptions): Promise<BlobAbortCopyFromURLResponse>
參數
- copyId
-
string
複製來源 URL 作業的識別碼。
- options
- BlobAbortCopyFromURLOptions
Blob 中止複製 URL 作業的選擇性選項。
傳回
Promise<BlobAbortCopyFromURLResponse>
beginCopyFromURL(string, BlobBeginCopyFromURLOptions)
以非同步方式將 Blob 複製到儲存體帳戶內的目的地。
這個方法會傳回長時間執行的作業輪詢器,可讓您無限期等候直到複本完成為止。
您也可以在輪詢器上呼叫 cancelOperation
,在複本完成之前先取消複本。
請注意,如果作業在第一個要求中完成,而且嘗試取消已完成的複本會導致擲回錯誤,將不會叫用 onProgress 回呼。
在 2012-02-12 版和更新版本中,複製 Blob 作業的來源可以是任何 Azure 儲存體帳戶中的認可 Blob。 從 2015-02-21 版開始,複製 Blob 作業的來源可以是任何 Azure 儲存體帳戶中的 Azure 檔案。 只有在 2012 年 6 月 7 日當天或之後所建立的儲存體帳戶,才可讓您在執行複製 Blob 作業時從另一個儲存體帳戶複製 Blob。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob
使用自動輪詢的範例:
const copyPoller = await blobClient.beginCopyFromURL('url');
const result = await copyPoller.pollUntilDone();
使用手動輪詢的範例:
const copyPoller = await blobClient.beginCopyFromURL('url');
while (!poller.isDone()) {
await poller.poll();
}
const result = copyPoller.getResult();
使用進度更新的範例:
const copyPoller = await blobClient.beginCopyFromURL('url', {
onProgress(state) {
console.log(`Progress: ${state.copyProgress}`);
}
});
const result = await copyPoller.pollUntilDone();
使用變更輪詢間隔的範例 (預設為 15 秒) :
const copyPoller = await blobClient.beginCopyFromURL('url', {
intervalInMs: 1000 // poll blob every 1 second for copy progress
});
const result = await copyPoller.pollUntilDone();
使用複製取消的範例:
const copyPoller = await blobClient.beginCopyFromURL('url');
// cancel operation after starting it.
try {
await copyPoller.cancelOperation();
// calls to get the result now throw PollerCancelledError
await copyPoller.getResult();
} catch (err) {
if (err.name === 'PollerCancelledError') {
console.log('The copy was cancelled.');
}
}
function beginCopyFromURL(copySource: string, options?: BlobBeginCopyFromURLOptions): Promise<PollerLikeWithCancellation<PollOperationState<BlobBeginCopyFromURLResponse>, BlobBeginCopyFromURLResponse>>
參數
- copySource
-
string
來源 Azure Blob/檔案的 URL。
- options
- BlobBeginCopyFromURLOptions
Blob 開始從 URL 複製作業的選擇性選項。
傳回
createSnapshot(BlobCreateSnapshotOptions)
建立 Blob 的唯讀快照集。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/snapshot-blob
function createSnapshot(options?: BlobCreateSnapshotOptions): Promise<BlobCreateSnapshotResponse>
參數
- options
- BlobCreateSnapshotOptions
Blob 建立快照集作業的選擇性選項。
傳回
Promise<BlobCreateSnapshotResponse>
delete(BlobDeleteOptions)
標記要刪除的指定 Blob 或快照集。 Blob 稍後會在記憶體回收時刪除。 請注意,若要刪除 Blob,您必須刪除其所有快照集。 您可以使用刪除 Blob 作業同時刪除這兩者。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob
function delete(options?: BlobDeleteOptions): Promise<BlobDeleteResponse>
參數
- options
- BlobDeleteOptions
Blob 刪除作業的選擇性選項。
傳回
Promise<BlobDeleteResponse>
deleteIfExists(BlobDeleteOptions)
標記指定的 Blob 或快照集,如果存在,則為刪除。 Blob 稍後會在記憶體回收時刪除。 請注意,若要刪除 Blob,您必須刪除其所有快照集。 您可以使用刪除 Blob 作業同時刪除這兩者。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob
function deleteIfExists(options?: BlobDeleteOptions): Promise<BlobDeleteIfExistsResponse>
參數
- options
- BlobDeleteOptions
Blob 刪除作業的選擇性選項。
傳回
Promise<BlobDeleteIfExistsResponse>
deleteImmutabilityPolicy(BlobDeleteImmutabilityPolicyOptions)
刪除 Blob 上的不固定原則。
function deleteImmutabilityPolicy(options?: BlobDeleteImmutabilityPolicyOptions): Promise<BlobDeleteImmutabilityPolicyResponse>
參數
在 Blob 上刪除不變性原則的選擇性選項。
傳回
Promise<BlobDeleteImmutabilityPolicyResponse>
download(number, number, BlobDownloadOptions)
從系統讀取或下載 Blob,包括其中繼資料和屬性。 您也可以呼叫取得 Blob 來讀取快照集。
- 在 Node.js 中,資料會傳回可讀取資料流程 readableStreamBody
- 在瀏覽器中,資料會在 promise blobBody 中傳回
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob
function download(offset?: number, count?: number, options?: BlobDownloadOptions): Promise<BlobDownloadResponseParsed>
參數
- offset
-
number
要下載的 Blob 位置,大於或等於 0
- count
-
number
要下載的資料量大於 0。 會在未定義時下載至結尾
- options
- BlobDownloadOptions
Blob 下載作業的選擇性選項。
範例使用方式 (Node.js) :
// Download and convert a blob to a string
const downloadBlockBlobResponse = await blobClient.download();
const downloaded = await streamToBuffer(downloadBlockBlobResponse.readableStreamBody);
console.log("Downloaded blob content:", downloaded.toString());
async function streamToBuffer(readableStream) {
return new Promise((resolve, reject) => {
const chunks = [];
readableStream.on("data", (data) => {
chunks.push(data instanceof Buffer ? data : Buffer.from(data));
});
readableStream.on("end", () => {
resolve(Buffer.concat(chunks));
});
readableStream.on("error", reject);
});
}
瀏覽器) 的範例使用方式 (:
// Download and convert a blob to a string
const downloadBlockBlobResponse = await blobClient.download();
const downloaded = await blobToString(await downloadBlockBlobResponse.blobBody);
console.log(
"Downloaded blob content",
downloaded
);
async function blobToString(blob: Blob): Promise<string> {
const fileReader = new FileReader();
return new Promise<string>((resolve, reject) => {
fileReader.onloadend = (ev: any) => {
resolve(ev.target!.result);
};
fileReader.onerror = reject;
fileReader.readAsText(blob);
});
}
傳回
Promise<BlobDownloadResponseParsed>
downloadToBuffer(Buffer, number, number, BlobDownloadToBufferOptions)
僅適用于NODE.JS執行時間。
平行下載 Azure Blob 至緩衝區。 位移和計數是選擇性的,如果未提供,則會下載整個 Blob。
警告:緩衝區只能在 32 位系統上支援大約一 GB 的檔案,或 64 位系統上大約兩 GB,因為Node.js/V8 的限制。 對於大於此大小的 Blob,請考慮 downloadToFile。
function downloadToBuffer(buffer: Buffer, offset?: number, count?: number, options?: BlobDownloadToBufferOptions): Promise<Buffer>
參數
- buffer
-
Buffer
要填滿的緩衝區長度必須大於計數
- offset
-
number
區塊 Blob 以位元組) 下載 (的位置
- count
-
number
下載) 位元組 (多少資料。 傳遞未定義時,將會下載至結尾
- options
- BlobDownloadToBufferOptions
BlobDownloadToBufferOptions
傳回
Promise<Buffer>
downloadToBuffer(number, number, BlobDownloadToBufferOptions)
僅適用于NODE.JS執行時間。
平行下載 Azure Blob 至緩衝區。 位移和計數是選擇性的,如果未提供,則會下載整個 Blob。
警告:緩衝區只能在 32 位系統上支援大約一 GB 的檔案,或 64 位系統上大約兩 GB,因為Node.js/V8 的限制。 對於大於此大小的 Blob,請考慮 downloadToFile。
function downloadToBuffer(offset?: number, count?: number, options?: BlobDownloadToBufferOptions): Promise<Buffer>
參數
- offset
-
number
區塊 Blob 以位元組) 下載 (的位置
- count
-
number
下載) 位元組 (多少資料。 傳遞未定義時,將會下載至結尾
- options
- BlobDownloadToBufferOptions
BlobDownloadToBufferOptions
傳回
Promise<Buffer>
downloadToFile(string, number, number, BlobDownloadOptions)
僅適用于NODE.JS執行時間。
將 Azure Blob 下載至本機檔案。 如果指定的檔案路徑已經結束,就會失敗。 位移和計數是選擇性的,分別傳遞 0 和未定義,以下載整個 Blob。
function downloadToFile(filePath: string, offset?: number, count?: number, options?: BlobDownloadOptions): Promise<BlobDownloadResponseParsed>
參數
- filePath
-
string
- offset
-
number
要下載之區塊 Blob 的位置。
- count
-
number
要下載的資料量。 將會在傳遞未定義時下載至結尾。
- options
- BlobDownloadOptions
Blob 下載選項的選項。
傳回
Promise<BlobDownloadResponseParsed>
Blob 下載作業的回應資料,但已將 readableStreamBody 設定為未定義,因為其內容已經讀取並寫入指定路徑的本機檔案中。
exists(BlobExistsOptions)
如果此用戶端所代表的 Azure Blob 資源存在,則傳回 true;否則為 false。
注意:請小心使用此函式,因為其他用戶端或應用程式可能會刪除現有的 Blob。 反之亦然,此函式完成後,其他用戶端或應用程式可能會新增新的 Blob。
function exists(options?: BlobExistsOptions): Promise<boolean>
參數
- options
- BlobExistsOptions
存在作業的選項。
傳回
Promise<boolean>
generateSasUrl(BlobGenerateSasUrlOptions)
僅適用于使用共用金鑰認證建構的 BlobClient。
根據傳入的用戶端屬性和參數,產生 Blob 服務共用存取簽章 (SAS) URI。 SAS 是由用戶端的共用金鑰認證所簽署。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas
function generateSasUrl(options: BlobGenerateSasUrlOptions): Promise<string>
參數
- options
- BlobGenerateSasUrlOptions
選用參數。
傳回
Promise<string>
由此用戶端所代表資源的 URI 所組成的 SAS URI,後面接著產生的 SAS 權杖。
getAppendBlobClient()
建立 AppendBlobClient 物件。
function getAppendBlobClient(): AppendBlobClient
傳回
getBlobLeaseClient(string)
取得管理 Blob 上租用的 BlobLeaseClient 。
function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient
參數
- proposeLeaseId
-
string
初始建議的租用識別碼。
傳回
新的 BlobLeaseClient 物件,用於管理 Blob 上的租用。
getBlockBlobClient()
建立 BlockBlobClient 物件。
function getBlockBlobClient(): BlockBlobClient
傳回
getPageBlobClient()
建立 PageBlobClient 物件。
function getPageBlobClient(): PageBlobClient
傳回
getProperties(BlobGetPropertiesOptions)
傳回 Blob 之所有使用者定義的中繼資料、標準 HTTP 屬性及系統屬性。 但不會傳回 Blob 的內容。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-properties
警告: metadata
回應中傳回的物件會以小寫顯示其索引鍵,即使原本包含大寫字元也一樣。 這與使用 選項列出 Blob includeMetadata
的ContainerClient方法所傳回的中繼資料索引鍵不同,此選項會保留其原始大小寫。
function getProperties(options?: BlobGetPropertiesOptions): Promise<BlobGetPropertiesResponse>
參數
- options
- BlobGetPropertiesOptions
取得屬性作業的選擇性選項。
傳回
Promise<BlobGetPropertiesResponse>
getTags(BlobGetTagsOptions)
取得與基礎 Blob 相關聯的標記。
function getTags(options?: BlobGetTagsOptions): Promise<BlobGetTagsResponse>
參數
- options
- BlobGetTagsOptions
傳回
Promise<BlobGetTagsResponse>
setAccessTier(string, BlobSetTierOptions)
設定 Blob 上的層。 在進階儲存體帳戶中的分頁 Blob 和 Blob 儲存體帳戶中的區塊 Blob 上,允許此作業 (本機備援儲存體) 。 進階分頁 Blob 的層會決定 Blob 允許的大小、IOPS 和頻寬。 區塊 Blob 的層會決定經常性存取/非經常性存取/封存儲存體類型。 這項作業不會更新 Blob 的 ETag。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-tier
function setAccessTier(tier: string, options?: BlobSetTierOptions): Promise<BlobSetTierResponse>
參數
- tier
-
string
要設定在 Blob 上的層。 有效值為經常性存取、非經常性存取或封存。
- options
- BlobSetTierOptions
Blob 設定層作業的選擇性選項。
傳回
Promise<BlobSetTierResponse>
setHTTPHeaders(BlobHTTPHeaders, BlobSetHTTPHeadersOptions)
在 Blob 上設定系統屬性。
如果未提供任何值,或未針對指定的 Blob HTTP 標頭提供任何值,則會清除沒有值的這些 Blob HTTP 標頭。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties
function setHTTPHeaders(blobHTTPHeaders?: BlobHTTPHeaders, options?: BlobSetHTTPHeadersOptions): Promise<BlobSetHTTPHeadersResponse>
參數
- blobHTTPHeaders
- BlobHTTPHeaders
如果未提供任何值,或未針對指定的 Blob HTTP 標頭提供任何值,則會清除沒有值的這些 Blob HTTP 標頭。
要設定的通用標頭是 blobContentType
讓瀏覽器根據檔案類型提供功能。
- options
- BlobSetHTTPHeadersOptions
Blob 設定 HTTP 標頭作業的選擇性選項。
傳回
Promise<BlobSetHTTPHeadersResponse>
setImmutabilityPolicy(BlobImmutabilityPolicy, BlobSetImmutabilityPolicyOptions)
在 Blob 上設定不可變原則。
function setImmutabilityPolicy(immutabilityPolicy: BlobImmutabilityPolicy, options?: BlobSetImmutabilityPolicyOptions): Promise<BlobSetImmutabilityPolicyResponse>
參數
- immutabilityPolicy
- BlobImmutabilityPolicy
- options
- BlobSetImmutabilityPolicyOptions
在 Blob 上設定不變性原則的選擇性選項。
傳回
Promise<BlobSetImmutabilityPolicyResponse>
setLegalHold(boolean, BlobSetLegalHoldOptions)
在 Blob 上設定法律保留。
function setLegalHold(legalHoldEnabled: boolean, options?: BlobSetLegalHoldOptions): Promise<BlobSetLegalHoldResponse>
參數
- legalHoldEnabled
-
boolean
- options
- BlobSetLegalHoldOptions
在 Blob 上設定法律保留的選擇性選項。
傳回
Promise<BlobSetLegalHoldResponse>
setMetadata(Metadata, BlobSetMetadataOptions)
將指定 Blob 的使用者定義中繼資料設為一或多個名稱/值配對。
如果未提供任何選項,或參數中未定義任何中繼資料,將會移除 Blob 中繼資料。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-metadata
function setMetadata(metadata?: Metadata, options?: BlobSetMetadataOptions): Promise<BlobSetMetadataResponse>
參數
- metadata
- Metadata
以此值取代現有的中繼資料。 如果未提供任何值,則會移除現有的中繼資料。
- options
- BlobSetMetadataOptions
設定中繼資料作業的選擇性選項。
傳回
Promise<BlobSetMetadataResponse>
setTags(Tags, BlobSetTagsOptions)
設定基礎 Blob 上的標記。 Blob 最多可以有 10 個標記。 標籤索引鍵必須介於 1 到 128 個字元之間。 標籤值必須介於 0 到 256 個字元之間。 有效的標籤索引鍵和值字元包括小寫字母和大寫字母、數位 (0-9) 、空格 (' ') ,加上 ('+') 、減 ('-') 、句點 ('。') 、正斜線 ('/') 、冒號 (':') 、等於 ('=') ,以及底線 ('_') 。
function setTags(tags: Tags, options?: BlobSetTagsOptions): Promise<BlobSetTagsResponse>
參數
- tags
- Tags
- options
- BlobSetTagsOptions
傳回
Promise<BlobSetTagsResponse>
syncCopyFromURL(string, BlobSyncCopyFromURLOptions)
同步複製來源 URL 作業會將 Blob 或網際網路資源複製到新的 Blob。 在複本完成之前,它不會傳迴響應。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob-from-url
function syncCopyFromURL(copySource: string, options?: BlobSyncCopyFromURLOptions): Promise<BlobCopyFromURLResponse>
參數
- copySource
-
string
要從中複製的來源 URL、共用存取簽章 (SAS) 可能需要進行驗證
- options
- BlobSyncCopyFromURLOptions
傳回
Promise<BlobCopyFromURLResponse>
undelete(BlobUndeleteOptions)
還原虛刪除 Blob 的內容和中繼資料,以及任何相關聯的虛刪除快照集。 只有 2017-07-29 版或更新版本才支援取消刪除 Blob。
請參閱https://docs.microsoft.com/en-us/rest/api/storageservices/undelete-blob
function undelete(options?: BlobUndeleteOptions): Promise<BlobUndeleteResponse>
參數
- options
- BlobUndeleteOptions
Blob 取消刪除作業的選擇性選項。
傳回
Promise<BlobUndeleteResponse>
withVersion(string)
建立指向此 Blob 版本的新 BlobClient 物件。 提供 「」 會移除 versionId,並將用戶端傳回至基底 Blob。
function withVersion(versionId: string): BlobClient
參數
- versionId
-
string
versionId。
傳回
指向此 Blob 版本的新 BlobClient 物件。