ContainerClient class

ContainerClient representa una dirección URL al contenedor de Azure Storage que le permite manipular sus blobs.

Extends

StorageClient

Constructores

ContainerClient(string, PipelineLike)

Crea una instancia de ContainerClient. Este método acepta una dirección URL que apunta a un contenedor. La cadena de dirección URL codificada NO se escapará dos veces, solo se escaparán los caracteres especiales de la ruta de acceso url. Si un nombre de blob incluye ? o %, el nombre del blob debe estar codificado en la dirección URL.

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

Crea una instancia de ContainerClient. Este método acepta una dirección URL que apunta a un contenedor. La cadena de dirección URL codificada NO se escapará dos veces, solo se escaparán los caracteres especiales de la ruta de acceso url. Si un nombre de blob incluye ? o %, el nombre del blob debe estar codificado en la dirección URL.

ContainerClient(string, string, StoragePipelineOptions)

Crea una instancia de ContainerClient.

Propiedades

containerName

nombre del contenedor.

Propiedades heredadas

accountName
credential

Por ejemplo, AnonymousCredential, StorageSharedKeyCredential o cualquier credencial del @azure/identity paquete para autenticar las solicitudes en el servicio. También puede proporcionar un objeto que implemente la interfaz TokenCredential. Si no se especifica, se usa AnonymousCredential.

url

Valor de cadena de dirección URL codificada.

Métodos

create(ContainerCreateOptions)

Crea un contenedor en la cuenta especificada. Si ya existe un contenedor con el mismo nombre, se produce un error en la operación.

Consulte https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Reglas de nomenclatura: Consulte https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

createIfNotExists(ContainerCreateOptions)

Crea un contenedor en la cuenta especificada. Si el contenedor con el mismo nombre ya existe, no se cambia.

Consulte https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Reglas de nomenclatura: Consulte https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

delete(ContainerDeleteMethodOptions)

Marca el contenedor especificado para su eliminación. El contenedor y los blobs incluidos en él se eliminan posteriormente durante la recolección de elementos no utilizados.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container.

deleteBlob(string, ContainerDeleteBlobOptions)

Marca el blob o la instantánea especificados para su eliminación. El blob se elimina posteriormente durante la recolección de elementos no utilizados. Tenga en cuenta que para eliminar un blob, debe eliminar todas sus instantáneas. Puede eliminar ambos al mismo tiempo con la operación Eliminar blob.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob.

deleteIfExists(ContainerDeleteMethodOptions)

Marca el contenedor especificado para su eliminación si existe. El contenedor y los blobs incluidos en él se eliminan posteriormente durante la recolección de elementos no utilizados.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container.

exists(ContainerExistsOptions)

Devuelve true si el recurso de contenedor de Azure representado por este cliente existe; False en caso contrario.

NOTA: Use esta función con cuidado, ya que otros clientes o aplicaciones pueden eliminar un contenedor existente. Viceversa, es posible que otros clientes o aplicaciones agreguen nuevos contenedores con el mismo nombre una vez completada esta función.

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Devuelve un iterador asincrónico para buscar todos los blobs con la etiqueta especificada en el contenedor especificado.

.byPage() devuelve un iterador asincrónico para enumerar los blobs de las páginas.

Ejemplo de uso de for await la sintaxis:

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

Ejemplo con iter.next():

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

Ejemplo con byPage():

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

Ejemplo de uso de paginación con un marcador:

let i = 1;
let iterator = containerClient.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 = containerClient
  .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}`);
  }
}
generateSasUrl(ContainerGenerateSasUrlOptions)

Solo está disponible para ContainerClient construido con una credencial de clave compartida.

Genera un URI de firma de acceso compartido (SAS) de Blob Container Service basado en las propiedades y parámetros del cliente pasados. La SAS está firmada por la credencial de clave compartida del cliente.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas.

getAccessPolicy(ContainerGetAccessPolicyOptions)

Obtiene los permisos para el contenedor especificado. Los permisos indican si el acceso a los datos de un contenedor es público.

ADVERTENCIA: La fecha de JavaScript perderá la precisión al analizar las cadenas startsOn y expiresOn. Por ejemplo, new Date("2018-12-31T03:44:23.8827891Z").toISOString() obtendrá "2018-12-31T03:44:23.882Z".

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl.

getAppendBlobClient(string)

Crea un AppendBlobClient

getBlobBatchClient()

Crea un objeto BlobBatchClient para realizar operaciones por lotes.

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

getBlobClient(string)

Crea un BlobClient

getBlobLeaseClient(string)

Obtenga un BlobLeaseClient que administre concesiones en el contenedor.

getBlockBlobClient(string)

Crea un BlockBlobClient

getPageBlobClient(string)

Crea un objeto PageBlobClient

getProperties(ContainerGetPropertiesOptions)

Devuelve todos los metadatos definidos por el usuario y las propiedades del sistema para el contenedor especificado. Los datos devueltos no incluyen la lista de blobs del contenedor.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties.

ADVERTENCIA: El metadata objeto devuelto en la respuesta tendrá sus claves en minúsculas, incluso si contenían caracteres en mayúsculas originalmente. Esto difiere de las claves de metadatos devueltas por el listContainers método de BlobServiceClient mediante la includeMetadata opción , que conservará su mayúscula y minúscula original.

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Devuelve un iterador asincrónico para enumerar todos los blobs por jerarquía. en la cuenta especificada.

.byPage() devuelve un iterador asincrónico para enumerar los blobs por jerarquía en páginas.

Ejemplo de uso de for await la sintaxis:

for await (const item of containerClient.listBlobsByHierarchy("/")) {
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}`);
  }
}

Ejemplo con 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}`);
  }
  entity = await iter.next();
}

Ejemplo con 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}`);
  }
}

Ejemplo de uso de paginación con un tamaño 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}`);
  }
}
listBlobsFlat(ContainerListBlobsOptions)

Devuelve un iterador asincrónico para enumerar todos los blobs de la cuenta especificada.

.byPage() devuelve un iterador asincrónico para enumerar los blobs de las páginas.

Ejemplo de uso de for await la sintaxis:

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

Ejemplo con 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();
}

Ejemplo con 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}`);
  }
}

Ejemplo de uso de paginación con un 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}`);
}
setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

Establece los permisos para el contenedor especificado. Los permisos indican si el acceso a los blobs de un contenedor es público.

Al establecer los permisos para un contenedor, los permisos existentes se reemplazan. Si no se proporciona ningún acceso o containerAcl, se quitará la ACL del contenedor existente.

Establecer una directiva de acceso almacenada en un contenedor puede tardar hasta 30 segundos en aplicarse. Durante este intervalo, una firma de acceso compartido que se asocia a la directiva de acceso almacenada producirá un error con el código de estado 403 (Prohibido), hasta que la directiva de acceso se active.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl.

setMetadata(Metadata, ContainerSetMetadataOptions)

Establece uno o varios pares nombre-valor definidos por el usuario para el contenedor especificado.

Si no se proporciona ninguna opción o ningún metadato definido en el parámetro , se quitarán los metadatos del contenedor.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-metadata.

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente.

La actualización de un blob en bloques existente sobrescribe los metadatos existentes en él. No se admiten actualizaciones parciales; el contenido del blob existente se sobrescribe con el nuevo contenido. Para realizar una actualización parcial de un blob en bloques, use stageBlock y commitBlockList.

Se trata de un método de carga no paralelo, use uploadFile, uploadStream o uploadBrowserData para mejorar el rendimiento con la carga de simultaneidad.

Consulta https://docs.microsoft.com/rest/api/storageservices/put-blob.

Detalles del constructor

ContainerClient(string, PipelineLike)

Crea una instancia de ContainerClient. Este método acepta una dirección URL que apunta a un contenedor. La cadena de dirección URL codificada NO se escapará dos veces, solo se escaparán los caracteres especiales de la ruta de acceso url. Si un nombre de blob incluye ? o %, el nombre del blob debe estar codificado en la dirección URL.

new ContainerClient(url: string, pipeline: PipelineLike)

Parámetros

url

string

Cadena de dirección URL que apunta al contenedor de Azure Storage, como "https://myaccount.blob.core.windows.net/mycontainer". Puede anexar una SAS si usa AnonymousCredential, como "https://myaccount.blob.core.windows.net/mycontainer?sasString".

pipeline
PipelineLike

Llame a newPipeline() para crear una canalización predeterminada o proporcione una canalización personalizada.

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

Crea una instancia de ContainerClient. Este método acepta una dirección URL que apunta a un contenedor. La cadena de dirección URL codificada NO se escapará dos veces, solo se escaparán los caracteres especiales de la ruta de acceso url. Si un nombre de blob incluye ? o %, el nombre del blob debe estar codificado en la dirección URL.

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

Parámetros

url

string

Cadena de dirección URL que apunta al contenedor de Azure Storage, como "https://myaccount.blob.core.windows.net/mycontainer". Puede anexar una SAS si usa AnonymousCredential, como "https://myaccount.blob.core.windows.net/mycontainer?sasString".

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Por ejemplo, AnonymousCredential, StorageSharedKeyCredential o cualquier credencial del @azure/identity paquete para autenticar las solicitudes en el servicio. También puede proporcionar un objeto que implemente la interfaz TokenCredential. Si no se especifica, se usa AnonymousCredential.

options
StoragePipelineOptions

Opcional. Opciones para configurar la canalización HTTP.

ContainerClient(string, string, StoragePipelineOptions)

Crea una instancia de ContainerClient.

new ContainerClient(connectionString: string, containerName: string, options?: StoragePipelineOptions)

Parámetros

connectionString

string

Cadena de conexión de la cuenta o una cadena de conexión de SAS de una cuenta de almacenamiento de Azure. [ Nota: la cadena de conexión de la cuenta solo se puede usar en NODE.JS tiempo de ejecución. ] Ejemplo de cadena de conexión de cuenta:DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net Ejemplo de cadena de conexión de 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

El nombre del contenedor.

options
StoragePipelineOptions

Opcional. Opciones para configurar la canalización HTTP.

Detalles de las propiedades

containerName

nombre del contenedor.

string containerName

Valor de propiedad

string

Detalles de las propiedades heredadas

accountName

accountName: string

Valor de propiedad

string

Heredado de StorageClient.accountName

credential

Por ejemplo, AnonymousCredential, StorageSharedKeyCredential o cualquier credencial del @azure/identity paquete para autenticar las solicitudes en el servicio. También puede proporcionar un objeto que implemente la interfaz TokenCredential. Si no se especifica, se usa AnonymousCredential.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Valor de propiedad

Heredado de StorageClient.credential

url

Valor de cadena de dirección URL codificada.

url: string

Valor de propiedad

string

Heredado de StorageClient.url

Detalles del método

create(ContainerCreateOptions)

Crea un contenedor en la cuenta especificada. Si ya existe un contenedor con el mismo nombre, se produce un error en la operación.

Consulte https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Reglas de nomenclatura: Consulte https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

function create(options?: ContainerCreateOptions): Promise<ContainerCreateResponse>

Parámetros

options
ContainerCreateOptions

Opciones para la operación De creación de contenedor.

Ejemplo de uso:

const containerClient = blobServiceClient.getContainerClient("<container name>");
const createContainerResponse = await containerClient.create();
console.log("Container was created successfully", createContainerResponse.requestId);

Devoluciones

createIfNotExists(ContainerCreateOptions)

Crea un contenedor en la cuenta especificada. Si el contenedor con el mismo nombre ya existe, no se cambia.

Consulte https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Reglas de nomenclatura: Consulte https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

function createIfNotExists(options?: ContainerCreateOptions): Promise<ContainerCreateIfNotExistsResponse>

Parámetros

Devoluciones

delete(ContainerDeleteMethodOptions)

Marca el contenedor especificado para su eliminación. El contenedor y los blobs incluidos en él se eliminan posteriormente durante la recolección de elementos no utilizados.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container.

function delete(options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteResponse>

Parámetros

options
ContainerDeleteMethodOptions

Opciones para la operación de eliminación de contenedor.

Devoluciones

deleteBlob(string, ContainerDeleteBlobOptions)

Marca el blob o la instantánea especificados para su eliminación. El blob se elimina posteriormente durante la recolección de elementos no utilizados. Tenga en cuenta que para eliminar un blob, debe eliminar todas sus instantáneas. Puede eliminar ambos al mismo tiempo con la operación Eliminar blob.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob.

function deleteBlob(blobName: string, options?: ContainerDeleteBlobOptions): Promise<BlobDeleteResponse>

Parámetros

blobName

string

options
ContainerDeleteBlobOptions

Opciones para la operación de eliminación de blobs.

Devoluciones

Datos de respuesta de eliminación de blobs en bloques.

deleteIfExists(ContainerDeleteMethodOptions)

Marca el contenedor especificado para su eliminación si existe. El contenedor y los blobs incluidos en él se eliminan posteriormente durante la recolección de elementos no utilizados.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container.

function deleteIfExists(options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteIfExistsResponse>

Parámetros

options
ContainerDeleteMethodOptions

Opciones para la operación de eliminación de contenedor.

Devoluciones

exists(ContainerExistsOptions)

Devuelve true si el recurso de contenedor de Azure representado por este cliente existe; False en caso contrario.

NOTA: Use esta función con cuidado, ya que otros clientes o aplicaciones pueden eliminar un contenedor existente. Viceversa, es posible que otros clientes o aplicaciones agreguen nuevos contenedores con el mismo nombre una vez completada esta función.

function exists(options?: ContainerExistsOptions): Promise<boolean>

Parámetros

Devoluciones

Promise<boolean>

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Devuelve un iterador asincrónico para buscar todos los blobs con la etiqueta especificada en el contenedor especificado.

.byPage() devuelve un iterador asincrónico para enumerar los blobs de las páginas.

Ejemplo de uso de for await la sintaxis:

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

Ejemplo con iter.next():

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

Ejemplo con byPage():

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

Ejemplo de uso de paginación con un marcador:

let i = 1;
let iterator = containerClient.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 = containerClient
  .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?: ContainerFindBlobByTagsOptions): PagedAsyncIterableIterator<FilterBlobItem, ContainerFindBlobsByTagsSegmentResponse, PageSettings>

Parámetros

tagFilterSqlExpression

string

El parámetro where permite al autor de la llamada consultar blobs cuyas etiquetas coinciden con una expresión determinada. La expresión especificada debe evaluarse como true para que se devuelva un blob en los resultados. La regla de sintaxis de filtro[OData - ABNF] define la gramática formal para el valor del parámetro de consulta where; sin embargo, solo se admite un subconjunto de la sintaxis del filtro OData en Blob service.

options
ContainerFindBlobByTagsOptions

Opciones para buscar blobs por etiquetas.

Devoluciones

generateSasUrl(ContainerGenerateSasUrlOptions)

Solo está disponible para ContainerClient construido con una credencial de clave compartida.

Genera un URI de firma de acceso compartido (SAS) de Blob Container Service basado en las propiedades y parámetros del cliente pasados. La SAS está firmada por la credencial de clave compartida del cliente.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas.

function generateSasUrl(options: ContainerGenerateSasUrlOptions): Promise<string>

Parámetros

options
ContainerGenerateSasUrlOptions

Parámetros opcionales.

Devoluciones

Promise<string>

El URI de SAS que consta del URI al recurso representado por este cliente, seguido del token de SAS generado.

getAccessPolicy(ContainerGetAccessPolicyOptions)

Obtiene los permisos para el contenedor especificado. Los permisos indican si el acceso a los datos de un contenedor es público.

ADVERTENCIA: La fecha de JavaScript perderá la precisión al analizar las cadenas startsOn y expiresOn. Por ejemplo, new Date("2018-12-31T03:44:23.8827891Z").toISOString() obtendrá "2018-12-31T03:44:23.882Z".

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl.

function getAccessPolicy(options?: ContainerGetAccessPolicyOptions): Promise<ContainerGetAccessPolicyResponse>

Parámetros

options
ContainerGetAccessPolicyOptions

Opciones para la operación Obtener directiva de acceso del contenedor.

Devoluciones

getAppendBlobClient(string)

Crea un AppendBlobClient

function getAppendBlobClient(blobName: string): AppendBlobClient

Parámetros

blobName

string

Un nombre de blob en anexos

Devoluciones

getBlobBatchClient()

Crea un objeto BlobBatchClient para realizar operaciones por lotes.

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

function getBlobBatchClient(): BlobBatchClient

Devoluciones

Nuevo objeto BlobBatchClient para este contenedor.

getBlobClient(string)

Crea un BlobClient

function getBlobClient(blobName: string): BlobClient

Parámetros

blobName

string

Un nombre de blob

Devoluciones

Nuevo objeto BlobClient para el nombre de blob especificado.

getBlobLeaseClient(string)

Obtenga un BlobLeaseClient que administre concesiones en el contenedor.

function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient

Parámetros

proposeLeaseId

string

Identificador de concesión propuesto inicial.

Devoluciones

Nuevo objeto BlobLeaseClient para administrar concesiones en el contenedor.

getBlockBlobClient(string)

Crea un BlockBlobClient

function getBlockBlobClient(blobName: string): BlockBlobClient

Parámetros

blobName

string

Un nombre de blob en bloques

Ejemplo de uso:

const content = "Hello world!";

const blockBlobClient = containerClient.getBlockBlobClient("<blob name>");
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);

Devoluciones

getPageBlobClient(string)

Crea un objeto PageBlobClient

function getPageBlobClient(blobName: string): PageBlobClient

Parámetros

blobName

string

Un nombre de blob en páginas

Devoluciones

getProperties(ContainerGetPropertiesOptions)

Devuelve todos los metadatos definidos por el usuario y las propiedades del sistema para el contenedor especificado. Los datos devueltos no incluyen la lista de blobs del contenedor.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties.

ADVERTENCIA: El metadata objeto devuelto en la respuesta tendrá sus claves en minúsculas, incluso si contenían caracteres en mayúsculas originalmente. Esto difiere de las claves de metadatos devueltas por el listContainers método de BlobServiceClient mediante la includeMetadata opción , que conservará su mayúscula y minúscula original.

function getProperties(options?: ContainerGetPropertiesOptions): Promise<ContainerGetPropertiesResponse>

Parámetros

options
ContainerGetPropertiesOptions

Opciones para la operación Obtener propiedades del contenedor.

Devoluciones

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Devuelve un iterador asincrónico para enumerar todos los blobs por jerarquía. en la cuenta especificada.

.byPage() devuelve un iterador asincrónico para enumerar los blobs por jerarquía en páginas.

Ejemplo de uso de for await la sintaxis:

for await (const item of containerClient.listBlobsByHierarchy("/")) {
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}`);
  }
}

Ejemplo con 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}`);
  }
  entity = await iter.next();
}

Ejemplo con 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}`);
  }
}

Ejemplo de uso de paginación con un tamaño 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}`);
  }
}
function listBlobsByHierarchy(delimiter: string, options?: ContainerListBlobsOptions): PagedAsyncIterableIterator<({ kind: "prefix" } & BlobPrefix) | ({ kind: "blob" } & BlobItem), ContainerListBlobHierarchySegmentResponse, PageSettings>

Parámetros

delimiter

string

Carácter o cadena que se usa para definir la jerarquía virtual

options
ContainerListBlobsOptions

Opciones para enumerar la operación de blobs.

Devoluciones

listBlobsFlat(ContainerListBlobsOptions)

Devuelve un iterador asincrónico para enumerar todos los blobs de la cuenta especificada.

.byPage() devuelve un iterador asincrónico para enumerar los blobs de las páginas.

Ejemplo de uso de for await la sintaxis:

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

Ejemplo con 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();
}

Ejemplo con 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}`);
  }
}

Ejemplo de uso de paginación con un 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): PagedAsyncIterableIterator<BlobItem, ContainerListBlobFlatSegmentResponse, PageSettings>

Parámetros

options
ContainerListBlobsOptions

Opciones para enumerar blobs.

Devoluciones

AsyncIterableIterator que admite la paginación.

setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

Establece los permisos para el contenedor especificado. Los permisos indican si el acceso a los blobs de un contenedor es público.

Al establecer los permisos para un contenedor, los permisos existentes se reemplazan. Si no se proporciona ningún acceso o containerAcl, se quitará la ACL del contenedor existente.

Establecer una directiva de acceso almacenada en un contenedor puede tardar hasta 30 segundos en aplicarse. Durante este intervalo, una firma de acceso compartido que se asocia a la directiva de acceso almacenada producirá un error con el código de estado 403 (Prohibido), hasta que la directiva de acceso se active.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl.

function setAccessPolicy(access?: PublicAccessType, containerAcl?: SignedIdentifier[], options?: ContainerSetAccessPolicyOptions): Promise<ContainerSetAccessPolicyResponse>

Parámetros

access
PublicAccessType

Nivel de acceso público a los datos del contenedor.

containerAcl

SignedIdentifier[]

Matriz de elementos que tienen un identificador único y detalles de la directiva de acceso.

options
ContainerSetAccessPolicyOptions

Opciones para la operación establecer directiva de acceso del contenedor.

Devoluciones

setMetadata(Metadata, ContainerSetMetadataOptions)

Establece uno o varios pares nombre-valor definidos por el usuario para el contenedor especificado.

Si no se proporciona ninguna opción o ningún metadato definido en el parámetro , se quitarán los metadatos del contenedor.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-metadata.

function setMetadata(metadata?: Metadata, options?: ContainerSetMetadataOptions): Promise<ContainerSetMetadataResponse>

Parámetros

metadata
Metadata

Reemplace los metadatos existentes por este valor. Si no se quitará ningún valor proporcionado, se quitarán los metadatos existentes.

options
ContainerSetMetadataOptions

Opciones para la operación de metadatos del conjunto de contenedores.

Devoluciones

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente.

La actualización de un blob en bloques existente sobrescribe los metadatos existentes en él. No se admiten actualizaciones parciales; el contenido del blob existente se sobrescribe con el nuevo contenido. Para realizar una actualización parcial de un blob en bloques, use stageBlock y commitBlockList.

Se trata de un método de carga no paralelo, use uploadFile, uploadStream o uploadBrowserData para mejorar el rendimiento con la carga de simultaneidad.

Consulta https://docs.microsoft.com/rest/api/storageservices/put-blob.

function uploadBlockBlob(blobName: string, body: HttpRequestBody, contentLength: number, options?: BlockBlobUploadOptions): Promise<{ blockBlobClient: BlockBlobClient, response: BlockBlobUploadResponse }>

Parámetros

blobName

string

Nombre del blob en bloques que se va a crear o actualizar.

body
HttpRequestBody

Blob, string, ArrayBuffer, ArrayBufferView o una función que devuelve una nueva secuencia legible cuyo desplazamiento es desde el principio del origen de datos.

contentLength

number

Longitud del cuerpo en bytes. Use Buffer.byteLength() para calcular la longitud del cuerpo de una cadena, incluidos caracteres no codificados en Base64/Hexadecimal.

options
BlockBlobUploadOptions

Opciones para configurar la operación de carga de blobs en bloques.

Devoluciones

Promise<{ blockBlobClient: BlockBlobClient, response: BlockBlobUploadResponse }>

Los datos de respuesta de carga de blobs en bloques y la instancia de BlockBlobClient correspondiente.