Partilhar via


BlockBlobClient class

BlockBlobClient define um conjunto de operações aplicáveis aos blobs de blocos.

Extends

Construtores

BlockBlobClient(string, PipelineLike)

Cria uma instância de BlockBlobClient. Este método aceita um URL codificado ou um URL não codificado que aponta para um blob de blocos. A cadeia de URL codificada NÃO será escapada duas vezes, apenas os carateres especiais no caminho do URL serão escapados. Se um nome de blob incluir ? ou %, o nome do blob tem de ser codificado no URL.

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

Cria uma instância de BlockBlobClient. Este método aceita um URL codificado ou um URL não codificado que aponta para um blob de blocos. A cadeia de URL codificada NÃO será escapada duas vezes, apenas os carateres especiais no caminho do URL serão escapados. Se um nome de blob incluir ? ou %, o nome do blob tem de ser codificado no URL.

BlockBlobClient(string, string, string, StoragePipelineOptions)

Cria uma instância de BlockBlobClient.

Propriedades

accountName
containerName

O nome do contentor de armazenamento ao que o blob está associado.

credential

Tal como AnonymousCredential, StorageSharedKeyCredential ou qualquer credencial do @azure/identity pacote para autenticar pedidos no serviço. Também pode fornecer um objeto que implementa a interface TokenCredential. Se não for especificado, é utilizado AnonymousCredential.

name

O nome do blob.

url

Valor de cadeia de URL codificado.

Métodos

abortCopyFromURL(string, BlobAbortCopyFromURLOptions)

Aborta uma operação de Blob de Cópia assíncrona pendente e deixa um blob de destino com comprimento zero e metadados completos. Versão 2012-02-12 e mais recente.

beginCopyFromURL(string, BlobBeginCopyFromURLOptions)

Copia de forma assíncrona um blob para um destino dentro da conta de armazenamento. Este método devolve um poller de operação de execução prolongada que lhe permite aguardar indefinidamente até que a cópia seja concluída. Também pode cancelar uma cópia antes de ser concluída ao chamar cancelOperation o poller. Tenha em atenção que a chamada de retorno onProgress não será invocada se a operação for concluída no primeiro pedido e tentar cancelar uma cópia concluída resultará num erro. Na versão 2012-02-12 e posterior, a origem de uma operação Copiar Blob pode ser um blob consolidado em qualquer conta de armazenamento do Azure. A partir da versão 2015-02-21, a origem de uma operação Copiar Blob pode ser um ficheiro do Azure em qualquer conta de armazenamento do Azure. Apenas as contas de armazenamento criadas em ou depois de 7 de junho de 2012 permitem que a operação Copiar Blob copie a partir de outra conta de armazenamento.

commitBlockList(string[], BlockBlobCommitBlockListOptions)

Escreve um blob ao especificar a lista de IDs de bloco que compõem o blob. Para ser escrito como parte de um blob, um bloco deve ter sido escrito com êxito no servidor numa operação anterior <xref:stageBlock> . Pode chamar <xref:commitBlockList> para atualizar um blob ao carregar apenas os blocos que foram alterados e, em seguida, consolidar os blocos novos e existentes em conjunto. Quaisquer blocos não especificados na lista de blocos e eliminados permanentemente.

createSnapshot(BlobCreateSnapshotOptions)

Cria um instantâneo só de leitura de um blob.

delete(BlobDeleteOptions)

Marca o blob ou instantâneo especificado para eliminação. O blob é posteriormente eliminado durante a libertação da memória. Tenha em atenção que, para eliminar um blob, tem de eliminar todos os respetivos instantâneos. Pode eliminar ambos ao mesmo tempo com a operação Eliminar Blob.

deleteIfExists(BlobDeleteOptions)

Marca o blob ou instantâneo especificado para eliminação, se existir. O blob é posteriormente eliminado durante a libertação da memória. Tenha em atenção que, para eliminar um blob, tem de eliminar todos os respetivos instantâneos. Pode eliminar ambos ao mesmo tempo com a operação Eliminar Blob.

deleteImmutabilityPolicy(BlobDeleteImmutabilityPolicyOptions)

Elimine a política de immutablility no blob.

download(number, number, BlobDownloadOptions)

Lê ou transfere um blob do sistema, incluindo os respetivos metadados e propriedades. Também pode chamar Obter Blob para ler um instantâneo.

  • No Node.js, os dados são devolvidos num fluxo legível legívelStreamBody
  • Nos browsers, os dados são devolvidos num blobBody de promessa
downloadToBuffer(Buffer, number, number, BlobDownloadToBufferOptions)

DISPONÍVEL APENAS NO NODE.JS RUNTIME. Transfere um Blob do Azure em paralelo para uma memória intermédia. O deslocamento e a contagem são opcionais, transfere todo o blob se não forem fornecidos.

Aviso: As memórias intermédias só podem suportar ficheiros até cerca de um gigabyte em sistemas de 32 bits ou cerca de dois gigabytes em sistemas de 64 bits devido a limitações de Node.js/V8. Para blobs maiores do que este tamanho, considere <xref:downloadToFile>.

downloadToBuffer(number, number, BlobDownloadToBufferOptions)

DISPONÍVEL APENAS NO NODE.JS RUNTIME. Transfere um Blob do Azure em paralelo para uma memória intermédia. O deslocamento e a contagem são opcionais, transfere todo o blob se não forem fornecidos.

Aviso: As memórias intermédias só podem suportar ficheiros até cerca de um gigabyte em sistemas de 32 bits ou cerca de dois gigabytes em sistemas de 64 bits devido a limitações de Node.js/V8. Para blobs maiores do que este tamanho, considere <xref:downloadToFile>.

downloadToFile(string, number, number, BlobDownloadOptions)

DISPONÍVEL APENAS NO NODE.JS RUNTIME. Transfere um Blob do Azure para um ficheiro local. Falha se o caminho de ficheiro especificado já sair. O deslocamento e a contagem são opcionais, passam 0 e são indefinidos, respetivamente, para transferir todo o blob.

exists(BlobExistsOptions)

Devolve true se o recurso de blob do Azure representado por este cliente existir; falso, caso contrário. NOTA: utilize esta função com cuidado, uma vez que um blob existente pode ser eliminado por outros clientes ou aplicações. Os novos blobs vice-versa podem ser adicionados por outros clientes ou aplicações após a conclusão desta função.

generateSasUrl(BlobGenerateSasUrlOptions)

Disponível apenas para BlobClient construído com uma credencial de chave partilhada. Gera um URI de Assinatura de Acesso Partilhado (SAS) do Serviço blob com base nas propriedades e parâmetros do cliente transmitidos. A SAS é assinada pela credencial de chave partilhada do cliente.

getAppendBlobClient()

Cria um objeto AppendBlobClient.

getBlobLeaseClient(string)

Obtenha um <xref:BlobLeaseClient> que faça a gestão de concessões no blob.

getBlockBlobClient()

Cria um objeto BlockBlobClient.

getBlockList(BlockListType, BlockBlobGetBlockListOptions)

Devolve a lista de blocos que foram carregados como parte de um blob de blocos com o filtro de lista de blocos especificado.

getPageBlobClient()

Cria um objeto PageBlobClient.

getProperties(BlobGetPropertiesOptions)

Devolve todos os metadados definidos pelo utilizador, propriedades HTTP padrão e propriedades do sistema para o blob. Não devolve o conteúdo do blob.

getTags(BlobGetTagsOptions)

Obtém as etiquetas associadas ao blob subjacente.

query(string, BlockBlobQueryOptions)

DISPONÍVEL APENAS NO NODE.JS RUNTIME. Consulta rápida para um blob formatado JSON ou CSV.

Utilização de exemplo (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);
  });
}
setAccessTier(BlockBlobTier | PremiumPageBlobTier | string, BlobSetTierOptions)

Define a camada num blob. A operação é permitida num blob de páginas numa conta de armazenamento premium e num blob de blocos numa conta de armazenamento de blobs (apenas armazenamento localmente redundante). O escalão de um blob de páginas premium determina o tamanho permitido, o IOPS e a largura de banda do blob. A camada de um blob de blocos determina o tipo de armazenamento Frequente/Esporádico/Arquivo. Esta operação não atualiza a ETag do blob.

setHTTPHeaders(BlobHTTPHeaders, BlobSetHTTPHeadersOptions)

Define as propriedades do sistema no blob. Se não for fornecido nenhum valor ou nenhum valor fornecido para os cabeçalhos HTTP de blob especificados, estes cabeçalhos HTTP de blob sem um valor serão limpos.

setImmutabilityPolicy(BlobImmutabilityPolicy, BlobSetImmutabilityPolicyOptions)

Defina a política de imutablilidade no blob.

setLegalHold(boolean, BlobSetLegalHoldOptions)

Defina a suspensão legal no blob.

setMetadata(Metadata, BlobSetMetadataOptions)

Define metadados definidos pelo utilizador para o blob especificado como um ou mais pares nome-valor. Se não for fornecida nenhuma opção ou se não forem definidos metadados no parâmetro, os metadados do blob serão removidos.

setTags(Tags, BlobSetTagsOptions)

Define etiquetas no blob subjacente. Um blob pode ter até 10 etiquetas. As teclas de etiqueta têm de ter entre 1 e 128 carateres. Os valores das etiquetas têm de ter entre 0 e 256 carateres. Os carateres de valor e chave de etiqueta válidos incluem letras minúsculas e maiúsculas, dígitos (0-9), espaço (' '), mais ('+'), subtração ('-'), ponto final ('.'), barra ('/'), dois pontos (':'), igual a ('=') e sublinhado ('_') .

stageBlock(string, HttpRequestBody, number, BlockBlobStageBlockOptions)

Carrega o bloco especificado para a "área de teste" do blob de blocos para ser posteriormente consolidado por uma chamada para commitBlockList.

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

A operação Bloco de Fase a Partir do URL cria um novo bloco a ser consolidado como parte de um blob onde os conteúdos são lidos a partir de um URL. Esta API está disponível a partir da versão 2018-03-28.

syncCopyFromURL(string, BlobSyncCopyFromURLOptions)

A operação copy from URL síncrona copia um blob ou um recurso da Internet para um novo blob. Não devolverá uma resposta até que a cópia esteja concluída.

syncUploadFromURL(string, BlockBlobSyncUploadFromURLOptions)

Cria um novo Blob de Blocos onde os conteúdos do blob são lidos a partir de um determinado URL. Esta API é suportada a partir da versão 2020-04-08. As atualizações parciais não são suportadas com a opção Colocar Blob a partir do URL; o conteúdo de um blob existente é substituído pelo conteúdo do novo blob. Para efetuar atualizações parciais para o conteúdo de um blob de blocos com um URL de origem, utilize <xref:stageBlockFromURL> e <xref:commitBlockList>.

undelete(BlobUndeleteOptions)

Restaura os conteúdos e metadados do blob eliminado de forma recuperável e quaisquer instantâneos de eliminação recuperável associados. O Undelete Blob só é suportado na versão 2017-07-29 ou posterior.

upload(HttpRequestBody, number, BlockBlobUploadOptions)

Cria um novo blob de blocos ou atualiza o conteúdo de um blob de blocos existente. Atualizar um blob de blocos existente substitui quaisquer metadados existentes no blob. As atualizações parciais não são suportadas; o conteúdo do blob existente é substituído pelo novo conteúdo. Para efetuar uma atualização parcial de um blob de blocos, utilize <xref:stageBlock> e <xref:commitBlockList>. Este é um método de carregamento não paralelo, utilize <xref:uploadFile>ou <xref:uploadStream><xref:uploadBrowserData> para um melhor desempenho com o carregamento de simultaneidade.

uploadBrowserData(Blob | ArrayBuffer | ArrayBufferView, BlockBlobParallelUploadOptions)

APENAS DISPONÍVEL EM BROWSERS. Carrega um objeto Blob/File/ArrayBuffer/ArrayBufferView do browser para bloquear o blob.

Quando o comprimento da memória intermédia for inferior ou igual a 256 MB, este método utilizará 1 chamada de carregamento para concluir o carregamento. Caso contrário, este método irá chamar <xref:stageBlock> para carregar blocos e, por fim, chamar <xref:commitBlockList> para consolidar a lista de blocos.

Uma opção comum <xref:BlockBlobParallelUploadOptions.blobHTTPHeaders> a definir é blobContentType, ativando o browser para fornecer funcionalidades com base no tipo de ficheiro.

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

Carrega um objeto Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView para um blockBlob. Quando o comprimento dos dados não for superior ao especificado <xref:BlockBlobParallelUploadOptions.maxSingleShotSize> (a predefinição é <xref:BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES>), este método utilizará 1 <xref:upload> chamada para concluir o carregamento. Caso contrário, este método irá chamar <xref:stageBlock> para carregar blocos e, por fim, chamar <xref:commitBlockList> para consolidar a lista de blocos.

Uma opção comum <xref:BlockBlobParallelUploadOptions.blobHTTPHeaders> a definir é blobContentType, ativando o browser para fornecer funcionalidades com base no tipo de ficheiro.

uploadFile(string, BlockBlobParallelUploadOptions)

APENAS DISPONÍVEL NO NODE.JS RUNTIME. Carrega um ficheiro local em blocos para um blob de blocos.

Quando o tamanho do ficheiro for inferior ou igual a 256 MB, este método utilizará 1 chamada de carregamento para concluir o carregamento. Caso contrário, este método chamará stageBlock para carregar blocos e, por fim, chamará commitBlockList para consolidar a lista de blocos.

uploadStream(Readable, number, number, BlockBlobUploadStreamOptions)

APENAS DISPONÍVEL NO NODE.JS RUNTIME. Carrega um fluxo Node.js Legível para o blob de blocos.

SUGESTÕES DE MELHORIA DE DESEMPENHO:

  • O fluxo de entrada highWaterMark é melhor definir um mesmo valor com o parâmetro bufferSize, o que evitará operações Buffer.concat().
withSnapshot(string)

Cria um novo objeto BlockBlobClient idêntico à origem, mas com o carimbo de data/hora do instantâneo especificado. Fornecer "" removerá o instantâneo e devolverá um URL ao blob base.

withVersion(string)

Cria um novo objeto BlobClient que aponta para uma versão deste blob. Fornecer "" removerá o versionId e devolverá um Cliente ao blob base.

Detalhes do Construtor

BlockBlobClient(string, PipelineLike)

Cria uma instância de BlockBlobClient. Este método aceita um URL codificado ou um URL não codificado que aponta para um blob de blocos. A cadeia de URL codificada NÃO será escapada duas vezes, apenas os carateres especiais no caminho do URL serão escapados. Se um nome de blob incluir ? ou %, o nome do blob tem de ser codificado no URL.

new BlockBlobClient(url: string, pipeline: PipelineLike)

Parâmetros

url

string

Uma cadeia de URL a apontar para o blob de blocos do Armazenamento do Azure, como "https://myaccount.blob.core.windows.net/mycontainer/blockblob". Pode acrescentar uma SAS se utilizar AnonymousCredential, como "https://myaccount.blob.core.windows.net/mycontainer/blockblob?sasString". Este método aceita um URL codificado ou um URL não codificado que aponta para um blob. A cadeia de URL codificada NÃO será escapada duas vezes, apenas os carateres especiais no caminho do URL serão escapados. No entanto, se um nome de blob incluir ? ou %, o nome do blob tem de ser codificado no URL. Tal como um blob com o nome "my?blob%", o URL deve ser "https://myaccount.blob.core.windows.net/mycontainer/my%3Fblob%25".

pipeline
PipelineLike

Chame newPipeline() para criar um pipeline predefinido ou forneça um pipeline personalizado.

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

Cria uma instância de BlockBlobClient. Este método aceita um URL codificado ou um URL não codificado que aponta para um blob de blocos. A cadeia de URL codificada NÃO será escapada duas vezes, apenas os carateres especiais no caminho do URL serão escapados. Se um nome de blob incluir ? ou %, o nome do blob tem de ser codificado no URL.

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

Parâmetros

url

string

Uma cadeia de URL a apontar para o blob de blocos do Armazenamento do Azure, como "https://myaccount.blob.core.windows.net/mycontainer/blockblob". Pode acrescentar uma SAS se utilizar AnonymousCredential, como "https://myaccount.blob.core.windows.net/mycontainer/blockblob?sasString". Este método aceita um URL codificado ou um URL não codificado que aponta para um blob. A cadeia de URL codificada NÃO será escapada duas vezes, apenas os carateres especiais no caminho do URL serão escapados. No entanto, se um nome de blob incluir ? ou %, o nome do blob tem de ser codificado no URL. Tal como um blob com o nome "my?blob%", o URL deve ser "https://myaccount.blob.core.windows.net/mycontainer/my%3Fblob%25".

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Tal como AnonymousCredential, StorageSharedKeyCredential ou qualquer credencial do @azure/identity pacote para autenticar pedidos no serviço. Também pode fornecer um objeto que implementa a interface TokenCredential. Se não for especificado, é utilizado AnonymousCredential.

options
StoragePipelineOptions

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

BlockBlobClient(string, string, string, StoragePipelineOptions)

Cria uma instância de BlockBlobClient.

new BlockBlobClient(connectionString: string, containerName: string, blobName: string, options?: StoragePipelineOptions)

Parâmetros

connectionString

string

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

containerName

string

Nome do contentor.

blobName

string

Nome do blob.

options
StoragePipelineOptions

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

Detalhes de Propriedade

accountName

accountName: string

Valor de Propriedade

string

containerName

O nome do contentor de armazenamento ao que o blob está associado.

string containerName

Valor de Propriedade

string

credential

Tal como AnonymousCredential, StorageSharedKeyCredential ou qualquer credencial do @azure/identity pacote para autenticar pedidos no serviço. Também pode fornecer um objeto que implementa a interface TokenCredential. Se não for especificado, é utilizado AnonymousCredential.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Valor de Propriedade

name

O nome do blob.

string name

Valor de Propriedade

string

url

Valor de cadeia de URL codificado.

url: string

Valor de Propriedade

string

Detalhes de Método

abortCopyFromURL(string, BlobAbortCopyFromURLOptions)

Aborta uma operação de Blob de Cópia assíncrona pendente e deixa um blob de destino com comprimento zero e metadados completos. Versão 2012-02-12 e mais recente.

function abortCopyFromURL(copyId: string, options?: BlobAbortCopyFromURLOptions)

Parâmetros

copyId

string

ID da operação Copiar do URL.

options
BlobAbortCopyFromURLOptions

Opções opcionais para a operação Abortar Cópia do UrL do Blob.

Devoluções

beginCopyFromURL(string, BlobBeginCopyFromURLOptions)

Copia de forma assíncrona um blob para um destino dentro da conta de armazenamento. Este método devolve um poller de operação de execução prolongada que lhe permite aguardar indefinidamente até que a cópia seja concluída. Também pode cancelar uma cópia antes de ser concluída ao chamar cancelOperation o poller. Tenha em atenção que a chamada de retorno onProgress não será invocada se a operação for concluída no primeiro pedido e tentar cancelar uma cópia concluída resultará num erro. Na versão 2012-02-12 e posterior, a origem de uma operação Copiar Blob pode ser um blob consolidado em qualquer conta de armazenamento do Azure. A partir da versão 2015-02-21, a origem de uma operação Copiar Blob pode ser um ficheiro do Azure em qualquer conta de armazenamento do Azure. Apenas as contas de armazenamento criadas em ou depois de 7 de junho de 2012 permitem que a operação Copiar Blob copie a partir de outra conta de armazenamento.

function beginCopyFromURL(copySource: string, options?: BlobBeginCopyFromURLOptions)

Parâmetros

copySource

string

url para o Blob/Ficheiro do Azure de origem.

options
BlobBeginCopyFromURLOptions

Opções opcionais para a operação Iniciar Cópia a Partir do URL do Blob.

Devoluções

Promise<PollerLike<PollOperationState<BlobBeginCopyFromURLResponse>, BlobBeginCopyFromURLResponse>>

commitBlockList(string[], BlockBlobCommitBlockListOptions)

Escreve um blob ao especificar a lista de IDs de bloco que compõem o blob. Para ser escrito como parte de um blob, um bloco deve ter sido escrito com êxito no servidor numa operação anterior <xref:stageBlock> . Pode chamar <xref:commitBlockList> para atualizar um blob ao carregar apenas os blocos que foram alterados e, em seguida, consolidar os blocos novos e existentes em conjunto. Quaisquer blocos não especificados na lista de blocos e eliminados permanentemente.

function commitBlockList(blocks: string[], options?: BlockBlobCommitBlockListOptions)

Parâmetros

blocks

string[]

Matriz de valor de 64 bytes com codificação base64

options
BlockBlobCommitBlockListOptions

Opções para a operação Bloquear Lista de Blocos de Consolidação de Blobs.

Devoluções

Dados de resposta para a operação Bloquear Lista de Blocos de Consolidação de Blocos.

createSnapshot(BlobCreateSnapshotOptions)

Cria um instantâneo só de leitura de um blob.

function createSnapshot(options?: BlobCreateSnapshotOptions)

Parâmetros

options
BlobCreateSnapshotOptions

Opções opcionais para a operação Criar Instantâneo do Blob.

Devoluções

delete(BlobDeleteOptions)

Marca o blob ou instantâneo especificado para eliminação. O blob é posteriormente eliminado durante a libertação da memória. Tenha em atenção que, para eliminar um blob, tem de eliminar todos os respetivos instantâneos. Pode eliminar ambos ao mesmo tempo com a operação Eliminar Blob.

function delete(options?: BlobDeleteOptions)

Parâmetros

options
BlobDeleteOptions

Opções opcionais para a operação de Eliminação de Blobs.

Devoluções

deleteIfExists(BlobDeleteOptions)

Marca o blob ou instantâneo especificado para eliminação, se existir. O blob é posteriormente eliminado durante a libertação da memória. Tenha em atenção que, para eliminar um blob, tem de eliminar todos os respetivos instantâneos. Pode eliminar ambos ao mesmo tempo com a operação Eliminar Blob.

function deleteIfExists(options?: BlobDeleteOptions)

Parâmetros

options
BlobDeleteOptions

Opções opcionais para a operação de Eliminação de Blobs.

Devoluções

deleteImmutabilityPolicy(BlobDeleteImmutabilityPolicyOptions)

Elimine a política de immutablility no blob.

function deleteImmutabilityPolicy(options?: BlobDeleteImmutabilityPolicyOptions)

Parâmetros

options
BlobDeleteImmutabilityPolicyOptions

Opções opcionais para eliminar a política de imutabilidade no blob.

Devoluções

download(number, number, BlobDownloadOptions)

Lê ou transfere um blob do sistema, incluindo os respetivos metadados e propriedades. Também pode chamar Obter Blob para ler um instantâneo.

  • No Node.js, os dados são devolvidos num fluxo legível legívelStreamBody
  • Nos browsers, os dados são devolvidos num blobBody de promessa
function download(offset?: number, count?: number, options?: BlobDownloadOptions)

Parâmetros

offset

number

A partir da posição do blob a transferir, maior ou igual a 0

count

number

A quantidade de dados a transferir, superior a 0. Será transferido para o fim quando não for definido

options
BlobDownloadOptions

Opções opcionais para a operação de Transferência de Blobs.

Utilização de exemplo (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);
});
}

Utilização de exemplo (browser):

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

Devoluções

downloadToBuffer(Buffer, number, number, BlobDownloadToBufferOptions)

DISPONÍVEL APENAS NO NODE.JS RUNTIME. Transfere um Blob do Azure em paralelo para uma memória intermédia. O deslocamento e a contagem são opcionais, transfere todo o blob se não forem fornecidos.

Aviso: As memórias intermédias só podem suportar ficheiros até cerca de um gigabyte em sistemas de 32 bits ou cerca de dois gigabytes em sistemas de 64 bits devido a limitações de Node.js/V8. Para blobs maiores do que este tamanho, considere <xref:downloadToFile>.

function downloadToBuffer(buffer: Buffer, offset?: number, count?: number, options?: BlobDownloadToBufferOptions)

Parâmetros

buffer

Buffer

Memória intermédia a preencher, tem de ter um comprimento superior à contagem

offset

number

A partir da posição do blob de blocos a transferir(em bytes)

count

number

A quantidade de dados (em bytes) a transferir. Será transferida para o fim ao passar indefinidamente

options
BlobDownloadToBufferOptions

BlobDownloadToBufferOptions

Devoluções

Promise<Buffer>

downloadToBuffer(number, number, BlobDownloadToBufferOptions)

DISPONÍVEL APENAS NO NODE.JS RUNTIME. Transfere um Blob do Azure em paralelo para uma memória intermédia. O deslocamento e a contagem são opcionais, transfere todo o blob se não forem fornecidos.

Aviso: As memórias intermédias só podem suportar ficheiros até cerca de um gigabyte em sistemas de 32 bits ou cerca de dois gigabytes em sistemas de 64 bits devido a limitações de Node.js/V8. Para blobs maiores do que este tamanho, considere <xref:downloadToFile>.

function downloadToBuffer(offset?: number, count?: number, options?: BlobDownloadToBufferOptions)

Parâmetros

offset

number

A partir da posição do blob de blocos a transferir(em bytes)

count

number

A quantidade de dados (em bytes) a transferir. Será transferida para o fim ao passar indefinidamente

options
BlobDownloadToBufferOptions

BlobDownloadToBufferOptions

Devoluções

Promise<Buffer>

downloadToFile(string, number, number, BlobDownloadOptions)

DISPONÍVEL APENAS NO NODE.JS RUNTIME. Transfere um Blob do Azure para um ficheiro local. Falha se o caminho de ficheiro especificado já sair. O deslocamento e a contagem são opcionais, passam 0 e são indefinidos, respetivamente, para transferir todo o blob.

function downloadToFile(filePath: string, offset?: number, count?: number, options?: BlobDownloadOptions)

Parâmetros

filePath

string

offset

number

A partir da posição do blob de blocos a transferir.

count

number

A quantidade de dados a transferir. Será transferido para o fim ao passar indefinido.

options
BlobDownloadOptions

Opções para opções de transferência de Blobs.

Devoluções

Os dados de resposta para a operação de transferência de blobs, mas com readableStreamBody definido como indefinido, uma vez que o respetivo conteúdo já é lido e escrito num ficheiro local no caminho especificado.

exists(BlobExistsOptions)

Devolve true se o recurso de blob do Azure representado por este cliente existir; falso, caso contrário. NOTA: utilize esta função com cuidado, uma vez que um blob existente pode ser eliminado por outros clientes ou aplicações. Os novos blobs vice-versa podem ser adicionados por outros clientes ou aplicações após a conclusão desta função.

function exists(options?: BlobExistsOptions)

Parâmetros

options
BlobExistsOptions

opções para a operação Existe.

Devoluções

Promise<boolean>

generateSasUrl(BlobGenerateSasUrlOptions)

Disponível apenas para BlobClient construído com uma credencial de chave partilhada. Gera um URI de Assinatura de Acesso Partilhado (SAS) do Serviço blob com base nas propriedades e parâmetros do cliente transmitidos. A SAS é assinada pela credencial de chave partilhada do cliente.

function generateSasUrl(options: BlobGenerateSasUrlOptions)

Parâmetros

options
BlobGenerateSasUrlOptions

Parâmetros opcionais.

Devoluções

Promise<string>

O URI de SAS que consiste no URI para o recurso representado por este cliente, seguido do token de SAS gerado.

getAppendBlobClient()

Cria um objeto AppendBlobClient.

function getAppendBlobClient()

Devoluções

getBlobLeaseClient(string)

Obtenha um <xref:BlobLeaseClient> que faça a gestão de concessões no blob.

function getBlobLeaseClient(proposeLeaseId?: string)

Parâmetros

proposeLeaseId

string

ID de concessão proposta inicial.

Devoluções

Um novo objeto BlobLeaseClient para gerir concessões no blob.

getBlockBlobClient()

Cria um objeto BlockBlobClient.

function getBlockBlobClient()

Devoluções

getBlockList(BlockListType, BlockBlobGetBlockListOptions)

Devolve a lista de blocos que foram carregados como parte de um blob de blocos com o filtro de lista de blocos especificado.

function getBlockList(listType: BlockListType, options?: BlockBlobGetBlockListOptions)

Parâmetros

listType
BlockListType

Especifica se pretende devolver a lista de blocos consolidados, a lista de blocos não consolidados ou ambas as listas em conjunto.

options
BlockBlobGetBlockListOptions

Opções para a operação Bloquear Blob Obter Lista de Blocos.

Devoluções

Dados de resposta para a operação Bloquear Blob Obter Lista de Blocos.

getPageBlobClient()

Cria um objeto PageBlobClient.

function getPageBlobClient()

Devoluções

getProperties(BlobGetPropertiesOptions)

Devolve todos os metadados definidos pelo utilizador, propriedades HTTP padrão e propriedades do sistema para o blob. Não devolve o conteúdo do blob.

function getProperties(options?: BlobGetPropertiesOptions)

Parâmetros

options
BlobGetPropertiesOptions

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

Devoluções

getTags(BlobGetTagsOptions)

Obtém as etiquetas associadas ao blob subjacente.

function getTags(options?: BlobGetTagsOptions)

Parâmetros

Devoluções

query(string, BlockBlobQueryOptions)

DISPONÍVEL APENAS NO NODE.JS RUNTIME. Consulta rápida para um blob formatado JSON ou CSV.

Utilização de exemplo (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)

Parâmetros

query

string

Devoluções

setAccessTier(BlockBlobTier | PremiumPageBlobTier | string, BlobSetTierOptions)

Define a camada num blob. A operação é permitida num blob de páginas numa conta de armazenamento premium e num blob de blocos numa conta de armazenamento de blobs (apenas armazenamento localmente redundante). O escalão de um blob de páginas premium determina o tamanho permitido, o IOPS e a largura de banda do blob. A camada de um blob de blocos determina o tipo de armazenamento Frequente/Esporádico/Arquivo. Esta operação não atualiza a ETag do blob.

function setAccessTier(tier: BlockBlobTier | PremiumPageBlobTier | string, options?: BlobSetTierOptions)

Parâmetros

tier

BlockBlobTier | PremiumPageBlobTier | string

A camada a definir no blob. Os valores válidos são Frequente, Esporádico ou Arquivo.

options
BlobSetTierOptions

Opções opcionais para a operação de Camada de Conjunto de Blobs.

Devoluções

setHTTPHeaders(BlobHTTPHeaders, BlobSetHTTPHeadersOptions)

Define as propriedades do sistema no blob. Se não for fornecido nenhum valor ou nenhum valor fornecido para os cabeçalhos HTTP de blob especificados, estes cabeçalhos HTTP de blob sem um valor serão limpos.

function setHTTPHeaders(blobHTTPHeaders?: BlobHTTPHeaders, options?: BlobSetHTTPHeadersOptions)

Parâmetros

blobHTTPHeaders
BlobHTTPHeaders

Se não for fornecido nenhum valor ou nenhum valor fornecido para os cabeçalhos HTTP de blob especificados, estes cabeçalhos HTTP de blob sem um valor serão limpos. Um cabeçalho comum a definir está blobContentType a permitir que o browser forneça funcionalidades com base no tipo de ficheiro.

options
BlobSetHTTPHeadersOptions

Opções opcionais para a operação Definir Cabeçalhos HTTP do Blob.

Devoluções

setImmutabilityPolicy(BlobImmutabilityPolicy, BlobSetImmutabilityPolicyOptions)

Defina a política de imutablilidade no blob.

function setImmutabilityPolicy(immutabilityPolicy: BlobImmutabilityPolicy, options?: BlobSetImmutabilityPolicyOptions)

Parâmetros

immutabilityPolicy
BlobImmutabilityPolicy
options
BlobSetImmutabilityPolicyOptions

Opções opcionais para definir a política de imutabilidade no blob.

Devoluções

setLegalHold(boolean, BlobSetLegalHoldOptions)

Defina a suspensão legal no blob.

function setLegalHold(legalHoldEnabled: boolean, options?: BlobSetLegalHoldOptions)

Parâmetros

legalHoldEnabled

boolean

options
BlobSetLegalHoldOptions

Opções opcionais para definir a suspensão legal no blob.

Devoluções

setMetadata(Metadata, BlobSetMetadataOptions)

Define metadados definidos pelo utilizador para o blob especificado como um ou mais pares nome-valor. Se não for fornecida nenhuma opção ou se não forem definidos metadados no parâmetro, os metadados do blob serão removidos.

function setMetadata(metadata?: Metadata, options?: BlobSetMetadataOptions)

Parâmetros

metadata
Metadata

Substitua os metadados existentes por este valor. Se não for fornecido nenhum valor, os metadados existentes serão removidos.

options
BlobSetMetadataOptions

Opções opcionais para definir a operação de Metadados.

Devoluções

setTags(Tags, BlobSetTagsOptions)

Define etiquetas no blob subjacente. Um blob pode ter até 10 etiquetas. As teclas de etiqueta têm de ter entre 1 e 128 carateres. Os valores das etiquetas têm de ter entre 0 e 256 carateres. Os carateres de valor e chave de etiqueta válidos incluem letras minúsculas e maiúsculas, dígitos (0-9), espaço (' '), mais ('+'), subtração ('-'), ponto final ('.'), barra ('/'), dois pontos (':'), igual a ('=') e sublinhado ('_') .

function setTags(tags: Tags, options?: BlobSetTagsOptions)

Parâmetros

tags
Tags

Devoluções

stageBlock(string, HttpRequestBody, number, BlockBlobStageBlockOptions)

Carrega o bloco especificado para a "área de teste" do blob de blocos para ser posteriormente consolidado por uma chamada para commitBlockList.

function stageBlock(blockId: string, body: HttpRequestBody, contentLength: number, options?: BlockBlobStageBlockOptions)

Parâmetros

blockId

string

Um valor de 64 bytes codificado com base64

body

HttpRequestBody

Dados a carregar para a área de teste.

contentLength

number

Número de bytes a carregar.

options
BlockBlobStageBlockOptions

Opções para a operação Bloquear Bloco de Fase de Blobs.

Devoluções

Dados de resposta para a operação Bloquear Bloco de Fase de Blobs.

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

A operação Bloco de Fase a Partir do URL cria um novo bloco a ser consolidado como parte de um blob onde os conteúdos são lidos a partir de um URL. Esta API está disponível a partir da versão 2018-03-28.

function stageBlockFromURL(blockId: string, sourceURL: string, offset?: number, count?: number, options?: BlockBlobStageBlockFromURLOptions)

Parâmetros

blockId

string

Um valor de 64 bytes codificado com base64

sourceURL

string

Especifica o URL do blob. O valor pode ser um URL de até 2 KB de comprimento que especifica um blob. O valor deve ser codificado por URL, uma vez que apareceria num URI de pedido. O blob de origem tem de ser público ou tem de ser autenticado através de uma assinatura de acesso partilhado. Se o blob de origem for público, não é necessária autenticação para executar a operação. Eis alguns exemplos de URLs de objetos de origem: - https://myaccount.blob.core.windows.net/mycontainer/myblob - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=

offset

number

A partir da posição do blob a transferir, maior ou igual a 0

count

number

A quantidade de dados a transferir, superior a 0. Será transferido para o fim quando não for definido

options
BlockBlobStageBlockFromURLOptions

Opções para a operação Bloquear Bloco de Fase de Blobs do URL.

Devoluções

Dados de resposta para a operação Bloquear Bloco de Fase de Blobs do URL.

syncCopyFromURL(string, BlobSyncCopyFromURLOptions)

A operação copy from URL síncrona copia um blob ou um recurso da Internet para um novo blob. Não devolverá uma resposta até que a cópia esteja concluída.

function syncCopyFromURL(copySource: string, options?: BlobSyncCopyFromURLOptions)

Parâmetros

copySource

string

O URL de origem a partir do qual copiar, Assinatura de Acesso Partilhado (SAS) talvez seja necessário para autenticação

Devoluções

syncUploadFromURL(string, BlockBlobSyncUploadFromURLOptions)

Cria um novo Blob de Blocos onde os conteúdos do blob são lidos a partir de um determinado URL. Esta API é suportada a partir da versão 2020-04-08. As atualizações parciais não são suportadas com a opção Colocar Blob a partir do URL; o conteúdo de um blob existente é substituído pelo conteúdo do novo blob. Para efetuar atualizações parciais para o conteúdo de um blob de blocos com um URL de origem, utilize <xref:stageBlockFromURL> e <xref:commitBlockList>.

function syncUploadFromURL(sourceURL: string, options?: BlockBlobSyncUploadFromURLOptions)

Parâmetros

sourceURL

string

Especifica o URL do blob. O valor pode ser um URL de até 2 KB de comprimento que especifica um blob. O valor deve ser codificado por URL, uma vez que apareceria num URI de pedido. O blob de origem tem de ser público ou tem de ser autenticado através de uma assinatura de acesso partilhado. Se o blob de origem for público, não é necessária autenticação para executar a operação. Eis alguns exemplos de URLs de objetos de origem: - https://myaccount.blob.core.windows.net/mycontainer/myblob - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=

options
BlockBlobSyncUploadFromURLOptions

Parâmetros opcionais.

Devoluções

undelete(BlobUndeleteOptions)

Restaura os conteúdos e metadados do blob eliminado de forma recuperável e quaisquer instantâneos de eliminação recuperável associados. O Undelete Blob só é suportado na versão 2017-07-29 ou posterior.

function undelete(options?: BlobUndeleteOptions)

Parâmetros

options
BlobUndeleteOptions

Opções opcionais para a operação de Eliminação de Blobs.

Devoluções

upload(HttpRequestBody, number, BlockBlobUploadOptions)

Cria um novo blob de blocos ou atualiza o conteúdo de um blob de blocos existente. Atualizar um blob de blocos existente substitui quaisquer metadados existentes no blob. As atualizações parciais não são suportadas; o conteúdo do blob existente é substituído pelo novo conteúdo. Para efetuar uma atualização parcial de um blob de blocos, utilize <xref:stageBlock> e <xref:commitBlockList>. Este é um método de carregamento não paralelo, utilize <xref:uploadFile>ou <xref:uploadStream><xref:uploadBrowserData> para um melhor desempenho com o carregamento de simultaneidade.

function upload(body: HttpRequestBody, contentLength: number, options?: BlockBlobUploadOptions)

Parâmetros

body

HttpRequestBody

Blob, cadeia, ArrayBuffer, ArrayBufferView ou uma função que devolve um novo fluxo Legível cujo desvio é do início da origem de dados.

contentLength

number

Comprimento do corpo em bytes. Utilize Buffer.byteLength() para calcular o comprimento do corpo de uma cadeia, incluindo carateres não codificados por Base64/Hex.

options
BlockBlobUploadOptions

Opções para a operação Bloquear Carregamento de Blobs.

Devoluções

Dados de resposta para a operação De Carregamento de Blobs de Blocos.

Utilização de exemplo:

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

uploadBrowserData(Blob | ArrayBuffer | ArrayBufferView, BlockBlobParallelUploadOptions)

Aviso

Esta API foi preterida.

Use <xref:uploadData> instead.

APENAS DISPONÍVEL EM BROWSERS. Carrega um objeto Blob/File/ArrayBuffer/ArrayBufferView do browser para bloquear o blob.

Quando o comprimento da memória intermédia for inferior ou igual a 256 MB, este método utilizará 1 chamada de carregamento para concluir o carregamento. Caso contrário, este método irá chamar <xref:stageBlock> para carregar blocos e, por fim, chamar <xref:commitBlockList> para consolidar a lista de blocos.

Uma opção comum <xref:BlockBlobParallelUploadOptions.blobHTTPHeaders> a definir é blobContentType, ativando o browser para fornecer funcionalidades com base no tipo de ficheiro.

function uploadBrowserData(browserData: Blob | ArrayBuffer | ArrayBufferView, options?: BlockBlobParallelUploadOptions)

Parâmetros

browserData

Blob | ArrayBuffer | ArrayBufferView

Blob, File, ArrayBuffer ou ArrayBufferView

options
BlockBlobParallelUploadOptions

Opções para carregar dados do browser.

Devoluções

Dados de resposta para a operação de Carregamento de Blobs.

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

Carrega um objeto Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView para um blockBlob. Quando o comprimento dos dados não for superior ao especificado <xref:BlockBlobParallelUploadOptions.maxSingleShotSize> (a predefinição é <xref:BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES>), este método utilizará 1 <xref:upload> chamada para concluir o carregamento. Caso contrário, este método irá chamar <xref:stageBlock> para carregar blocos e, por fim, chamar <xref:commitBlockList> para consolidar a lista de blocos.

Uma opção comum <xref:BlockBlobParallelUploadOptions.blobHTTPHeaders> a definir é blobContentType, ativando o browser para fornecer funcionalidades com base no tipo de ficheiro.

function uploadData(data: Buffer | Blob | ArrayBuffer | ArrayBufferView, options?: BlockBlobParallelUploadOptions)

Parâmetros

data

Buffer | Blob | ArrayBuffer | ArrayBufferView

Buffer(Node.js), Blob, ArrayBuffer ou ArrayBufferView

Devoluções

uploadFile(string, BlockBlobParallelUploadOptions)

APENAS DISPONÍVEL NO NODE.JS RUNTIME. Carrega um ficheiro local em blocos para um blob de blocos.

Quando o tamanho do ficheiro for inferior ou igual a 256 MB, este método utilizará 1 chamada de carregamento para concluir o carregamento. Caso contrário, este método chamará stageBlock para carregar blocos e, por fim, chamará commitBlockList para consolidar a lista de blocos.

function uploadFile(filePath: string, options?: BlockBlobParallelUploadOptions)

Parâmetros

filePath

string

Caminho completo do ficheiro local

options
BlockBlobParallelUploadOptions

Opções para Carregar para a operação Bloquear Blobs.

Devoluções

Dados de resposta para a operação de Carregamento de Blobs.

uploadStream(Readable, number, number, BlockBlobUploadStreamOptions)

APENAS DISPONÍVEL NO NODE.JS RUNTIME. Carrega um fluxo Node.js Legível para o blob de blocos.

SUGESTÕES DE MELHORIA DE DESEMPENHO:

  • O fluxo de entrada highWaterMark é melhor definir um mesmo valor com o parâmetro bufferSize, o que evitará operações Buffer.concat().
function uploadStream(stream: Readable, bufferSize?: number, maxConcurrency?: number, options?: BlockBlobUploadStreamOptions)

Parâmetros

stream

Readable

Node.js Fluxo legível

bufferSize

number

Tamanho de cada memória intermédia alocada, também o tamanho do bloco no blob de bloco carregado. O valor predefinido é 8 MB

maxConcurrency

number

A simultaneidade máxima indica o número máximo de memórias intermédias que podem ser alocadas, correlação positiva com simultaneidade máxima de carregamento. O valor predefinido é 5

options
BlockBlobUploadStreamOptions

Opções para Carregar o Stream para a operação Bloquear Blobs.

Devoluções

Dados de resposta para a operação de Carregamento de Blobs.

withSnapshot(string)

Cria um novo objeto BlockBlobClient idêntico à origem, mas com o carimbo de data/hora do instantâneo especificado. Fornecer "" removerá o instantâneo e devolverá um URL ao blob base.

function withSnapshot(snapshot: string)

Parâmetros

snapshot

string

O carimbo de data/hora do instantâneo.

Devoluções

Um novo objeto BlockBlobClient idêntico à origem, mas com o carimbo de data/hora do instantâneo especificado.

withVersion(string)

Cria um novo objeto BlobClient que aponta para uma versão deste blob. Fornecer "" removerá o versionId e devolverá um Cliente ao blob base.

function withVersion(versionId: string)

Parâmetros

versionId

string

O versionId.

Devoluções

Um novo objeto BlobClient que aponta para a versão deste blob.