Compartir a través de


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 de dirección 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 de dirección 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 paquete de @azure/identity para autenticar las solicitudes al 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 nuevo contenedor en la cuenta especificada. Si el contenedor con el mismo nombre ya existe, se produce un error en la operación.

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

createIfNotExists(ContainerCreateOptions)

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

Consulte reglas de nomenclatura de https://docs.microsoft.com/en-us/rest/api/storageservices/create-container: 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 contenidos en él se eliminan posteriormente durante la recolección de elementos no utilizados.

Consulte 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 más adelante 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.

Consulte 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 contenidos en él se eliminan posteriormente durante la recolección de elementos no utilizados.

Consulte 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, otros clientes o aplicaciones pueden agregar nuevos contenedores con el mismo nombre una vez completada esta función.

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Devuelve un iterador iterable 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 la sintaxis de for await:

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

Ejemplo de uso de 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 de uso de 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.

Consulte 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 se puede acceder a los datos del contenedor públicamente.

ADVERTENCIA: La fecha de JavaScript podría perder 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".

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

getAccountInfo(ContainerGetAccountInfoOptions)

La operación Obtener información de la cuenta devuelve el nombre de SKU y el tipo de cuenta de la cuenta especificada. La operación Obtener información de la cuenta está disponible en las versiones de servicio a partir de la versión 2018-03-28.

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

getAppendBlobClient(string)

Crea un AppendBlobClient de

getBlobBatchClient()

Crea un objeto BlobBatchClient para realizar operaciones por lotes.

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

getBlobClient(string)

Crea un blobClient de

getBlobLeaseClient(string)

Obtenga un BlobLeaseClient que administra concesiones en el contenedor.

getBlockBlobClient(string)

Crea un BlockBlobClient de

getPageBlobClient(string)

Crea un PageBlobClient de

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.

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

ADVERTENCIA: El objeto metadata devuelto en la respuesta tendrá sus claves en minúsculas, incluso si originalmente contenían caracteres en mayúsculas. Esto difiere de las claves de metadatos devueltas por el método listContainers de BlobServiceClient mediante la opción includeMetadata, 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 la sintaxis de for await:

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

Ejemplo de uso de 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 de uso de 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 la 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 la sintaxis de for await:

// 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 de uso de 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 de uso de 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 se puede acceder a los blobs de un contenedor públicamente.

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

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

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

setMetadata(Metadata, ContainerSetMetadataOptions)

Establece uno o varios pares de 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.

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

uploadBlockBlob(string, RequestBodyType, number, BlockBlobUploadOptions)

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

Al actualizar un blob en bloques existente, se sobrescriben los metadatos existentes en el blob. 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.

Consulte 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 de dirección 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 proporcionar 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 de dirección 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 paquete de @azure/identity para autenticar las solicitudes al 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 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: ejemplo de cadena de conexión saS de DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net: 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

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 paquete de @azure/identity para autenticar las solicitudes al 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

se hereda de StorageClient.url

Detalles del método

create(ContainerCreateOptions)

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

Consulte reglas de nomenclatura de https://docs.microsoft.com/en-us/rest/api/storageservices/create-container: 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 Container Create.

Uso de ejemplo:

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

Devoluciones

createIfNotExists(ContainerCreateOptions)

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

Consulte reglas de nomenclatura de https://docs.microsoft.com/en-us/rest/api/storageservices/create-container: 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 contenidos en él se eliminan posteriormente durante la recolección de elementos no utilizados.

Consulte 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 más adelante 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.

Consulte 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 contenidos en él se eliminan posteriormente durante la recolección de elementos no utilizados.

Consulte 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, otros clientes o aplicaciones pueden agregar 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 iterable 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 la sintaxis de for await:

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

Ejemplo de uso de 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 de uso de 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.

Consulte 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 del recurso representado por este cliente, seguido del token de SAS generado.

getAccessPolicy(ContainerGetAccessPolicyOptions)

Obtiene los permisos para el contenedor especificado. Los permisos indican si se puede acceder a los datos del contenedor públicamente.

ADVERTENCIA: La fecha de JavaScript podría perder 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".

Consulte 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

getAccountInfo(ContainerGetAccountInfoOptions)

La operación Obtener información de la cuenta devuelve el nombre de SKU y el tipo de cuenta de la cuenta especificada. La operación Obtener información de la cuenta está disponible en las versiones de servicio a partir de la versión 2018-03-28.

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

function getAccountInfo(options?: ContainerGetAccountInfoOptions): Promise<ContainerGetAccountInfoResponse>

Parámetros

options
ContainerGetAccountInfoOptions

Opciones para la operación Obtener información de la cuenta de servicio.

Devoluciones

Datos de respuesta para la operación Obtener información de la cuenta de servicio.

getAppendBlobClient(string)

Crea un AppendBlobClient de

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.

Consulte 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 de

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 administra 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 de

function getBlockBlobClient(blobName: string): BlockBlobClient

Parámetros

blobName

string

Un nombre de blob en bloques

Uso de ejemplo:

const content = "Hello world!";

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

Devoluciones

getPageBlobClient(string)

Crea un PageBlobClient de

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.

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

ADVERTENCIA: El objeto metadata devuelto en la respuesta tendrá sus claves en minúsculas, incluso si originalmente contenían caracteres en mayúsculas. Esto difiere de las claves de metadatos devueltas por el método listContainers de BlobServiceClient mediante la opción includeMetadata, 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 la sintaxis de for await:

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

Ejemplo de uso de 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 de uso de 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 la 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 la sintaxis de for await:

// 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 de uso de 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 de uso de 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 se puede acceder a los blobs de un contenedor públicamente.

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

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

Consulte 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 de 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.

Consulte 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 proporciona ningún valor, se quitarán los metadatos existentes.

options
ContainerSetMetadataOptions

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

Devoluciones

uploadBlockBlob(string, RequestBodyType, number, BlockBlobUploadOptions)

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

Al actualizar un blob en bloques existente, se sobrescriben los metadatos existentes en el blob. 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.

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

function uploadBlockBlob(blobName: string, body: RequestBodyType, 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 procede 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.