ContainerClient class
Um ContainerClient representa uma URL para o contêiner do Armazenamento do Azure, permitindo que você manipule seus blobs.
- Extends
Construtores
Container |
Cria uma instância de ContainerClient. Esse método aceita uma URL apontando para um contêiner. A cadeia de caracteres de URL codificada NÃO terá escape duas vezes, somente caracteres especiais no caminho da URL serão escapados. Se um nome de blob incluir ? ou %, o nome do blob deve ser codificado na URL. |
Container |
Cria uma instância de ContainerClient. Esse método aceita uma URL apontando para um contêiner. A cadeia de caracteres de URL codificada NÃO terá escape duas vezes, somente caracteres especiais no caminho da URL serão escapados. Se um nome de blob incluir ? ou %, o nome do blob deve ser codificado na URL. |
Container |
Cria uma instância de ContainerClient. |
Propriedades
account |
|
container |
É o nome do contêiner. |
credential | Como AnonymousCredential, StorageSharedKeyCredential ou qualquer credencial do |
url | Valor da cadeia de caracteres de URL codificada. |
Métodos
create(Container |
Cria um novo contêiner na conta especificada. Se o contêiner com o mesmo nome já existir, a operação falhará. |
create |
Cria um novo contêiner na conta especificada. Se o contêiner com o mesmo nome já existir, ele não será alterado. |
delete(Container |
Marca o contêiner especificado para exclusão. O contêiner e todos os blobs contidos são excluídos posteriormente, durante a coleta de lixo. |
delete |
Marca o blob ou instantâneo especificado para exclusão. O blob é excluído posteriormente, durante a coleta de lixo. Observe que para excluir um blob, você deve excluir todos os seus instantâneos. Você pode excluir ambos ao mesmo tempo com a operação Excluir Blob. |
delete |
Marca o contêiner especificado para exclusão se ele existir. O contêiner e todos os blobs contidos são excluídos posteriormente, durante a coleta de lixo. |
exists(Container |
Retornará true se o recurso de contêiner do Azure representado por esse cliente existir; false caso contrário. OBSERVAÇÃO: use essa função com cuidado, pois um contêiner existente pode ser excluído por outros clientes ou aplicativos. Vice-versa, novos contêineres com o mesmo nome podem ser adicionados por outros clientes ou aplicativos após a conclusão dessa função. |
generate |
Disponível apenas para ContainerClient construído com uma credencial de chave compartilhada. Gera um URI SAS (Assinatura de Acesso Compartilhado) do Serviço de Contêiner de Blob com base nas propriedades e parâmetros do cliente passados. A SAS é assinada pela credencial de chave compartilhada do cliente. |
get |
Obtém as permissões para o contêiner especificado. As permissões indicam se os dados de um contêiner podem ser acessados publicamente. AVISO: a Data do JavaScript potencialmente perderá a precisão ao analisar as cadeias de caracteres startsOn e expiresOn. Por exemplo, a nova Data("2018-12-31T03:44:23.8827891Z").toISOString() obterá "2018-12-31T03:44:23.882Z". |
get |
Cria um <xref:AppendBlobClient> |
get |
Cria um objeto BlobBatchClient para realizar operações em lote. |
get |
Cria uma <xref:BlobClient> |
get |
Obtenha um <xref:BlobLeaseClient> que gerencia as concessões no contêiner. |
get |
Cria uma <xref:BlockBlobClient> |
get |
Cria uma <xref:PageBlobClient> |
get |
Retorna todos os metadados definidos pelo usuário e as propriedades do sistema para o contêiner especificado. Os dados retornados não incluem a lista do contêiner de blobs. |
list |
Retorna um iterador iterável assíncrono para listar todos os blobs por hierarquia. na conta especificada. .byPage() retorna um iterador iterável assíncrono para listar os blobs por hierarquia em páginas. Exemplo usando
Exemplo usando
Exemplo usando
Exemplo usando paginação com um tamanho máximo de página:
|
list |
Retorna um iterador iterável assíncrono para listar todos os blobs na conta especificada. .byPage() retorna um iterador iterável assíncrono para listar os blobs nas páginas. Exemplo usando
Exemplo usando
Exemplo usando
Exemplo usando paginação com um marcador:
|
set |
Define as permissões para o contêiner especificado. As permissões indicam se os blobs de um contêiner podem ser acessados publicamente. Quando você define permissões para um contêiner, as permissões existentes são substituídas. Se nenhum acesso ou contêinerAcl for fornecido, a ACL de contêiner existente será removida. O estabelecimento de uma política de acesso armazenada em um contêiner pode levar até 30 segundos para ter efeito. Durante esse intervalo, uma assinatura de acesso compartilhado que esteja associada à política de acesso armazenada falhará com o código de status 403 (Proibido) até que a política de acesso se torne ativa. |
set |
Define um ou mais pares nome-valor definidos pelo usuário para o contêiner especificado. Se nenhuma opção for fornecida ou nenhum metadado definido no parâmetro , os metadados do contêiner serão removidos. |
upload |
Cria um novo blob de blocos ou atualiza o conteúdo de um blob de blocos existente. A atualização de um blob de blocos existente substitui todos os metadados existentes no blob. Não há suporte para atualizações parciais; o conteúdo do blob existente é substituído pelo novo conteúdo. Para executar uma atualização parcial de um blob de blocos, use <xref:BlockBlobClient.stageBlock> e <xref:BlockBlobClient.commitBlockList>. Esse é um método de carregamento não paralelo, use <xref:BlockBlobClient.uploadFile><xref:BlockBlobClient.uploadStream> ou <xref:BlockBlobClient.uploadBrowserData> para melhorar o desempenho com o carregamento de simultaneidade. |
Detalhes do construtor
ContainerClient(string, PipelineLike)
Cria uma instância de ContainerClient. Esse método aceita uma URL apontando para um contêiner. A cadeia de caracteres de URL codificada NÃO terá escape duas vezes, somente caracteres especiais no caminho da URL serão escapados. Se um nome de blob incluir ? ou %, o nome do blob deve ser codificado na URL.
new ContainerClient(url: string, pipeline: PipelineLike)
Parâmetros
- url
-
string
Uma cadeia de caracteres de URL apontando para o contêiner do Armazenamento do Azure, como "https://myaccount.blob.core.windows.net/mycontainer". Você pode acrescentar uma SAS se estiver usando AnonymousCredential, como "https://myaccount.blob.core.windows.net/mycontainer?sasString".
- pipeline
- PipelineLike
Chame newPipeline() para criar um pipeline padrão ou forneça um pipeline personalizado.
ContainerClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)
Cria uma instância de ContainerClient. Esse método aceita uma URL apontando para um contêiner. A cadeia de caracteres de URL codificada NÃO terá escape duas vezes, somente caracteres especiais no caminho da URL serão escapados. Se um nome de blob incluir ? ou %, o nome do blob deve ser codificado na URL.
new ContainerClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)
Parâmetros
- url
-
string
Uma cadeia de caracteres de URL apontando para o contêiner do Armazenamento do Azure, como "https://myaccount.blob.core.windows.net/mycontainer". Você pode acrescentar uma SAS se estiver usando AnonymousCredential, como "https://myaccount.blob.core.windows.net/mycontainer?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.
ContainerClient(string, string, StoragePipelineOptions)
Cria uma instância de ContainerClient.
new ContainerClient(connectionString: string, containerName: string, options?: StoragePipelineOptions)
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
- containerName
-
string
Nome do contêiner.
- options
- StoragePipelineOptions
Opcional. Opções para configurar o pipeline HTTP.
Detalhes da propriedade
accountName
accountName: string
Valor da propriedade
string
containerName
É o nome do contêiner.
string containerName
Valor da propriedade
string
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
StorageSharedKeyCredential | AnonymousCredential | TokenCredential
url
Valor da cadeia de caracteres de URL codificada.
url: string
Valor da propriedade
string
Detalhes do método
create(ContainerCreateOptions)
Cria um novo contêiner na conta especificada. Se o contêiner com o mesmo nome já existir, a operação falhará.
function create(options?: ContainerCreateOptions)
Parâmetros
- options
- ContainerCreateOptions
Opções para a operação Criação de Contêiner.
Exemplo de uso:
const containerClient = blobServiceClient.getContainerClient("<container name>");
const createContainerResponse = await containerClient.create();
console.log("Container was created successfully", createContainerResponse.requestId);
Retornos
Promise<ContainerCreateResponse>
createIfNotExists(ContainerCreateOptions)
Cria um novo contêiner na conta especificada. Se o contêiner com o mesmo nome já existir, ele não será alterado.
function createIfNotExists(options?: ContainerCreateOptions)
Parâmetros
- options
- ContainerCreateOptions
Retornos
Promise<ContainerCreateIfNotExistsResponse>
delete(ContainerDeleteMethodOptions)
Marca o contêiner especificado para exclusão. O contêiner e todos os blobs contidos são excluídos posteriormente, durante a coleta de lixo.
function delete(options?: ContainerDeleteMethodOptions)
Parâmetros
- options
- ContainerDeleteMethodOptions
Opções para a operação Exclusão de Contêiner.
Retornos
Promise<ContainerDeleteResponse>
deleteBlob(string, ContainerDeleteBlobOptions)
Marca o blob ou instantâneo especificado para exclusão. O blob é excluído posteriormente, durante a coleta de lixo. Observe que para excluir um blob, você deve excluir todos os seus instantâneos. Você pode excluir ambos ao mesmo tempo com a operação Excluir Blob.
function deleteBlob(blobName: string, options?: ContainerDeleteBlobOptions)
Parâmetros
- blobName
-
string
- options
- ContainerDeleteBlobOptions
Opções para a operação Excluir Blob.
Retornos
Promise<BlobDeleteResponse>
Bloquear dados de resposta de exclusão de blob.
deleteIfExists(ContainerDeleteMethodOptions)
Marca o contêiner especificado para exclusão se ele existir. O contêiner e todos os blobs contidos são excluídos posteriormente, durante a coleta de lixo.
function deleteIfExists(options?: ContainerDeleteMethodOptions)
Parâmetros
- options
- ContainerDeleteMethodOptions
Opções para a operação Exclusão de Contêiner.
Retornos
Promise<ContainerDeleteIfExistsResponse>
exists(ContainerExistsOptions)
Retornará true se o recurso de contêiner do Azure representado por esse cliente existir; false caso contrário. OBSERVAÇÃO: use essa função com cuidado, pois um contêiner existente pode ser excluído por outros clientes ou aplicativos. Vice-versa, novos contêineres com o mesmo nome podem ser adicionados por outros clientes ou aplicativos após a conclusão dessa função.
function exists(options?: ContainerExistsOptions)
Parâmetros
- options
- ContainerExistsOptions
Retornos
Promise<boolean>
generateSasUrl(ContainerGenerateSasUrlOptions)
Disponível apenas para ContainerClient construído com uma credencial de chave compartilhada. Gera um URI SAS (Assinatura de Acesso Compartilhado) do Serviço de Contêiner de Blob com base nas propriedades e parâmetros do cliente passados. A SAS é assinada pela credencial de chave compartilhada do cliente.
function generateSasUrl(options: ContainerGenerateSasUrlOptions)
Parâmetros
- options
- ContainerGenerateSasUrlOptions
Parâmetros opcionais.
Retornos
Promise<string>
O URI de SAS que consiste no URI para o recurso representado por esse cliente, seguido pelo token SAS gerado.
getAccessPolicy(ContainerGetAccessPolicyOptions)
Obtém as permissões para o contêiner especificado. As permissões indicam se os dados de um contêiner podem ser acessados publicamente. AVISO: a Data do JavaScript potencialmente perderá a precisão ao analisar as cadeias de caracteres startsOn e expiresOn. Por exemplo, a nova Data("2018-12-31T03:44:23.8827891Z").toISOString() obterá "2018-12-31T03:44:23.882Z".
function getAccessPolicy(options?: ContainerGetAccessPolicyOptions)
Parâmetros
- options
- ContainerGetAccessPolicyOptions
Opções para a operação Da Política de Acesso de Obtenção de Contêiner.
Retornos
Promise<ContainerGetAccessPolicyResponse>
getAppendBlobClient(string)
Cria um <xref:AppendBlobClient>
function getAppendBlobClient(blobName: string)
Parâmetros
- blobName
-
string
Um nome de blob de acréscimo
Retornos
getBlobBatchClient()
Cria um objeto BlobBatchClient para realizar operações em lote.
function getBlobBatchClient()
Retornos
Um novo objeto BlobBatchClient para esse contêiner.
getBlobClient(string)
Cria uma <xref:BlobClient>
function getBlobClient(blobName: string)
Parâmetros
- blobName
-
string
Um nome de blob
Retornos
Um novo objeto BlobClient para o nome do blob fornecido.
getBlobLeaseClient(string)
Obtenha um <xref:BlobLeaseClient> que gerencia as concessões no contêiner.
function getBlobLeaseClient(proposeLeaseId?: string)
Parâmetros
- proposeLeaseId
-
string
ID de concessão proposta inicial.
Retornos
Um novo objeto BlobLeaseClient para gerenciar concessões no contêiner.
getBlockBlobClient(string)
Cria uma <xref:BlockBlobClient>
function getBlockBlobClient(blobName: string)
Parâmetros
- blobName
-
string
Um nome de blob de blocos
Exemplo de uso:
const content = "Hello world!";
const blockBlobClient = containerClient.getBlockBlobClient("<blob name>");
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
Retornos
getPageBlobClient(string)
Cria uma <xref:PageBlobClient>
function getPageBlobClient(blobName: string)
Parâmetros
- blobName
-
string
Um nome de blob de página
Retornos
getProperties(ContainerGetPropertiesOptions)
Retorna todos os metadados definidos pelo usuário e as propriedades do sistema para o contêiner especificado. Os dados retornados não incluem a lista do contêiner de blobs.
function getProperties(options?: ContainerGetPropertiesOptions)
Parâmetros
- options
- ContainerGetPropertiesOptions
Opções para a operação Obter Propriedades do Contêiner.
Retornos
Promise<ContainerGetPropertiesResponse>
listBlobsByHierarchy(string, ContainerListBlobsOptions)
Retorna um iterador iterável assíncrono para listar todos os blobs por hierarquia. na conta especificada. .byPage() retorna um iterador iterável assíncrono para listar os blobs por hierarquia em páginas.
Exemplo usando for await
a sintaxe:
for await (const item of containerClient.listBlobsByHierarchy("/")) {
if (item.kind === "prefix") {
console.log(`\tBlobPrefix: ${item.name}`);
} else {
console.log(`\tBlobItem: name - ${item.name}, last modified - ${item.properties.lastModified}`);
}
}
Exemplo usando iter.next()
:
let iter = containerClient.listBlobsByHierarchy("/", { prefix: "prefix1/" });
let entity = await iter.next();
while (!entity.done) {
let item = entity.value;
if (item.kind === "prefix") {
console.log(`\tBlobPrefix: ${item.name}`);
} else {
console.log(`\tBlobItem: name - ${item.name}, last modified - ${item.properties.lastModified}`);
}
entity = await iter.next();
}
Exemplo usando byPage()
:
console.log("Listing blobs by hierarchy by page");
for await (const response of containerClient.listBlobsByHierarchy("/").byPage()) {
const segment = response.segment;
if (segment.blobPrefixes) {
for (const prefix of segment.blobPrefixes) {
console.log(`\tBlobPrefix: ${prefix.name}`);
}
}
for (const blob of response.segment.blobItems) {
console.log(`\tBlobItem: name - ${blob.name}, last modified - ${blob.properties.lastModified}`);
}
}
Exemplo usando paginação com um tamanho máximo de página:
console.log("Listing blobs by hierarchy by page, specifying a prefix and a max page size");
let i = 1;
for await (const response of containerClient.listBlobsByHierarchy("/", { prefix: "prefix2/sub1/"}).byPage({ maxPageSize: 2 })) {
console.log(`Page ${i++}`);
const segment = response.segment;
if (segment.blobPrefixes) {
for (const prefix of segment.blobPrefixes) {
console.log(`\tBlobPrefix: ${prefix.name}`);
}
}
for (const blob of response.segment.blobItems) {
console.log(`\tBlobItem: name - ${blob.name}, last modified - ${blob.properties.lastModified}`);
}
}
function listBlobsByHierarchy(delimiter: string, options?: ContainerListBlobsOptions)
Parâmetros
- delimiter
-
string
O caractere ou cadeia de caracteres usado para definir a hierarquia virtual
- options
- ContainerListBlobsOptions
Opções para listar a operação de blobs.
Retornos
PagedAsyncIterableIterator<Object & BlobPrefix | Object & BlobItem, ContainerListBlobHierarchySegmentResponse>
listBlobsFlat(ContainerListBlobsOptions)
Retorna um iterador iterável assíncrono para listar todos os blobs na conta especificada. .byPage() retorna um iterador iterável assíncrono para listar os blobs nas páginas.
Exemplo usando for await
a sintaxe:
// Get the containerClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>");`
let i = 1;
for await (const blob of containerClient.listBlobsFlat()) {
console.log(`Blob ${i++}: ${blob.name}`);
}
Exemplo usando iter.next()
:
let i = 1;
let iter = containerClient.listBlobsFlat();
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 containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
for (const blob of response.segment.blobItems) {
console.log(`Blob ${i++}: ${blob.name}`);
}
}
Exemplo usando paginação com um marcador:
let i = 1;
let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;
// Prints 2 blob names
for (const blob of response.segment.blobItems) {
console.log(`Blob ${i++}: ${blob.name}`);
}
// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;
// Prints 10 blob names
for (const blob of response.segment.blobItems) {
console.log(`Blob ${i++}: ${blob.name}`);
}
function listBlobsFlat(options?: ContainerListBlobsOptions)
Parâmetros
- options
- ContainerListBlobsOptions
Opções para listar blobs.
Retornos
PagedAsyncIterableIterator<BlobItem, ContainerListBlobFlatSegmentResponse>
Um asyncIterableIterator que dá suporte à paginação.
setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)
Define as permissões para o contêiner especificado. As permissões indicam se os blobs de um contêiner podem ser acessados publicamente. Quando você define permissões para um contêiner, as permissões existentes são substituídas. Se nenhum acesso ou contêinerAcl for fornecido, a ACL de contêiner existente será removida.
O estabelecimento de uma política de acesso armazenada em um contêiner pode levar até 30 segundos para ter efeito. Durante esse intervalo, uma assinatura de acesso compartilhado que esteja associada à política de acesso armazenada falhará com o código de status 403 (Proibido) até que a política de acesso se torne ativa.
function setAccessPolicy(access?: PublicAccessType, containerAcl?: SignedIdentifier[], options?: ContainerSetAccessPolicyOptions)
Parâmetros
- access
- PublicAccessType
O nível de acesso público aos dados no contêiner.
- containerAcl
Matriz de elementos cada um com uma ID exclusiva e detalhes da política de acesso.
- options
- ContainerSetAccessPolicyOptions
Opções para a operação Defina Política de Acesso de Conjunto de Contêineres.
Retornos
Promise<ContainerSetAccessPolicyResponse>
setMetadata(Metadata, ContainerSetMetadataOptions)
Define um ou mais pares nome-valor definidos pelo usuário para o contêiner especificado. Se nenhuma opção for fornecida ou nenhum metadado definido no parâmetro , os metadados do contêiner serão removidos.
function setMetadata(metadata?: Metadata, options?: ContainerSetMetadataOptions)
Parâmetros
- metadata
- Metadata
Substitua os metadados existentes por esse valor. Se nenhum valor for fornecido, os metadados existentes serão removidos.
- options
- ContainerSetMetadataOptions
Opções para a operação de Metadados de Conjunto de Contêineres.
Retornos
Promise<ContainerSetMetadataResponse>
uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)
Cria um novo blob de blocos ou atualiza o conteúdo de um blob de blocos existente. A atualização de um blob de blocos existente substitui todos os metadados existentes no blob. Não há suporte para atualizações parciais; o conteúdo do blob existente é substituído pelo novo conteúdo. Para executar uma atualização parcial de um blob de blocos, use <xref:BlockBlobClient.stageBlock> e <xref:BlockBlobClient.commitBlockList>.
Esse é um método de carregamento não paralelo, use <xref:BlockBlobClient.uploadFile><xref:BlockBlobClient.uploadStream> ou <xref:BlockBlobClient.uploadBrowserData> para melhorar o desempenho com o carregamento de simultaneidade.
function uploadBlockBlob(blobName: string, body: HttpRequestBody, contentLength: number, options?: BlockBlobUploadOptions)
Parâmetros
- blobName
-
string
Nome do blob de blocos a ser criado ou atualizado.
- body
-
HttpRequestBody
Blob, cadeia de caracteres, ArrayBuffer, ArrayBufferView ou uma função que retorna um novo fluxo legível cujo deslocamento é do início da fonte de dados.
- contentLength
-
number
Comprimento do corpo em bytes. Use Buffer.byteLength() para calcular o comprimento do corpo de uma cadeia de caracteres, incluindo caracteres não codificados em Base64/Hex.
- options
- BlockBlobUploadOptions
Opções para configurar a operação Bloquear Carregamento de Blobs.
Retornos
Promise<Object>
Bloquear dados de resposta de upload de Blob e a instância correspondente de BlockBlobClient.
Azure SDK for JavaScript