ContainerClient class
ContainerClient representa una dirección URL al contenedor de Azure Storage que le permite manipular sus blobs.
- Extends
-
StorageClient
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
container |
nombre del contenedor. |
Propiedades heredadas
account |
|
credential | Por ejemplo, AnonymousCredential, StorageSharedKeyCredential o cualquier credencial del |
url | Valor de cadena de dirección URL codificada. |
Métodos
create(Container |
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 |
create |
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(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. Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container. |
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. Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/delete-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. Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container. |
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, es posible que otros clientes o aplicaciones agreguen nuevos contenedores con el mismo nombre una vez completada esta función. |
find |
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
Ejemplo con
Ejemplo con
Ejemplo de uso de paginación con un marcador:
|
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. Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas. |
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". Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl. |
get |
Crea un AppendBlobClient |
get |
Crea un objeto BlobBatchClient para realizar operaciones por lotes. Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch. |
get |
Crea un BlobClient |
get |
Obtenga un BlobLeaseClient que administre concesiones en el contenedor. |
get |
Crea un BlockBlobClient |
get |
Crea un objeto 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. Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties. ADVERTENCIA: El |
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 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. Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl. |
set |
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. |
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 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
Promise<ContainerCreateResponse>
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
- 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.
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
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.
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
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.
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
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, 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
- options
- ContainerExistsOptions
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
Promise<ContainerGetAccessPolicyResponse>
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
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}`);
}
}
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
PagedAsyncIterableIterator<({ kind: "prefix" } & BlobPrefix) | ({ kind: "blob" } & BlobItem), ContainerListBlobHierarchySegmentResponse, PageSettings>
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
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 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
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 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.