Compartilhar via


BlobServiceClient class

Um BlobServiceClient representa um Cliente para o serviço de Blob de Armazenamento do Azure, permitindo que você manipule contêineres de blob.

Extends

StorageClient

Construtores

BlobServiceClient(string, PipelineLike)

Cria uma instância de BlobServiceClient.

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

Cria uma instância de BlobServiceClient.

Propriedades herdadas

accountName
credential

Como AnonymousCredential, StorageSharedKeyCredential ou qualquer credencial do @azure/identity pacote para autenticar solicitações para o serviço. Você também pode fornecer um objeto que implementa a interface TokenCredential. Se não for especificado, AnonymousCredential será usado.

url

Valor da cadeia de caracteres de URL codificada.

Métodos

createContainer(string, ContainerCreateOptions)

Criar um contêiner de Blob.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-container

deleteContainer(string, ContainerDeleteMethodOptions)

Exclui um contêiner de Blob.

findBlobsByTags(string, ServiceFindBlobByTagsOptions)

Retorna um iterador iterável assíncrono para localizar todos os blobs com a marca especificada na conta especificada.

.byPage() retorna um iterador iterável assíncrono para listar os blobs nas páginas.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties

Exemplo usando for await a sintaxe:

let i = 1;
for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
  console.log(`Blob ${i++}: ${container.name}`);
}

Exemplo usando iter.next():

let i = 1;
const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
let blobItem = await iter.next();
while (!blobItem.done) {
  console.log(`Blob ${i++}: ${blobItem.value.name}`);
  blobItem = await iter.next();
}

Exemplo usando byPage():

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 20 })) {
  if (response.blobs) {
    for (const blob of response.blobs) {
      console.log(`Blob ${i++}: ${blob.name}`);
    }
  }
}

Exemplo usando paginação com um marcador:

let i = 1;
let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 blob names
if (response.blobs) {
  for (const blob of response.blobs) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

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

// Prints blob names
if (response.blobs) {
  for (const blob of response.blobs) {
     console.log(`Blob ${i++}: ${blob.name}`);
  }
}
fromConnectionString(string, StoragePipelineOptions)

Cria uma instância de BlobServiceClient da cadeia de conexão.

generateAccountSasUrl(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)

Disponível somente para BlobServiceClient construído com uma credencial de chave compartilhada.

Gera um URI de SAS (Assinatura de Acesso Compartilhado) da conta de Blob com base nas propriedades e parâmetros do cliente passados. A SAS é assinada pela credencial de chave compartilhada do cliente.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas

getAccountInfo(ServiceGetAccountInfoOptions)

A operação Obter Informações da Conta retorna o nome do sku e o tipo de conta da conta especificada. A operação Obter Informações da Conta está disponível em versões de serviço a partir da versão 2018-03-28.

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

getBlobBatchClient()

Cria um objeto BlobBatchClient para realizar operações em lote.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch

getContainerClient(string)

Cria um objeto ContainerClient

getProperties(ServiceGetPropertiesOptions)

Obtém as propriedades do serviço Blob de uma conta de armazenamento, incluindo propriedades para regras de Análise de Armazenamento e CORS (compartilhamento de recursos entre origens).

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties

getStatistics(ServiceGetStatisticsOptions)

Recupera as estatísticas relacionadas à replicação do serviço Blob. Ela está disponível apenas no ponto de extremidade de local secundário quando a replicação georredundante de acesso de leitura está habilitada para a conta de armazenamento.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-stats

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

DISPONÍVEL SOMENTE AO USAR A AUTENTICAÇÃO DE TOKEN DE PORTADOR (TokenCredential).

Recupera uma chave de delegação de usuário para o serviço Blob. Essa é apenas uma operação válida ao usar a autenticação de token de portador.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/get-user-delegation-key

listContainers(ServiceListContainersOptions)

Retorna um iterador iterável assíncrono para listar todos os contêineres na conta especificada.

.byPage() retorna um iterador iterável assíncrono para listar os contêineres em páginas.

Exemplo usando for await a sintaxe:

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

Exemplo usando 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();
}

Exemplo usando 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}`);
    }
  }
}

Exemplo usando paginação com um marcador:

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)

Define propriedades para o ponto de extremidade do serviço Blob de uma conta de armazenamento, incluindo propriedades para Análise de Armazenamento, regras cors (compartilhamento de recursos entre origens) e configurações de exclusão reversível.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-service-properties

undeleteContainer(string, string, ServiceUndeleteContainerOptions)

Restaurar um contêiner de Blob excluído anteriormente. Essa API só será funcional se a Exclusão Reversível de Contêiner estiver habilitada para a conta de armazenamento associada ao contêiner.

Detalhes do construtor

BlobServiceClient(string, PipelineLike)

Cria uma instância de BlobServiceClient.

new BlobServiceClient(url: string, pipeline: PipelineLike)

Parâmetros

url

string

Uma cadeia de caracteres do cliente apontando para o serviço de blob do Armazenamento do Azure, como "https://myaccount.blob.core.windows.net". Você pode acrescentar uma SAS se estiver usando AnonymousCredential, como "https://myaccount.blob.core.windows.net?sasString".

pipeline
PipelineLike

Chame newPipeline() para criar um pipeline padrão ou forneça um pipeline personalizado.

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

Cria uma instância de BlobServiceClient.

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

Parâmetros

url

string

Uma cadeia de caracteres do cliente apontando para o serviço de blob do Armazenamento do Azure, como "https://myaccount.blob.core.windows.net". Você pode acrescentar uma SAS se estiver usando AnonymousCredential, como "https://myaccount.blob.core.windows.net?sasString".

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Como AnonymousCredential, StorageSharedKeyCredential ou qualquer credencial do @azure/identity pacote para autenticar solicitações para o serviço. Você também pode fornecer um objeto que implementa a interface TokenCredential. Se não for especificado, AnonymousCredential será usado.

options
StoragePipelineOptions

Opcional. Opções para configurar o pipeline HTTP.

Exemplo usando DefaultAzureCredential de @azure/identity:

const account = "<storage account name>";

const defaultAzureCredential = new DefaultAzureCredential();

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

Exemplo usando um nome/chave de conta:

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

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

Detalhes das propriedades herdadas

accountName

accountName: string

Valor da propriedade

string

Herdado de StorageClient.accountName

credential

Como AnonymousCredential, StorageSharedKeyCredential ou qualquer credencial do @azure/identity pacote para autenticar solicitações para o serviço. Você também pode fornecer um objeto que implementa a interface TokenCredential. Se não for especificado, AnonymousCredential será usado.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Valor da propriedade

Herdado de StorageClient.credential

url

Valor da cadeia de caracteres de URL codificada.

url: string

Valor da propriedade

string

Herdado de StorageClient.url

Detalhes do método

createContainer(string, ContainerCreateOptions)

Criar um contêiner de Blob.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-container

function createContainer(containerName: string, options?: ContainerCreateOptions): Promise<{ containerClient: ContainerClient, containerCreateResponse: ContainerCreateResponse }>

Parâmetros

containerName

string

Nome do contêiner a ser criado.

options
ContainerCreateOptions

Opções para configurar a operação Criação de Contêiner.

Retornos

Promise<{ containerClient: ContainerClient, containerCreateResponse: ContainerCreateResponse }>

Resposta de criação de contêiner e o cliente de contêiner correspondente.

deleteContainer(string, ContainerDeleteMethodOptions)

Exclui um contêiner de Blob.

function deleteContainer(containerName: string, options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteResponse>

Parâmetros

containerName

string

Nome do contêiner a ser excluído.

options
ContainerDeleteMethodOptions

Opções para configurar a operação exclusão de contêiner.

Retornos

Resposta de exclusão de contêiner.

findBlobsByTags(string, ServiceFindBlobByTagsOptions)

Retorna um iterador iterável assíncrono para localizar todos os blobs com a marca especificada na conta especificada.

.byPage() retorna um iterador iterável assíncrono para listar os blobs nas páginas.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties

Exemplo usando for await a sintaxe:

let i = 1;
for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
  console.log(`Blob ${i++}: ${container.name}`);
}

Exemplo usando iter.next():

let i = 1;
const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
let blobItem = await iter.next();
while (!blobItem.done) {
  console.log(`Blob ${i++}: ${blobItem.value.name}`);
  blobItem = await iter.next();
}

Exemplo usando byPage():

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 20 })) {
  if (response.blobs) {
    for (const blob of response.blobs) {
      console.log(`Blob ${i++}: ${blob.name}`);
    }
  }
}

Exemplo usando paginação com um marcador:

let i = 1;
let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 blob names
if (response.blobs) {
  for (const blob of response.blobs) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

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

// Prints blob names
if (response.blobs) {
  for (const blob of response.blobs) {
     console.log(`Blob ${i++}: ${blob.name}`);
  }
}
function findBlobsByTags(tagFilterSqlExpression: string, options?: ServiceFindBlobByTagsOptions): PagedAsyncIterableIterator<FilterBlobItem, ServiceFindBlobsByTagsSegmentResponse, PageSettings>

Parâmetros

tagFilterSqlExpression

string

O parâmetro where permite que o chamador consulte blobs cujas marcas correspondem a uma determinada expressão. A expressão fornecida deve ser avaliada como true para que um blob seja retornado nos resultados. A regra de sintaxe de filtro[OData - ABNF] define a gramática formal para o valor do parâmetro de consulta where; no entanto, há suporte apenas para um subconjunto da sintaxe de filtro OData no serviço Blob.

options
ServiceFindBlobByTagsOptions

Opções para localizar blobs por marcas.

Retornos

fromConnectionString(string, StoragePipelineOptions)

Cria uma instância de BlobServiceClient da cadeia de conexão.

static function fromConnectionString(connectionString: string, options?: StoragePipelineOptions): BlobServiceClient

Parâmetros

connectionString

string

Cadeia de conexão de conta ou uma cadeia de conexão SAS de uma conta de armazenamento do Azure. [ Observação - A cadeia de conexão da conta só pode ser usada em NODE.JS runtime. ] Exemplo de cadeia de conexão de conta –DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net Exemplo de cadeia de conexão 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

Opcional. Opções para configurar o pipeline HTTP.

Retornos

generateAccountSasUrl(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)

Disponível somente para BlobServiceClient construído com uma credencial de chave compartilhada.

Gera um URI de SAS (Assinatura de Acesso Compartilhado) da conta de Blob com base nas propriedades e parâmetros do cliente passados. A SAS é assinada pela credencial de chave compartilhada do cliente.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas

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

Parâmetros

expiresOn

Date

Opcional. A hora em que a assinatura de acesso compartilhado se torna inválida. O padrão será uma hora depois, se não for fornecido.

permissions
AccountSASPermissions

Especifica a lista de permissões a serem associadas à SAS.

resourceTypes

string

Especifica os tipos de recursos associados à assinatura de acesso compartilhado.

options
ServiceGenerateAccountSasUrlOptions

Parâmetros opcionais.

Retornos

string

Um URI de SAS de conta que consiste no URI para o recurso representado por esse cliente, seguido pelo token SAS gerado.

getAccountInfo(ServiceGetAccountInfoOptions)

A operação Obter Informações da Conta retorna o nome do sku e o tipo de conta da conta especificada. A operação Obter Informações da Conta está disponível em versões de serviço a partir da versão 2018-03-28.

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

function getAccountInfo(options?: ServiceGetAccountInfoOptions): Promise<ServiceGetAccountInfoResponse>

Parâmetros

options
ServiceGetAccountInfoOptions

Opções para a operação Obter Informações da Conta do Serviço.

Retornos

Dados de resposta para a operação Obter Informações da Conta do Serviço.

getBlobBatchClient()

Cria um objeto BlobBatchClient para realizar operações em lote.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch

function getBlobBatchClient(): BlobBatchClient

Retornos

Um novo objeto BlobBatchClient para esse serviço.

getContainerClient(string)

Cria um objeto ContainerClient

function getContainerClient(containerName: string): ContainerClient

Parâmetros

containerName

string

Um nome de contêiner

Retornos

Um novo objeto ContainerClient para o nome do contêiner fornecido.

Exemplo de uso:

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

getProperties(ServiceGetPropertiesOptions)

Obtém as propriedades do serviço Blob de uma conta de armazenamento, incluindo propriedades para regras de Análise de Armazenamento e CORS (compartilhamento de recursos entre origens).

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties

function getProperties(options?: ServiceGetPropertiesOptions): Promise<ServiceGetPropertiesResponse>

Parâmetros

options
ServiceGetPropertiesOptions

Opções para a operação Obter Propriedades do Serviço.

Retornos

Dados de resposta para a operação Obter Propriedades do Serviço.

getStatistics(ServiceGetStatisticsOptions)

Recupera as estatísticas relacionadas à replicação do serviço Blob. Ela está disponível apenas no ponto de extremidade de local secundário quando a replicação georredundante de acesso de leitura está habilitada para a conta de armazenamento.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-stats

function getStatistics(options?: ServiceGetStatisticsOptions): Promise<ServiceGetStatisticsResponse>

Parâmetros

options
ServiceGetStatisticsOptions

Opções para a operação Obter Estatísticas do Serviço.

Retornos

Dados de resposta para a operação Obter Estatísticas do Serviço.

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

DISPONÍVEL SOMENTE AO USAR A AUTENTICAÇÃO DE TOKEN DE PORTADOR (TokenCredential).

Recupera uma chave de delegação de usuário para o serviço Blob. Essa é apenas uma operação válida ao usar a autenticação de token de portador.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/get-user-delegation-key

function getUserDelegationKey(startsOn: Date, expiresOn: Date, options?: ServiceGetUserDelegationKeyOptions): Promise<ServiceGetUserDelegationKeyResponse>

Parâmetros

startsOn

Date

A hora de início da SAS de delegação de usuário. Deve estar dentro de 7 dias da hora atual

expiresOn

Date

A hora de término da SAS de delegação de usuário. Deve estar dentro de 7 dias da hora atual

Retornos

listContainers(ServiceListContainersOptions)

Retorna um iterador iterável assíncrono para listar todos os contêineres na conta especificada.

.byPage() retorna um iterador iterável assíncrono para listar os contêineres em páginas.

Exemplo usando for await a sintaxe:

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

Exemplo usando 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();
}

Exemplo usando 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}`);
    }
  }
}

Exemplo usando paginação com um marcador:

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): PagedAsyncIterableIterator<ContainerItem, ServiceListContainersSegmentResponse, PageSettings>

Parâmetros

options
ServiceListContainersOptions

Opções para listar contêineres.

Retornos

Um asyncIterableIterator que dá suporte à paginação.

setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)

Define propriedades para o ponto de extremidade do serviço Blob de uma conta de armazenamento, incluindo propriedades para Análise de Armazenamento, regras cors (compartilhamento de recursos entre origens) e configurações de exclusão reversível.

Veja https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-service-properties

function setProperties(properties: BlobServiceProperties, options?: ServiceSetPropertiesOptions): Promise<ServiceSetPropertiesResponse>

Parâmetros

options
ServiceSetPropertiesOptions

Opções para a operação Propriedades do Conjunto de Serviços.

Retornos

Dados de resposta para a operação Propriedades do Conjunto de Serviços.

undeleteContainer(string, string, ServiceUndeleteContainerOptions)

Restaurar um contêiner de Blob excluído anteriormente. Essa API só será funcional se a Exclusão Reversível de Contêiner estiver habilitada para a conta de armazenamento associada ao contêiner.

function undeleteContainer(deletedContainerName: string, deletedContainerVersion: string, options?: ServiceUndeleteContainerOptions): Promise<{ containerClient: ContainerClient, containerUndeleteResponse: ContainerUndeleteResponse }>

Parâmetros

deletedContainerName

string

Nome do contêiner excluído anteriormente.

deletedContainerVersion

string

Versão do contêiner excluído anteriormente, usada para identificar exclusivamente o contêiner excluído.

options
ServiceUndeleteContainerOptions

Opções para configurar a operação de Restauração de Contêiner.

Retornos

Promise<{ containerClient: ContainerClient, containerUndeleteResponse: ContainerUndeleteResponse }>

Resposta de exclusão de contêiner.