共用方式為


AppendBlobClient class

AppendBlobClient 會定義一組適用於附加 Blob 的作業。

Extends

建構函式

AppendBlobClient(string, PipelineLike)

建立 AppendBlobClient 的實例。 此方法接受指向附加 Blob 的編碼 URL 或非編碼 URL。 編碼的 URL 字串不會逸出兩次,只會逸出 URL 路徑中的特殊字元。 如果 Blob 名稱包含 ? 或 %,Blob 名稱必須在 URL 中編碼。

AppendBlobClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

建立 AppendBlobClient 的實例。 此方法接受指向附加 Blob 的編碼 URL 或非編碼 URL。 編碼的 URL 字串不會逸出兩次,只會逸出 URL 路徑中的特殊字元。 如果 Blob 名稱包含 ? 或 %,Blob 名稱必須在 URL 中編碼。

AppendBlobClient(string, string, string, StoragePipelineOptions)

建立 AppendBlobClient 的實例。

屬性

containerName

Blob 相關聯的記憶體容器名稱。

name

Blob 的名稱。

繼承的屬性

accountName
credential

例如 AnonymousCredential、StorageSharedKeyCredential 或任何來自 @azure/identity 套件的認證,以驗證對服務的要求。 您也可以提供實作 TokenCredential 介面的物件。 如果未指定,則會使用 AnonymousCredential。

url

編碼的 URL 字串值。

方法

appendBlock(RequestBodyType, number, AppendBlobAppendBlockOptions)

將新的數據區塊認可至現有附加 Blob 的結尾。

請參閱 https://docs.microsoft.com/rest/api/storageservices/append-block

appendBlockFromURL(string, number, number, AppendBlobAppendBlockFromURLOptions)

[附加區塊] 作業會將新的數據區塊認可至現有附加 Blob 的結尾,其中內容是從來源 URL 讀取。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/append-block-from-url

create(AppendBlobCreateOptions)

建立長度為 0 的附加 Blob。 呼叫 AppendBlock 以將數據附加至附加 Blob。

請參閱 https://docs.microsoft.com/rest/api/storageservices/put-blob

createIfNotExists(AppendBlobCreateIfNotExistsOptions)

建立長度為 0 的附加 Blob。 呼叫 AppendBlock 以將數據附加至附加 Blob。 如果具有相同名稱的 Blob 已經存在,則現有 Blob 的內容會保持不變。

請參閱 https://docs.microsoft.com/rest/api/storageservices/put-blob

seal(AppendBlobSealOptions)

密封附加 Blob,使其唯讀。

withSnapshot(string)

建立與來源相同的新 AppendBlobClient 物件,但具有指定的快照集時間戳。 提供 「“ 會移除快照集,並將用戶端傳回基底 Blob。

繼承的方法

abortCopyFromURL(string, BlobAbortCopyFromURLOptions)

中止暫止的異步複製 Blob 作業,並保留長度為零和完整元數據的目的地 Blob。 版本 2012-02-12 和更新版本。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/abort-copy-blob

beginCopyFromURL(string, BlobBeginCopyFromURLOptions)

以異步方式將 Blob 複製到記憶體帳戶內的目的地。 這個方法會傳回長時間執行的作業輪詢器,可讓您無限期地等候,直到複製完成為止。 您也可以在輪詢程式上呼叫 cancelOperation,以在複本完成之前取消複本。 請注意,如果作業在第一個要求中完成,而且嘗試取消已完成的複本會導致擲回錯誤,則不會叫用 onProgress 回呼。

在 2012-02-12 版和更新版本中,複製 Blob 作業的來源可以是任何 Azure 記憶體帳戶中的認可 Blob。 從 2015-02-21 版開始,複製 Blob 作業的來源可以是任何 Azure 記憶體帳戶中的 Azure 檔案。 只有在 2012 年 6 月 7 日或之後建立的記憶體帳戶,才能讓複製 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.');
  }
}
createSnapshot(BlobCreateSnapshotOptions)

建立 Blob 的唯讀快照集。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/snapshot-blob

delete(BlobDeleteOptions)

標示要刪除的指定 Blob 或快照集。 Blob 稍後會在垃圾收集期間刪除。 請注意,若要刪除 Blob,您必須刪除其所有快照集。 您可以使用刪除 Blob 作業同時刪除兩者。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

deleteIfExists(BlobDeleteOptions)

如果存在,請標記指定的 Blob 或快照集進行刪除。 Blob 稍後會在垃圾收集期間刪除。 請注意,若要刪除 Blob,您必須刪除其所有快照集。 您可以使用刪除 Blob 作業同時刪除兩者。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

deleteImmutabilityPolicy(BlobDeleteImmutabilityPolicyOptions)

刪除 Blob 上的不固定原則。

download(number, number, BlobDownloadOptions)

從系統讀取或下載 Blob,包括其元數據和屬性。 您也可以呼叫取得 Blob 來讀取快照集。

  • 在 Node.js中,數據會在可讀取數據流中傳回 readableStreamBody
  • 在瀏覽器中,數據會在 promise blobBody 中傳回

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob

downloadToBuffer(Buffer, number, number, BlobDownloadToBufferOptions)

僅適用於運行時間NODE.JS。

平行下載 Azure Blob 至緩衝區。 位移和計數是選擇性的,如果未提供,則會下載整個 Blob。

警告:緩衝區只能在32位系統上支援最多一 GB 的檔案,或64位系統上最多支援大約2 GB的檔案,因為 Node.js/V8的限制。 對於大於此大小的 Blob,請考慮 downloadToFile

downloadToBuffer(number, number, BlobDownloadToBufferOptions)

僅適用於運行時間NODE.JS。

平行下載 Azure Blob 至緩衝區。 位移和計數是選擇性的,如果未提供,則會下載整個 Blob。

警告:緩衝區只能在32位系統上支援最多一 GB 的檔案,或64位系統上最多支援大約2 GB的檔案,因為 Node.js/V8的限制。 對於大於此大小的 Blob,請考慮 downloadToFile

downloadToFile(string, number, number, BlobDownloadOptions)

僅適用於運行時間NODE.JS。

將 Azure Blob 下載至本機檔案。 如果指定的檔案路徑已經結束,就會失敗。 位移和計數是選擇性的,分別傳遞 0 和未定義,以下載整個 Blob。

exists(BlobExistsOptions)

如果此用戶端所代表的 Azure Blob 資源存在,則傳回 true;否則為 false。

注意:請小心使用此函式,因為其他用戶端或應用程式可能會刪除現有的 Blob。 反之亦然,此函式完成之後,其他用戶端或應用程式可能會新增新的 Blob。

generateSasStringToSign(BlobGenerateSasUrlOptions)

僅適用於使用共用密鑰認證建構的 BlobClient。

根據傳入的用戶端屬性和參數,產生要簽署 Blob 服務共用存取簽章 (SAS) URI 的字串。 SAS 是由客戶端的共用金鑰認證所簽署。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

generateSasUrl(BlobGenerateSasUrlOptions)

僅適用於使用共用密鑰認證建構的 BlobClient。

根據傳入的用戶端屬性和參數,產生 Blob 服務共用存取簽章 (SAS) URI。 SAS 是由客戶端的共用金鑰認證所簽署。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

generateUserDelegationSasStringToSign(BlobGenerateSasUrlOptions, UserDelegationKey)

僅適用於使用共用密鑰認證建構的 BlobClient。

根據傳入的用戶端屬性和參數,產生要簽署 Blob 服務共用存取簽章 (SAS) URI 的字串。 SAS 是由輸入使用者委派密鑰所簽署。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

generateUserDelegationSasUrl(BlobGenerateSasUrlOptions, UserDelegationKey)

根據傳入的用戶端屬性和參數,產生 Blob 服務共用存取簽章 (SAS) URI。 SAS 是由輸入使用者委派密鑰所簽署。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

getAccountInfo(BlobGetAccountInfoOptions)

取得帳戶資訊作業會傳回指定帳戶的 SKU 名稱和帳戶種類。 從 2018-03-28 版開始的服務版本,即可取得帳戶資訊作業。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/get-account-information

getAppendBlobClient()

建立 AppendBlobClient 物件。

getBlobLeaseClient(string)

取得管理 Blob 租用的 BlobLeaseClient

getBlockBlobClient()

建立 BlockBlobClient 物件。

getPageBlobClient()

建立 PageBlobClient 物件。

getProperties(BlobGetPropertiesOptions)

傳回 Blob 的所有使用者定義元數據、標準 HTTP 屬性和系統屬性。 它不會傳回 Blob 的內容。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-properties

警告:回應中傳回的 metadata 物件會以小寫表示,即使它們原本包含大寫字元也一樣。 這與使用 選項列出 blob 的方法 includeMetadata ient 方法所傳回的元數據索引鍵不同,該選項會保留其原始大小寫。

getTags(BlobGetTagsOptions)

取得與基礎 Blob 相關聯的標記。

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

setHTTPHeaders(BlobHTTPHeaders, BlobSetHTTPHeadersOptions)

設定 Blob 上的系統屬性。

如果未提供任何值,或未為指定的 Blob HTTP 標頭提供任何值,則會清除沒有值的這些 Blob HTTP 標頭。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties

setImmutabilityPolicy(BlobImmutabilityPolicy, BlobSetImmutabilityPolicyOptions)

在 Blob 上設定不變性原則。

setLegalHold(boolean, BlobSetLegalHoldOptions)

在 Blob 上設定合法保留。

setMetadata(Metadata, BlobSetMetadataOptions)

將指定 Blob 的使用者定義元資料設定為一或多個名稱/值組。

如果未提供任何選項,或參數中未定義任何元數據,則會移除 Blob 元數據。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-metadata

setTags(Tags, BlobSetTagsOptions)

設定基礎 Blob 上的標記。 Blob 最多可以有 10 個標記。 標記索引鍵必須介於 1 到 128 個字元之間。 卷標值必須介於 0 到 256 個字元之間。 有效的標記索引鍵和值字元包括小寫字母和大寫字母、數位(0-9)、空格(')、加號('+')、減號('-')、句號('/')、正斜線('/')、冒號(':')、等號('=')和底線('_')。

syncCopyFromURL(string, BlobSyncCopyFromURLOptions)

同步的複製來源 URL 作業會將 Blob 或因特網資源複製到新的 Blob。 在複製完成之前,它不會傳回回應。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob-from-url

undelete(BlobUndeleteOptions)

還原虛刪除 Blob 的內容和元數據,以及任何相關聯的虛刪除快照集。 只有 2017-07-29 版或更新版本才支援取消刪除 Blob。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/undelete-blob

withVersion(string)

建立指向此 Blob 版本的新 BlobClient 物件。 提供 「“ 會移除 versionId,並將用戶端傳回基底 Blob。

建構函式詳細資料

AppendBlobClient(string, PipelineLike)

建立 AppendBlobClient 的實例。 此方法接受指向附加 Blob 的編碼 URL 或非編碼 URL。 編碼的 URL 字串不會逸出兩次,只會逸出 URL 路徑中的特殊字元。 如果 Blob 名稱包含 ? 或 %,Blob 名稱必須在 URL 中編碼。

new AppendBlobClient(url: string, pipeline: PipelineLike)

參數

url

string

指向 Azure 記憶體附加 Blob 的 URL 字串串,例如 「https://myaccount.blob.core.windows.net/mycontainer/appendblob"。 如果使用 AnonymousCredential,則可以附加 SAS,例如 “https://myaccount.blob.core.windows.net/mycontainer/appendblob?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() 以建立預設管線,或提供自定義管線。

AppendBlobClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

建立 AppendBlobClient 的實例。 此方法接受指向附加 Blob 的編碼 URL 或非編碼 URL。 編碼的 URL 字串不會逸出兩次,只會逸出 URL 路徑中的特殊字元。 如果 Blob 名稱包含 ? 或 %,Blob 名稱必須在 URL 中編碼。

new AppendBlobClient(url: string, credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)

參數

url

string

指向 Azure 記憶體附加 Blob 的 URL 字串串,例如 「https://myaccount.blob.core.windows.net/mycontainer/appendblob"。 如果使用 AnonymousCredential,則可以附加 SAS,例如 “https://myaccount.blob.core.windows.net/mycontainer/appendblob?sasString"。 此方法接受指向 Blob 的編碼 URL 或非編碼 URL。 編碼的 URL 字串不會逸出兩次,只會逸出 URL 路徑中的特殊字元。 不過,如果 Blob 名稱包含 ? 或 %,Blob 名稱必須在 URL 中編碼。 例如名為 「my?blob%」的 Blob,URL 應該是 「https://myaccount.blob.core.windows.net/mycontainer/my%3Fblob%25"。

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

例如 AnonymousCredential、StorageSharedKeyCredential 或任何來自 @azure/identity 套件的認證,以驗證對服務的要求。 您也可以提供實作 TokenCredential 介面的物件。 如果未指定,則會使用 AnonymousCredential。

options
StoragePipelineOptions

自選。 設定 HTTP 管線的選項。

AppendBlobClient(string, string, string, StoragePipelineOptions)

建立 AppendBlobClient 的實例。

new AppendBlobClient(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

accountName: string

屬性值

string

繼承自BlobClient.accountName

credential

例如 AnonymousCredential、StorageSharedKeyCredential 或任何來自 @azure/identity 套件的認證,以驗證對服務的要求。 您也可以提供實作 TokenCredential 介面的物件。 如果未指定,則會使用 AnonymousCredential。

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

屬性值

繼承自BlobClient.credential

url

編碼的 URL 字串值。

url: string

屬性值

string

繼承自BlobClient.url

方法詳細資料

appendBlock(RequestBodyType, number, AppendBlobAppendBlockOptions)

將新的數據區塊認可至現有附加 Blob 的結尾。

請參閱 https://docs.microsoft.com/rest/api/storageservices/append-block

function appendBlock(body: RequestBodyType, contentLength: number, options?: AppendBlobAppendBlockOptions): Promise<AppendBlobAppendBlockResponse>

參數

body
HttpRequestBody

要附加的數據。

contentLength

number

以位元組為單位的主體長度。

options
AppendBlobAppendBlockOptions

附加區塊作業的選項。

範例用法:

const content = "Hello World!";

// Create a new append blob and append data to the blob.
const newAppendBlobClient = containerClient.getAppendBlobClient("<blob name>");
await newAppendBlobClient.create();
await newAppendBlobClient.appendBlock(content, content.length);

// Append data to an existing append blob.
const existingAppendBlobClient = containerClient.getAppendBlobClient("<blob name>");
await existingAppendBlobClient.appendBlock(content, content.length);

傳回

appendBlockFromURL(string, number, number, AppendBlobAppendBlockFromURLOptions)

[附加區塊] 作業會將新的數據區塊認可至現有附加 Blob 的結尾,其中內容是從來源 URL 讀取。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/append-block-from-url

function appendBlockFromURL(sourceURL: string, sourceOffset: number, count: number, options?: AppendBlobAppendBlockFromURLOptions): Promise<AppendBlobAppendBlockFromUrlResponse>

參數

sourceURL

string

將做為復本來源之 Blob 的 URL。 相同記憶體帳戶中的來源 Blob 可以透過共用金鑰進行驗證。 不過,如果來源是另一個帳戶中的 Blob,來源 Blob 必須是公用,或必須透過共用存取簽章進行驗證。 如果來源 Blob 是公用的,則不需要驗證即可執行作業。

sourceOffset

number

要附加的來源位移

count

number

要附加為區塊的位元組數目

傳回

create(AppendBlobCreateOptions)

建立長度為 0 的附加 Blob。 呼叫 AppendBlock 以將數據附加至附加 Blob。

請參閱 https://docs.microsoft.com/rest/api/storageservices/put-blob

function create(options?: AppendBlobCreateOptions): Promise<AppendBlobCreateResponse>

參數

options
AppendBlobCreateOptions

附加區塊建立作業的選項。

範例用法:

const appendBlobClient = containerClient.getAppendBlobClient("<blob name>");
await appendBlobClient.create();

傳回

createIfNotExists(AppendBlobCreateIfNotExistsOptions)

建立長度為 0 的附加 Blob。 呼叫 AppendBlock 以將數據附加至附加 Blob。 如果具有相同名稱的 Blob 已經存在,則現有 Blob 的內容會保持不變。

請參閱 https://docs.microsoft.com/rest/api/storageservices/put-blob

function createIfNotExists(options?: AppendBlobCreateIfNotExistsOptions): Promise<AppendBlobCreateIfNotExistsResponse>

參數

傳回

seal(AppendBlobSealOptions)

密封附加 Blob,使其唯讀。

function seal(options?: AppendBlobSealOptions): Promise<AppendBlobAppendBlockResponse>

參數

傳回

withSnapshot(string)

建立與來源相同的新 AppendBlobClient 物件,但具有指定的快照集時間戳。 提供 「“ 會移除快照集,並將用戶端傳回基底 Blob。

function withSnapshot(snapshot: string): AppendBlobClient

參數

snapshot

string

快照集時間戳。

傳回

新的 AppendBlobClient 對象與來源相同,但具有指定的快照集時間戳。

繼承的方法的詳細資料

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 作業的選擇性選項。

傳回

繼承自BlobClient.abortCopyFromURL

beginCopyFromURL(string, BlobBeginCopyFromURLOptions)

以異步方式將 Blob 複製到記憶體帳戶內的目的地。 這個方法會傳回長時間執行的作業輪詢器,可讓您無限期地等候,直到複製完成為止。 您也可以在輪詢程式上呼叫 cancelOperation,以在複本完成之前取消複本。 請注意,如果作業在第一個要求中完成,而且嘗試取消已完成的複本會導致擲回錯誤,則不會叫用 onProgress 回呼。

在 2012-02-12 版和更新版本中,複製 Blob 作業的來源可以是任何 Azure 記憶體帳戶中的認可 Blob。 從 2015-02-21 版開始,複製 Blob 作業的來源可以是任何 Azure 記憶體帳戶中的 Azure 檔案。 只有在 2012 年 6 月 7 日或之後建立的記憶體帳戶,才能讓複製 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 作業的選擇性選項。

傳回

繼承自BlobClient.beginCopyFromURL

createSnapshot(BlobCreateSnapshotOptions)

建立 Blob 的唯讀快照集。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/snapshot-blob

function createSnapshot(options?: BlobCreateSnapshotOptions): Promise<BlobCreateSnapshotResponse>

參數

options
BlobCreateSnapshotOptions

Blob 建立快照集作業的選擇性選項。

傳回

繼承自BlobClient.createSnapshot

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 刪除作業的選擇性選項。

傳回

繼承自BlobClient.delete

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 刪除作業的選擇性選項。

傳回

繼承自BlobClient.deleteIfExists

deleteImmutabilityPolicy(BlobDeleteImmutabilityPolicyOptions)

刪除 Blob 上的不固定原則。

function deleteImmutabilityPolicy(options?: BlobDeleteImmutabilityPolicyOptions): Promise<BlobDeleteImmutabilityPolicyResponse>

參數

options
BlobDeleteImmutabilityPolicyOptions

刪除 Blob 上不變性原則的選擇性選項。

傳回

繼承自BlobClient.deleteImmutabilityPolicy

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);
  });
}

傳回

繼承自BlobClient.download

downloadToBuffer(Buffer, number, number, BlobDownloadToBufferOptions)

僅適用於運行時間NODE.JS。

平行下載 Azure Blob 至緩衝區。 位移和計數是選擇性的,如果未提供,則會下載整個 Blob。

警告:緩衝區只能在32位系統上支援最多一 GB 的檔案,或64位系統上最多支援大約2 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>

繼承自BlobClient.downloadToBuffer

downloadToBuffer(number, number, BlobDownloadToBufferOptions)

僅適用於運行時間NODE.JS。

平行下載 Azure Blob 至緩衝區。 位移和計數是選擇性的,如果未提供,則會下載整個 Blob。

警告:緩衝區只能在32位系統上支援最多一 GB 的檔案,或64位系統上最多支援大約2 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>

繼承自BlobClient.downloadToBuffer

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 下載選項的選項。

傳回

Blob 下載作業的響應數據,但已將可讀取StreamBody 設定為未定義,因為其內容已經讀取並寫入指定路徑的本機檔案中。

繼承自BlobClient.downloadToFile

exists(BlobExistsOptions)

如果此用戶端所代表的 Azure Blob 資源存在,則傳回 true;否則為 false。

注意:請小心使用此函式,因為其他用戶端或應用程式可能會刪除現有的 Blob。 反之亦然,此函式完成之後,其他用戶端或應用程式可能會新增新的 Blob。

function exists(options?: BlobExistsOptions): Promise<boolean>

參數

options
BlobExistsOptions

[存在] 作業的選項。

傳回

Promise<boolean>

繼承自BlobClient.exists

generateSasStringToSign(BlobGenerateSasUrlOptions)

僅適用於使用共用密鑰認證建構的 BlobClient。

根據傳入的用戶端屬性和參數,產生要簽署 Blob 服務共用存取簽章 (SAS) URI 的字串。 SAS 是由客戶端的共用金鑰認證所簽署。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

function generateSasStringToSign(options: BlobGenerateSasUrlOptions): string

參數

options
BlobGenerateSasUrlOptions

選擇性參數。

傳回

string

由此用戶端所代表資源的 URI 所組成的 SAS URI,後面接著產生的 SAS 令牌。

繼承自BlobClient.generateSasStringToSign

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 令牌。

繼承自BlobClient.generateSasUrl

generateUserDelegationSasStringToSign(BlobGenerateSasUrlOptions, UserDelegationKey)

僅適用於使用共用密鑰認證建構的 BlobClient。

根據傳入的用戶端屬性和參數,產生要簽署 Blob 服務共用存取簽章 (SAS) URI 的字串。 SAS 是由輸入使用者委派密鑰所簽署。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

function generateUserDelegationSasStringToSign(options: BlobGenerateSasUrlOptions, userDelegationKey: UserDelegationKey): string

參數

options
BlobGenerateSasUrlOptions

選擇性參數。

userDelegationKey
UserDelegationKey

傳回值 blobServiceClient.getUserDelegationKey()

傳回

string

由此用戶端所代表資源的 URI 所組成的 SAS URI,後面接著產生的 SAS 令牌。

繼承自BlobClient.generateUserDelegationSasStringToSign

generateUserDelegationSasUrl(BlobGenerateSasUrlOptions, UserDelegationKey)

根據傳入的用戶端屬性和參數,產生 Blob 服務共用存取簽章 (SAS) URI。 SAS 是由輸入使用者委派密鑰所簽署。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

function generateUserDelegationSasUrl(options: BlobGenerateSasUrlOptions, userDelegationKey: UserDelegationKey): Promise<string>

參數

options
BlobGenerateSasUrlOptions

選擇性參數。

userDelegationKey
UserDelegationKey

傳回值 blobServiceClient.getUserDelegationKey()

傳回

Promise<string>

由此用戶端所代表資源的 URI 所組成的 SAS URI,後面接著產生的 SAS 令牌。

繼承自BlobClient.generateUserDelegationSasUrl

getAccountInfo(BlobGetAccountInfoOptions)

取得帳戶資訊作業會傳回指定帳戶的 SKU 名稱和帳戶種類。 從 2018-03-28 版開始的服務版本,即可取得帳戶資訊作業。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/get-account-information

function getAccountInfo(options?: BlobGetAccountInfoOptions): Promise<BlobGetAccountInfoResponse>

參數

options
BlobGetAccountInfoOptions

服務取得帳戶資訊作業的選項。

傳回

服務取得帳戶資訊作業的響應數據。

繼承自BlobClient.getAccountInfo

getAppendBlobClient()

建立 AppendBlobClient 物件。

function getAppendBlobClient(): AppendBlobClient

傳回

繼承自BlobClient.getAppendBlobClient

getBlobLeaseClient(string)

取得管理 Blob 租用的 BlobLeaseClient

function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient

參數

proposeLeaseId

string

初始建議的租用標識碼。

傳回

用於管理 Blob 租用的新 BlobLeaseClient 物件。

繼承自BlobClient.getBlobLeaseClient

getBlockBlobClient()

建立 BlockBlobClient 物件。

function getBlockBlobClient(): BlockBlobClient

傳回

繼承自BlobClient.getBlockBlobClient

getPageBlobClient()

建立 PageBlobClient 物件。

function getPageBlobClient(): PageBlobClient

傳回

繼承自BlobClient.getPageBlobClient

getProperties(BlobGetPropertiesOptions)

傳回 Blob 的所有使用者定義元數據、標準 HTTP 屬性和系統屬性。 它不會傳回 Blob 的內容。

請參閱 https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-properties

警告:回應中傳回的 metadata 物件會以小寫表示,即使它們原本包含大寫字元也一樣。 這與使用 選項列出 blob 的方法 includeMetadata ient 方法所傳回的元數據索引鍵不同,該選項會保留其原始大小寫。

function getProperties(options?: BlobGetPropertiesOptions): Promise<BlobGetPropertiesResponse>

參數

options
BlobGetPropertiesOptions

取得屬性作業的選擇性選項。

傳回

繼承自BlobClient.getProperties

getTags(BlobGetTagsOptions)

取得與基礎 Blob 相關聯的標記。

function getTags(options?: BlobGetTagsOptions): Promise<BlobGetTagsResponse>

參數

傳回

繼承自BlobClient.getTags

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 設定層作業的選擇性選項。

傳回

繼承自BlobClient.setAccessTier

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 標頭作業的選擇性選項。

傳回

繼承自BlobClient.setHTTPHeaders

setImmutabilityPolicy(BlobImmutabilityPolicy, BlobSetImmutabilityPolicyOptions)

在 Blob 上設定不變性原則。

function setImmutabilityPolicy(immutabilityPolicy: BlobImmutabilityPolicy, options?: BlobSetImmutabilityPolicyOptions): Promise<BlobSetImmutabilityPolicyResponse>

參數

immutabilityPolicy
BlobImmutabilityPolicy
options
BlobSetImmutabilityPolicyOptions

在 Blob 上設定不變性原則的選擇性選項。

傳回

繼承自BlobClient.setImmutabilityPolicy

setLegalHold(boolean, BlobSetLegalHoldOptions)

在 Blob 上設定合法保留。

function setLegalHold(legalHoldEnabled: boolean, options?: BlobSetLegalHoldOptions): Promise<BlobSetLegalHoldResponse>

參數

legalHoldEnabled

boolean

options
BlobSetLegalHoldOptions

在 Blob 上設定合法保留的選擇性選項。

傳回

繼承自BlobClient.setLegalHold

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

設定元數據作業的選擇性選項。

傳回

繼承自BlobClient.setMetadata

setTags(Tags, BlobSetTagsOptions)

設定基礎 Blob 上的標記。 Blob 最多可以有 10 個標記。 標記索引鍵必須介於 1 到 128 個字元之間。 卷標值必須介於 0 到 256 個字元之間。 有效的標記索引鍵和值字元包括小寫字母和大寫字母、數位(0-9)、空格(')、加號('+')、減號('-')、句號('/')、正斜線('/')、冒號(':')、等號('=')和底線('_')。

function setTags(tags: Tags, options?: BlobSetTagsOptions): Promise<BlobSetTagsResponse>

參數

tags
Tags

傳回

繼承自BlobClient.setTags

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)才能進行驗證

傳回

繼承自BlobClient.syncCopyFromURL

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 取消刪除作業的選擇性選項。

傳回

繼承自BlobClient.undelete

withVersion(string)

建立指向此 Blob 版本的新 BlobClient 物件。 提供 「“ 會移除 versionId,並將用戶端傳回基底 Blob。

function withVersion(versionId: string): BlobClient

參數

versionId

string

versionId。

傳回

指向此 Blob 版本的新 BlobClient 物件。

繼承自BlobClient.withVersion