共用方式為


BlobServiceClient class

BlobServiceClient 代表 Azure 儲存體 Blob 服務的用戶端,可讓您操作 Blob 容器。

Extends

建構函式

BlobServiceClient(string, PipelineLike)

建立 BlobServiceClient 的實例。

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

建立 BlobServiceClient 的實例。

屬性

accountName
credential

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

url

編碼的 URL 字串值。

方法

createContainer(string, ContainerCreateOptions)

建立 Blob 容器。

deleteContainer(string, ContainerDeleteMethodOptions)

刪除 Blob 容器。

findBlobsByTags(string, ServiceFindBlobByTagsOptions)

傳回非同步反覆運算器,以在指定的帳號下尋找具有指定標籤的所有 Blob。 .byPage () 會傳回非同步反覆運算器,以列出分頁中的 Blob。

fromConnectionString(string, StoragePipelineOptions)

從連接字串建立 BlobServiceClient 的實例。

generateAccountSasUrl(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)

僅適用于以共用金鑰認證建構的 BlobServiceClient。 根據傳入的用戶端屬性和參數,產生 Blob 帳戶共用存取簽章 (SAS) URI。 SAS 是由用戶端的共用金鑰認證所簽署。

getAccountInfo(ServiceGetAccountInfoOptions)

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

getBlobBatchClient()

建立 BlobBatchClient 物件來執行批次作業。

getContainerClient(string)

<xref:ContainerClient>建立 物件

getProperties(ServiceGetPropertiesOptions)

取得儲存體帳戶 Blob 服務的屬性,包括儲存體分析和 CORS (跨原始來源資源分享) 規則的屬性。

getStatistics(ServiceGetStatisticsOptions)

擷取與 Blob 服務的複寫相關的統計資料。 當儲存體帳戶啟用讀取權限的地理備援複寫時,它只能用於次要位置端點。

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

只有在使用 BEARER 權杖驗證 (TokenCredential) 時才可使用。 擷取 Blob 服務的使用者委派金鑰。 使用持有人權杖驗證時,這只是有效的作業。

listContainers(ServiceListContainersOptions)

傳回非同步反覆運算器,以列出指定帳戶下的所有容器。 .byPage () 會傳回非同步反覆運算器,以列出頁面中的容器。

使用語法的 for await 範例:

let i = 1;
for await (const container of blobServiceClient.listContainers()) {
  console.log(`Container ${i++}: ${container.name}`);
}

使用 iter.next() 的範例:

let i = 1;
const iter = blobServiceClient.listContainers();
let containerItem = await iter.next();
while (!containerItem.done) {
  console.log(`Container ${i++}: ${containerItem.value.name}`);
  containerItem = await iter.next();
}

使用 byPage() 的範例:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
  if (response.containerItems) {
    for (const container of response.containerItems) {
      console.log(`Container ${i++}: ${container.name}`);
    }
  }
}

搭配標記使用分頁的範例:

let i = 1;
let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 container names
if (response.containerItems) {
  for (const container of response.containerItems) {
    console.log(`Container ${i++}: ${container.name}`);
  }
}

// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = blobServiceClient
  .listContainers()
  .byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 container names
if (response.containerItems) {
  for (const container of response.containerItems) {
     console.log(`Container ${i++}: ${container.name}`);
  }
}
setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)

設定儲存體帳戶 Blob 服務端點的屬性,包括儲存體分析的屬性、CORS (跨原始來源資源分享) 規則和虛刪除設定。

undeleteContainer(string, string, ServiceUndeleteContainerOptions)

還原先前刪除的 Blob 容器。 只有在針對與容器相關聯的儲存體帳戶啟用容器虛刪除時,此 API 才會正常運作。

建構函式詳細資料

BlobServiceClient(string, PipelineLike)

建立 BlobServiceClient 的實例。

new BlobServiceClient(url: string, pipeline: PipelineLike)

參數

url

string

指向 Azure 儲存體 Blob 服務的用戶端字串,例如 「 https://myaccount.blob.core.windows.net" ;。 如果使用 AnonymousCredential,您可以附加 SAS,例如 「 https://myaccount.blob.core.windows.net?sasString" ;。

pipeline
PipelineLike

呼叫 newPipeline () 以建立預設管線,或提供自訂管線。

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

建立 BlobServiceClient 的實例。

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

參數

url

string

指向 Azure 儲存體 Blob 服務的用戶端字串,例如 「 https://myaccount.blob.core.windows.net" ;。 如果使用 AnonymousCredential,您可以附加 SAS,例如 「 https://myaccount.blob.core.windows.net?sasString" ;。

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

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

options
StoragePipelineOptions

選擇性。 設定 HTTP 管線的選項。

使用 DefaultAzureCredential 的範例: @azure/identity

const account = "<storage account name>";

const defaultAzureCredential = new DefaultAzureCredential();

const blobServiceClient = new BlobServiceClient(
  `https://${account}.blob.core.windows.net`,
  defaultAzureCredential
);

使用帳戶名稱/金鑰的範例:

const account = "<storage account name>"
const sharedKeyCredential = new StorageSharedKeyCredential(account, "<account key>");

const blobServiceClient = new BlobServiceClient(
  `https://${account}.blob.core.windows.net`,
  sharedKeyCredential
);

屬性詳細資料

accountName

accountName: string

屬性值

string

credential

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

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

屬性值

url

編碼的 URL 字串值。

url: string

屬性值

string

方法詳細資料

createContainer(string, ContainerCreateOptions)

建立 Blob 容器。

function createContainer(containerName: string, options?: ContainerCreateOptions)

參數

containerName

string

要建立的容器名稱。

options
ContainerCreateOptions

設定容器建立作業的選項。

傳回

Promise<Object>

容器建立回應和對應的容器用戶端。

deleteContainer(string, ContainerDeleteMethodOptions)

刪除 Blob 容器。

function deleteContainer(containerName: string, options?: ContainerDeleteMethodOptions)

參數

containerName

string

要刪除的容器名稱。

options
ContainerDeleteMethodOptions

設定容器刪除作業的選項。

傳回

容器刪除回應。

findBlobsByTags(string, ServiceFindBlobByTagsOptions)

傳回非同步反覆運算器,以在指定的帳號下尋找具有指定標籤的所有 Blob。 .byPage () 會傳回非同步反覆運算器,以列出分頁中的 Blob。

function findBlobsByTags(tagFilterSqlExpression: string, options?: ServiceFindBlobByTagsOptions)

參數

tagFilterSqlExpression

string

where 參數可讓呼叫端查詢標記符合指定運算式的 Blob。 指定的運算式必須評估為 true,Blob 才能在結果中傳回。 [OData - ABNF] 篩選語法規則會定義 where 查詢參數值的正式文法;不過,Blob 服務只支援 OData 篩選語法的子集。

options
ServiceFindBlobByTagsOptions

依標記尋找 Blob 的選項。

傳回

fromConnectionString(string, StoragePipelineOptions)

從連接字串建立 BlobServiceClient 的實例。

static function fromConnectionString(connectionString: 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

options
StoragePipelineOptions

選擇性。 設定 HTTP 管線的選項。

傳回

generateAccountSasUrl(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)

僅適用于以共用金鑰認證建構的 BlobServiceClient。 根據傳入的用戶端屬性和參數,產生 Blob 帳戶共用存取簽章 (SAS) URI。 SAS 是由用戶端的共用金鑰認證所簽署。

function generateAccountSasUrl(expiresOn?: Date, permissions?: AccountSASPermissions, resourceTypes?: string, options?: ServiceGenerateAccountSasUrlOptions)

參數

expiresOn

Date

選擇性。 共用存取簽章變成不正確時間。 如果未提供,則預設為稍後一小時。

permissions
AccountSASPermissions

指定要與 SAS 相關聯的許可權清單。

resourceTypes

string

指定與共享存取簽章相關聯的資源類型。

options
ServiceGenerateAccountSasUrlOptions

選用參數。

傳回

string

帳戶 SAS URI,其中包含此用戶端所代表資源的 URI,後面接著產生的 SAS 權杖。

getAccountInfo(ServiceGetAccountInfoOptions)

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

function getAccountInfo(options?: ServiceGetAccountInfoOptions)

參數

options
ServiceGetAccountInfoOptions

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

傳回

服務取得帳戶資訊作業的回應資料。

getBlobBatchClient()

建立 BlobBatchClient 物件來執行批次作業。

function getBlobBatchClient()

傳回

此服務的新 BlobBatchClient 物件。

getContainerClient(string)

<xref:ContainerClient>建立 物件

function getContainerClient(containerName: string)

參數

containerName

string

容器名稱

傳回

指定容器名稱的新 ContainerClient 物件。

使用方式範例:

const containerClient = blobServiceClient.getContainerClient("<container name>");

getProperties(ServiceGetPropertiesOptions)

取得儲存體帳戶 Blob 服務的屬性,包括儲存體分析和 CORS (跨原始來源資源分享) 規則的屬性。

function getProperties(options?: ServiceGetPropertiesOptions)

參數

options
ServiceGetPropertiesOptions

服務取得屬性作業的選項。

傳回

服務取得屬性作業的回應資料。

getStatistics(ServiceGetStatisticsOptions)

擷取與 Blob 服務的複寫相關的統計資料。 當儲存體帳戶啟用讀取權限的地理備援複寫時,它只能用於次要位置端點。

function getStatistics(options?: ServiceGetStatisticsOptions)

參數

options
ServiceGetStatisticsOptions

服務取得統計資料作業的選項。

傳回

服務取得統計資料作業的回應資料。

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

只有在使用 BEARER 權杖驗證 (TokenCredential) 時才可使用。 擷取 Blob 服務的使用者委派金鑰。 使用持有人權杖驗證時,這只是有效的作業。

function getUserDelegationKey(startsOn: Date, expiresOn: Date, options?: ServiceGetUserDelegationKeyOptions)

參數

startsOn

Date

使用者委派 SAS 的開始時間。 必須在目前時間的 7 天內

expiresOn

Date

使用者委派 SAS 的結束時間。 必須在目前時間的 7 天內

傳回

listContainers(ServiceListContainersOptions)

傳回非同步反覆運算器,以列出指定帳戶下的所有容器。 .byPage () 會傳回非同步反覆運算器,以列出頁面中的容器。

使用語法的 for await 範例:

let i = 1;
for await (const container of blobServiceClient.listContainers()) {
  console.log(`Container ${i++}: ${container.name}`);
}

使用 iter.next() 的範例:

let i = 1;
const iter = blobServiceClient.listContainers();
let containerItem = await iter.next();
while (!containerItem.done) {
  console.log(`Container ${i++}: ${containerItem.value.name}`);
  containerItem = await iter.next();
}

使用 byPage() 的範例:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
  if (response.containerItems) {
    for (const container of response.containerItems) {
      console.log(`Container ${i++}: ${container.name}`);
    }
  }
}

搭配標記使用分頁的範例:

let i = 1;
let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 container names
if (response.containerItems) {
  for (const container of response.containerItems) {
    console.log(`Container ${i++}: ${container.name}`);
  }
}

// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = blobServiceClient
  .listContainers()
  .byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 container names
if (response.containerItems) {
  for (const container of response.containerItems) {
     console.log(`Container ${i++}: ${container.name}`);
  }
}
function listContainers(options?: ServiceListContainersOptions)

參數

options
ServiceListContainersOptions

列出容器的選項。

傳回

支援分頁的 asyncIterableIterator。

setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)

設定儲存體帳戶 Blob 服務端點的屬性,包括儲存體分析的屬性、CORS (跨原始來源資源分享) 規則和虛刪除設定。

function setProperties(properties: BlobServiceProperties, options?: ServiceSetPropertiesOptions)

參數

options
ServiceSetPropertiesOptions

服務集屬性作業的選項。

傳回

服務集屬性作業的回應資料。

undeleteContainer(string, string, ServiceUndeleteContainerOptions)

還原先前刪除的 Blob 容器。 只有在針對與容器相關聯的儲存體帳戶啟用容器虛刪除時,此 API 才會正常運作。

function undeleteContainer(deletedContainerName: string, deletedContainerVersion: string, options?: ServiceUndeleteContainerOptions)

參數

deletedContainerName

string

先前刪除的容器名稱。

deletedContainerVersion

string

先前刪除的容器版本,用來唯一識別已刪除的容器。

options
ServiceUndeleteContainerOptions

設定容器還原作業的選項。

傳回

Promise<Object>

容器刪除回應。