ContainerClient class
ContainerClient representa una dirección URL al contenedor de Azure Storage que le permite manipular sus blobs.
- Extends
Constructores
Container |
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. |
Container |
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. |
Container |
Crea una instancia de ContainerClient. |
Propiedades
account |
|
container |
nombre del contenedor. |
credential | Por ejemplo, AnonymousCredential, StorageSharedKeyCredential o cualquier credencial del |
url | Valor de cadena de dirección URL codificada. |
Métodos
create(Container |
Crea un nuevo contenedor en la cuenta especificada. Si ya existe un contenedor con el mismo nombre, se produce un error en la operación. |
create |
Crea un nuevo contenedor en la cuenta especificada. Si el contenedor con el mismo nombre ya existe, no se cambia. |
delete(Container |
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. |
delete |
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. |
delete |
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. |
exists(Container |
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 contenedores nuevos con el mismo nombre una vez completada esta función. |
generate |
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. |
get |
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". |
get |
Crea un <xref:AppendBlobClient> |
get |
Crea un objeto BlobBatchClient para realizar operaciones por lotes. |
get |
Crea una <xref:BlobClient> |
get |
Obtenga un <xref:BlobLeaseClient> objeto que administre las concesiones en el contenedor. |
get |
Crea una <xref:BlockBlobClient> |
get |
Crea una <xref:PageBlobClient> |
get |
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. |
list |
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
Ejemplo con
Ejemplo con
Ejemplo de uso de la paginación con un tamaño máximo de página:
|
list |
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
Ejemplo con
Ejemplo con
Ejemplo de uso de paginación con un marcador:
|
set |
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. |
set |
Establece uno o varios pares nombre-valor definidos por el usuario para el contenedor especificado. Si no se proporciona ninguna opción o no hay metadatos definidos en el parámetro , se quitarán los metadatos del contenedor. |
upload |
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 <xref:BlockBlobClient.stageBlock> y <xref:BlockBlobClient.commitBlockList>. Se trata de un método de carga no paralelo, use <xref:BlockBlobClient.uploadFile><xref:BlockBlobClient.uploadStream> o <xref:BlockBlobClient.uploadBrowserData> para mejorar el rendimiento con la carga de simultaneidad. |
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 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
accountName
accountName: string
Valor de propiedad
string
containerName
nombre del contenedor.
string containerName
Valor de propiedad
string
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
StorageSharedKeyCredential | AnonymousCredential | TokenCredential
url
Valor de cadena de dirección URL codificada.
url: string
Valor de propiedad
string
Detalles del método
create(ContainerCreateOptions)
Crea un nuevo contenedor en la cuenta especificada. Si ya existe un contenedor con el mismo nombre, se produce un error en la operación.
function create(options?: ContainerCreateOptions)
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
Promise<ContainerCreateResponse>
createIfNotExists(ContainerCreateOptions)
Crea un nuevo contenedor en la cuenta especificada. Si el contenedor con el mismo nombre ya existe, no se cambia.
function createIfNotExists(options?: ContainerCreateOptions)
Parámetros
- options
- ContainerCreateOptions
Devoluciones
Promise<ContainerCreateIfNotExistsResponse>
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.
function delete(options?: ContainerDeleteMethodOptions)
Parámetros
- options
- ContainerDeleteMethodOptions
Opciones para la operación De eliminación de contenedor.
Devoluciones
Promise<ContainerDeleteResponse>
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.
function deleteBlob(blobName: string, options?: ContainerDeleteBlobOptions)
Parámetros
- blobName
-
string
- options
- ContainerDeleteBlobOptions
Opciones para la operación De eliminación de blobs.
Devoluciones
Promise<BlobDeleteResponse>
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.
function deleteIfExists(options?: ContainerDeleteMethodOptions)
Parámetros
- options
- ContainerDeleteMethodOptions
Opciones para la operación De eliminación de contenedor.
Devoluciones
Promise<ContainerDeleteIfExistsResponse>
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 contenedores nuevos con el mismo nombre una vez completada esta función.
function exists(options?: ContainerExistsOptions)
Parámetros
- options
- ContainerExistsOptions
Devoluciones
Promise<boolean>
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.
function generateSasUrl(options: ContainerGenerateSasUrlOptions)
Parámetros
- options
- ContainerGenerateSasUrlOptions
Parámetros opcionales.
Devoluciones
Promise<string>
El URI de SAS que consta del URI para el 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".
function getAccessPolicy(options?: ContainerGetAccessPolicyOptions)
Parámetros
- options
- ContainerGetAccessPolicyOptions
Opciones para la operación Obtener directiva de acceso del contenedor.
Devoluciones
Promise<ContainerGetAccessPolicyResponse>
getAppendBlobClient(string)
Crea un <xref:AppendBlobClient>
function getAppendBlobClient(blobName: string)
Parámetros
- blobName
-
string
Un nombre de blob en anexos
Devoluciones
getBlobBatchClient()
Crea un objeto BlobBatchClient para realizar operaciones por lotes.
function getBlobBatchClient()
Devoluciones
Nuevo objeto BlobBatchClient para este contenedor.
getBlobClient(string)
Crea una <xref:BlobClient>
function getBlobClient(blobName: string)
Parámetros
- blobName
-
string
Un nombre de blob
Devoluciones
Nuevo objeto BlobClient para el nombre de blob especificado.
getBlobLeaseClient(string)
Obtenga un <xref:BlobLeaseClient> objeto que administre las concesiones en el contenedor.
function getBlobLeaseClient(proposeLeaseId?: string)
Parámetros
- proposeLeaseId
-
string
Identificador de concesión propuesto inicial.
Devoluciones
Nuevo objeto BlobLeaseClient para administrar concesiones en el contenedor.
getBlockBlobClient(string)
Crea una <xref:BlockBlobClient>
function getBlockBlobClient(blobName: string)
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 una <xref:PageBlobClient>
function getPageBlobClient(blobName: string)
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.
function getProperties(options?: ContainerGetPropertiesOptions)
Parámetros
- options
- ContainerGetPropertiesOptions
Opciones para la operación Obtener propiedades del contenedor.
Devoluciones
Promise<ContainerGetPropertiesResponse>
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}, last modified - ${item.properties.lastModified}`);
}
}
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}, last modified - ${item.properties.lastModified}`);
}
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}, last modified - ${blob.properties.lastModified}`);
}
}
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}, last modified - ${blob.properties.lastModified}`);
}
}
function listBlobsByHierarchy(delimiter: string, options?: ContainerListBlobsOptions)
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
PagedAsyncIterableIterator<Object & BlobPrefix | Object & BlobItem, ContainerListBlobHierarchySegmentResponse>
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)
Parámetros
- options
- ContainerListBlobsOptions
Opciones para enumerar blobs.
Devoluciones
PagedAsyncIterableIterator<BlobItem, ContainerListBlobFlatSegmentResponse>
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.
function setAccessPolicy(access?: PublicAccessType, containerAcl?: SignedIdentifier[], options?: ContainerSetAccessPolicyOptions)
Parámetros
- access
- PublicAccessType
Nivel de acceso público a los datos del contenedor.
- containerAcl
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
Promise<ContainerSetAccessPolicyResponse>
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 no hay metadatos definidos en el parámetro , se quitarán los metadatos del contenedor.
function setMetadata(metadata?: Metadata, options?: ContainerSetMetadataOptions)
Parámetros
- metadata
- Metadata
Reemplace los metadatos existentes por este valor. Si no se quita ningún valor proporcionado, se quitarán los metadatos existentes.
- options
- ContainerSetMetadataOptions
Opciones para la operación de metadatos del conjunto de contenedores.
Devoluciones
Promise<ContainerSetMetadataResponse>
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 <xref:BlockBlobClient.stageBlock> y <xref:BlockBlobClient.commitBlockList>.
Se trata de un método de carga no paralelo, use <xref:BlockBlobClient.uploadFile><xref:BlockBlobClient.uploadStream> o <xref:BlockBlobClient.uploadBrowserData> para mejorar el rendimiento con la carga de simultaneidad.
function uploadBlockBlob(blobName: string, body: HttpRequestBody, contentLength: number, options?: BlockBlobUploadOptions)
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 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<Object>
Los datos de respuesta de carga de blobs en bloques y la instancia de BlockBlobClient correspondiente.
Azure SDK for JavaScript