共用方式為


BlockBlobClient class

BlockBlobClient 會定義一組適用於區塊 Blob 的作業。

Extends

建構函式

BlockBlobClient(string, PipelineLike)

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

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

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

BlockBlobClient(string, string, string, StoragePipelineOptions)

建立 BlockBlobClient 的實例。

屬性

containerName

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

name

Blob 的名稱。

繼承的屬性

accountName
credential

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

url

編碼的 URL 字串值。

方法

commitBlockList(string[], BlockBlobCommitBlockListOptions)

指定組成 Blob 的區塊識別碼清單,以寫入 Blob。 若要寫入為 Blob 的一部分,區塊必須已在先前的 stageBlock 作業中成功寫入伺服器。 您可以呼叫 commitBlockList,只上傳已變更的區塊,然後一起認可新的和現有的區塊,以更新 Blob。 區塊清單中未指定且永久刪除的任何區塊。

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

getBlockList(BlockListType, BlockBlobGetBlockListOptions)

使用指定的區塊清單篩選,傳回已上傳為區塊 Blob 一部分的區塊清單。

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

query(string, BlockBlobQueryOptions)

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

JSON 或 CSV 格式化 Blob 的快速查詢。

範例使用方式 (Node.js):

// Query and convert a blob to a string
const queryBlockBlobResponse = await blockBlobClient.query("select * from BlobStorage");
const downloaded = (await streamToBuffer(queryBlockBlobResponse.readableStreamBody)).toString();
console.log("Query blob content:", downloaded);

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);
  });
}
stageBlock(string, RequestBodyType, number, BlockBlobStageBlockOptions)

將指定的區塊上傳至區塊 Blob 的「暫存區域」,以供呼叫 commitBlockList 稍後認可。

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

stageBlockFromURL(string, string, number, number, BlockBlobStageBlockFromURLOptions)

階段封鎖 URL 作業會建立要認可的新區塊,做為從 URL 讀取內容的 Blob 的一部分。 此 API 可從 2018-03-28 版開始提供。

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

syncUploadFromURL(string, BlockBlobSyncUploadFromURLOptions)

建立新的區塊 Blob,其中 Blob 的內容會從指定的 URL 讀取。 從 2020-04-08 版本開始,支援此 API。 從 URL 放置 Blob 不支援部分更新;現有 Blob 的內容會以新 Blob 的內容覆寫。 若要使用來源 URL 對區塊 Blob 的內容執行部分更新,請使用 stageBlockFromURLcommitBlockList

upload(RequestBodyType, number, BlockBlobUploadOptions)

建立新的區塊 Blob,或更新現有區塊 Blob 的內容。 更新現有的區塊 Blob 會覆寫 Blob 上任何現有的元數據。 不支援部分更新;現有 Blob 的內容會以新內容覆寫。 若要執行區塊 Blob 的部分更新,請使用 stageBlockcommitBlockList

這是非平行上傳方法,請使用 uploadFileuploadStreamuploadBrowserData,以取得並行上傳的更佳效能。

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

uploadBrowserData(Blob | ArrayBuffer | ArrayBufferView, BlockBlobParallelUploadOptions)

僅適用於瀏覽器。

將瀏覽器 Blob/File/ArrayBuffer/ArrayBufferView 對象上傳至區塊 Blob。

當緩衝區長度小於或等於 256MB 時,這個方法會使用 1 個上傳呼叫來完成上傳。 否則,這個方法會呼叫 stageBlock 來上傳區塊,最後呼叫 commitBlockList 認可區塊清單。

要設定的常見 blobHTTPHeaders 選項是 blobContentType,讓瀏覽器可以根據檔類型提供功能。

uploadData(Blob | ArrayBuffer | ArrayBufferView | Buffer, BlockBlobParallelUploadOptions)

將 Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView 物件上傳至 BlockBlob。

當數據長度不超過指定的 maxSingleShotSize (預設值為 <xref:BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES>),這個方法會使用 1 上傳 呼叫來完成上傳。 否則,這個方法會呼叫 stageBlock 來上傳區塊,最後呼叫 commitBlockList 認可區塊清單。

要設定的常見 blobHTTPHeaders 選項是 blobContentType,讓瀏覽器可以根據檔類型提供功能。

uploadFile(string, BlockBlobParallelUploadOptions)

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

將區塊中的本機檔案上傳至區塊 Blob。

當檔案大小小於或等於 256MB 時,這個方法會使用 1 個上傳呼叫來完成上傳。 否則,此方法會呼叫 stageBlock 來上傳區塊,最後呼叫 commitBlockList 來認可區塊清單。

uploadStream(Readable, number, number, BlockBlobUploadStreamOptions)

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

將 Node.js 可讀取數據流上傳至區塊 Blob。

效能改進秘訣:

  • 輸入數據流 highWaterMark 最好使用 bufferSize 參數設定相同的值,以避免 Buffer.concat() 作業。
withSnapshot(string)

建立與來源相同的新 BlockBlobClient 物件,但具有指定的快照集時間戳。 提供 “” 會移除快照集,並將 URL 傳回至基底 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。

建構函式詳細資料

BlockBlobClient(string, PipelineLike)

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

new BlockBlobClient(url: string, pipeline: PipelineLike)

參數

url

string

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

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

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

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

參數

url

string

指向 Azure 記憶體區塊 Blob 的 URL 字串串,例如 「https://myaccount.blob.core.windows.net/mycontainer/blockblob"。 如果使用 AnonymousCredential,則可以附加 SAS,例如 “https://myaccount.blob.core.windows.net/mycontainer/blockblob?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 管線的選項。

BlockBlobClient(string, string, string, StoragePipelineOptions)

建立 BlockBlobClient 的實例。

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

方法詳細資料

commitBlockList(string[], BlockBlobCommitBlockListOptions)

指定組成 Blob 的區塊識別碼清單,以寫入 Blob。 若要寫入為 Blob 的一部分,區塊必須已在先前的 stageBlock 作業中成功寫入伺服器。 您可以呼叫 commitBlockList,只上傳已變更的區塊,然後一起認可新的和現有的區塊,以更新 Blob。 區塊清單中未指定且永久刪除的任何區塊。

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

function commitBlockList(blocks: string[], options?: BlockBlobCommitBlockListOptions): Promise<BlockBlobCommitBlockListResponse>

參數

blocks

string[]

base64 編碼的64位元組值陣列

options
BlockBlobCommitBlockListOptions

區塊 Blob 認可區塊清單作業的選項。

傳回

區塊 Blob 認可區塊清單作業的響應數據。

getBlockList(BlockListType, BlockBlobGetBlockListOptions)

使用指定的區塊清單篩選,傳回已上傳為區塊 Blob 一部分的區塊清單。

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

function getBlockList(listType: BlockListType, options?: BlockBlobGetBlockListOptions): Promise<BlockBlobGetBlockListResponse>

參數

listType
BlockListType

指定是要傳回已認可區塊的清單、未認可的區塊清單,還是同時傳回這兩個清單。

options
BlockBlobGetBlockListOptions

區塊 Blob 取得封鎖清單作業的選項。

傳回

區塊 Blob 取得封鎖清單作業的響應數據。

query(string, BlockBlobQueryOptions)

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

JSON 或 CSV 格式化 Blob 的快速查詢。

範例使用方式 (Node.js):

// Query and convert a blob to a string
const queryBlockBlobResponse = await blockBlobClient.query("select * from BlobStorage");
const downloaded = (await streamToBuffer(queryBlockBlobResponse.readableStreamBody)).toString();
console.log("Query blob content:", downloaded);

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);
  });
}
function query(query: string, options?: BlockBlobQueryOptions): Promise<BlobDownloadResponseModel>

參數

query

string

傳回

stageBlock(string, RequestBodyType, number, BlockBlobStageBlockOptions)

將指定的區塊上傳至區塊 Blob 的「暫存區域」,以供呼叫 commitBlockList 稍後認可。

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

function stageBlock(blockId: string, body: RequestBodyType, contentLength: number, options?: BlockBlobStageBlockOptions): Promise<BlockBlobStageBlockResponse>

參數

blockId

string

base64 編碼的64位元組值

body
HttpRequestBody

要上傳至暫存區域的數據。

contentLength

number

要上傳的位元組數目。

options
BlockBlobStageBlockOptions

區塊 Blob 階段區塊作業的選項。

傳回

區塊 Blob 階段區塊作業的響應數據。

stageBlockFromURL(string, string, number, number, BlockBlobStageBlockFromURLOptions)

階段封鎖 URL 作業會建立要認可的新區塊,做為從 URL 讀取內容的 Blob 的一部分。 此 API 可從 2018-03-28 版開始提供。

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

function stageBlockFromURL(blockId: string, sourceURL: string, offset?: number, count?: number, options?: BlockBlobStageBlockFromURLOptions): Promise<BlockBlobStageBlockFromURLResponse>

參數

blockId

string

base64 編碼的64位元組值

sourceURL

string

指定 Blob 的 URL。 此值的長度可能高達 2 KB,指定 Blob。 此值應該以 URL 編碼,因為它會出現在要求 URI 中。 來源 Blob 必須是公用,或必須透過共用存取簽章進行驗證。 如果來源 Blob 是公用的,則不需要驗證即可執行作業。 以下是來源物件 URL 的一些範例: - https://myaccount.blob.core.windows.net/mycontainer/myblob - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=

offset

number

要下載的 Blob 位置,大於或等於 0

count

number

要下載的數據量,大於0。 將在未定義時下載至結尾

options
BlockBlobStageBlockFromURLOptions

區塊 Blob 階段區塊 From URL 作業的選項。

傳回

區塊 Blob 階段區塊 From URL 作業的響應數據。

syncUploadFromURL(string, BlockBlobSyncUploadFromURLOptions)

建立新的區塊 Blob,其中 Blob 的內容會從指定的 URL 讀取。 從 2020-04-08 版本開始,支援此 API。 從 URL 放置 Blob 不支援部分更新;現有 Blob 的內容會以新 Blob 的內容覆寫。 若要使用來源 URL 對區塊 Blob 的內容執行部分更新,請使用 stageBlockFromURLcommitBlockList

function syncUploadFromURL(sourceURL: string, options?: BlockBlobSyncUploadFromURLOptions): Promise<BlockBlobPutBlobFromUrlResponse>

參數

sourceURL

string

指定 Blob 的 URL。 此值的長度可能高達 2 KB,指定 Blob。 此值應該以 URL 編碼,因為它會出現在要求 URI 中。 來源 Blob 必須是公用,或必須透過共用存取簽章進行驗證。 如果來源 Blob 是公用的,則不需要驗證即可執行作業。 以下是來源物件 URL 的一些範例: - https://myaccount.blob.core.windows.net/mycontainer/myblob - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=

options
BlockBlobSyncUploadFromURLOptions

選擇性參數。

傳回

upload(RequestBodyType, number, BlockBlobUploadOptions)

建立新的區塊 Blob,或更新現有區塊 Blob 的內容。 更新現有的區塊 Blob 會覆寫 Blob 上任何現有的元數據。 不支援部分更新;現有 Blob 的內容會以新內容覆寫。 若要執行區塊 Blob 的部分更新,請使用 stageBlockcommitBlockList

這是非平行上傳方法,請使用 uploadFileuploadStreamuploadBrowserData,以取得並行上傳的更佳效能。

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

function upload(body: RequestBodyType, contentLength: number, options?: BlockBlobUploadOptions): Promise<BlockBlobUploadResponse>

參數

body
HttpRequestBody

Blob、字串、ArrayBuffer、ArrayBufferView 或函式,會傳回新的可讀取數據流,其位移從數據源開始。

contentLength

number

以位元組為單位的主體長度。 使用 Buffer.byteLength() 來計算字串串的主體長度,包括非 Base64/Hex 編碼字元。

options
BlockBlobUploadOptions

區塊 Blob 上傳作業的選項。

傳回

區塊 Blob 上傳作業的響應數據。

範例用法:

const content = "Hello world!";
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);

uploadBrowserData(Blob | ArrayBuffer | ArrayBufferView, BlockBlobParallelUploadOptions)

警告

此 API 現已淘汰。

Use uploadData instead.

僅適用於瀏覽器。

將瀏覽器 Blob/File/ArrayBuffer/ArrayBufferView 對象上傳至區塊 Blob。

當緩衝區長度小於或等於 256MB 時,這個方法會使用 1 個上傳呼叫來完成上傳。 否則,這個方法會呼叫 stageBlock 來上傳區塊,最後呼叫 commitBlockList 認可區塊清單。

要設定的常見 blobHTTPHeaders 選項是 blobContentType,讓瀏覽器可以根據檔類型提供功能。

function uploadBrowserData(browserData: Blob | ArrayBuffer | ArrayBufferView, options?: BlockBlobParallelUploadOptions): Promise<BlobUploadCommonResponse>

參數

browserData

Blob | ArrayBuffer | ArrayBufferView

Blob、檔案、ArrayBuffer 或 ArrayBufferView

options
BlockBlobParallelUploadOptions

上傳瀏覽器數據的選項。

傳回

Blob 上傳作業的響應數據。

uploadData(Blob | ArrayBuffer | ArrayBufferView | Buffer, BlockBlobParallelUploadOptions)

將 Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView 物件上傳至 BlockBlob。

當數據長度不超過指定的 maxSingleShotSize (預設值為 <xref:BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES>),這個方法會使用 1 上傳 呼叫來完成上傳。 否則,這個方法會呼叫 stageBlock 來上傳區塊,最後呼叫 commitBlockList 認可區塊清單。

要設定的常見 blobHTTPHeaders 選項是 blobContentType,讓瀏覽器可以根據檔類型提供功能。

function uploadData(data: Blob | ArrayBuffer | ArrayBufferView | Buffer, options?: BlockBlobParallelUploadOptions): Promise<BlobUploadCommonResponse>

參數

data

Blob | ArrayBuffer | ArrayBufferView | Buffer

Buffer(Node.js)、Blob、ArrayBuffer 或 ArrayBufferView

傳回

uploadFile(string, BlockBlobParallelUploadOptions)

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

將區塊中的本機檔案上傳至區塊 Blob。

當檔案大小小於或等於 256MB 時,這個方法會使用 1 個上傳呼叫來完成上傳。 否則,此方法會呼叫 stageBlock 來上傳區塊,最後呼叫 commitBlockList 來認可區塊清單。

function uploadFile(filePath: string, options?: BlockBlobParallelUploadOptions): Promise<BlobUploadCommonResponse>

參數

filePath

string

本機檔案的完整路徑

options
BlockBlobParallelUploadOptions

上傳至區塊 Blob 作業的選項。

傳回

Blob 上傳作業的響應數據。

uploadStream(Readable, number, number, BlockBlobUploadStreamOptions)

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

將 Node.js 可讀取數據流上傳至區塊 Blob。

效能改進秘訣:

  • 輸入數據流 highWaterMark 最好使用 bufferSize 參數設定相同的值,以避免 Buffer.concat() 作業。
function uploadStream(stream: Readable, bufferSize?: number, maxConcurrency?: number, options?: BlockBlobUploadStreamOptions): Promise<BlobUploadCommonResponse>

參數

stream

Readable

Node.js 可讀取數據流

bufferSize

number

配置的每個緩衝區大小,也是上傳區塊 Blob 中的區塊大小。 預設值為 8MB

maxConcurrency

number

最大並行表示可以配置的緩衝區數目上限、與上傳並行上限的正相互關聯。 預設值為 5

options
BlockBlobUploadStreamOptions

將數據流上傳至區塊 Blob 作業的選項。

傳回

Blob 上傳作業的響應數據。

withSnapshot(string)

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

function withSnapshot(snapshot: string): BlockBlobClient

參數

snapshot

string

快照集時間戳。

傳回

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

繼承的方法的詳細資料

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