Inicio rápido: Administración de blobs con el SDK de JavaScript v12 en Node.js
En este inicio rápido, aprenderá a administrar blobs mediante Node.js. Los blobs son objetos que pueden contener grandes cantidades de texto o datos binarios, como imágenes, documentos, medios de transmisión y datos de archivo. Cargará, descargará y enumerará los blobs, y creará y eliminará los contenedores.
Recursos adicionales:
- Documentación de referencia de API
- Código fuente de la biblioteca
- Paquete (Administrador de paquetes de Node)
- Muestras
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Una cuenta de Azure Storage. Crear una cuenta de almacenamiento.
- Node.js.
Instalación
En esta sección se explica cómo preparar un proyecto para que funcione con la biblioteca cliente de Azure Blob Storage v12 para JavaScript.
Creación del proyecto
Cree una aplicación de JavaScript llamada blob-quickstart-v12.
En una ventana de la consola (como cmd, PowerShell o Bash), cree un directorio para el proyecto.
mkdir blob-quickstart-v12Cambie al directorio blob-quickstart-v12 recién creado.
cd blob-quickstart-v12Cree un nuevo archivo de texto denominado package.json. Este archivo define el proyecto de Node.js. Guarde este archivo en el directorio blob-quickstart-v12. A continuación encontrará el contenido del archivo:
{ "name": "blob-quickstart-v12", "version": "1.0.0", "description": "Use the @azure/storage-blob SDK version 12 to interact with Azure Blob storage", "main": "blob-quickstart-v12.js", "scripts": { "start": "node blob-quickstart-v12.js" }, "author": "Your Name", "license": "MIT", "dependencies": { "@azure/storage-blob": "^12.0.0", "@types/dotenv": "^4.0.3", "dotenv": "^6.0.0" } }Puede poner su propio nombre en el campo
author, si lo desea.
Instalar el paquete
Mientras sigue en el directorio blob-quickstart-v12, instale el paquete de la biblioteca cliente de Azure Blob Storage para JavaScript con el comando npm install. Este comando lee el archivo package.json e instala el paquete de la biblioteca cliente de Azure Blob Storage v12 para JavaScript y todas las bibliotecas de las que depende.
npm install
Instalación del marco de la aplicación
Desde el directorio del proyecto:
Abra otro nuevo archivo de texto en el editor de código.
Agregue llamadas
requirepara cargar los módulos de Azure y Node.js.Cree la estructura del programa, incluido un control de excepciones básico.
Este es el código:
const { BlobServiceClient } = require('@azure/storage-blob'); const { v1: uuidv1} = require('uuid'); async function main() { console.log('Azure Blob storage v12 - JavaScript quickstart sample'); // Quick start code goes here } main().then(() => console.log('Done')).catch((ex) => console.log(ex.message));Guarde el nuevo archivo como blob-quickstart-v12.js en el directorio blob-quickstart-v12.
Copia de las credenciales desde Azure Portal
Cuando la aplicación de ejemplo realiza una solicitud a Azure Storage, debe estar autorizada. Para autorizar una solicitud, agregue a la aplicación las credenciales de la cuenta de almacenamiento en forma de cadena de conexión. Para ver las credenciales de la cuenta de almacenamiento, siga estos pasos:
Inicie sesión en Azure Portal.
Busque su cuenta de almacenamiento.
En el panel del menú de la cuenta de almacenamiento, en Seguridad y redes, seleccione Claves de acceso. Aquí puede ver las claves de acceso de la cuenta, así como la cadena de conexión completa de cada clave.

En el panel Claves acceso, seleccione Mostrar claves.
En la sección key1, busque el valor de Cadena de conexión. Seleccione el icono Copiar al portapapeles para copiar la cadena de conexión. En la siguiente sección, agregará el valor de la cadena de conexión a una variable de entorno.

Configuración de la cadena de conexión de almacenamiento.
Una vez que haya copiado la cadena de conexión, escríbala en una variable de entorno nueva en la máquina local que ejecuta la aplicación. Para establecer la variable de entorno, abra una ventana de consola y siga las instrucciones de su sistema operativo. Reemplace <yourconnectionstring> por la cadena de conexión real.
Windows
setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"
Después de agregar la variable de entorno en Windows, debe iniciar una nueva instancia de la ventana de comandos.
Linux
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
macOS
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
Reiniciar programas
Después de agregar la variable de entorno, reinicie todos los programas en ejecución que necesiten leer esta variable. Por ejemplo, reinicie el entorno de desarrollo o el editor antes de continuar.
Modelo de objetos
Azure Blob Storage está optimizado para el almacenamiento de cantidades masivas de datos no estructurados. Los datos no estructurados son datos que no cumplen un modelo de datos o definición concreta, como texto o datos binarios. Blob Storage ofrece tres tipos de recursos:
- La cuenta de almacenamiento
- Un contenedor en la cuenta de almacenamiento
- Un blob en el contenedor
En el siguiente diagrama se muestra la relación entre estos recursos.

Use las siguientes clases de JavaScript para interactuar con estos recursos:
- BlobServiceClient: La clase
BlobServiceClientpermite manipular recursos de Azure Storage y contenedores de blobs. - ContainerClient: La clase
ContainerClientpermite manipular contenedores de Azure Storage y sus blobs. - BlobClient: La clase
BlobClientpermite manipular los blobs de Azure Storage.
Ejemplos de código
Estos fragmentos de código de ejemplo muestran cómo realizar las siguientes acciones con la biblioteca cliente de Azure Blob Storage para JavaScript:
- Obtención de la cadena de conexión
- Creación de un contenedor
- Carga de los blobs en un contenedor
- Enumeración de los blobs de un contenedor
- Descarga de los blobs
- Eliminación de un contenedor
Obtención de la cadena de conexión
El código siguiente recupera la cadena de conexión de la cuenta de almacenamiento de la variable de entorno creada en la sección Configuración de la cadena de conexión de almacenamiento.
Agregue este código dentro de la función main:
// Retrieve the connection string for use with the application. The storage
// connection string is stored in an environment variable on the machine
// running the application called AZURE_STORAGE_CONNECTION_STRING. If the
// environment variable is created after the application is launched in a
// console or with Visual Studio, the shell or application needs to be closed
// and reloaded to take the environment variable into account.
const AZURE_STORAGE_CONNECTION_STRING = process.env.AZURE_STORAGE_CONNECTION_STRING;
Crear un contenedor
Decida un nombre para el nuevo contenedor. El código siguiente anexa un valor de UUID al nombre de contenedor para asegurarse de que sea único.
Importante
Los nombres de contenedor deben estar en minúsculas. Para más información acerca de los contenedores de nomenclatura y los blobs, consulte Naming and Referencing Containers, Blobs, and Metadata (Asignación de nombres y realización de referencias a contenedores, blobs y metadatos).
Cree una instancia de la clase BlobServiceClient llamando al método fromConnectionString. A continuación, llame al método getContainerClient para obtener una referencia a un contenedor. Por último, llame a create para crear realmente el contenedor en la cuenta de almacenamiento.
Agregue este código al final de la función main:
// Create the BlobServiceClient object which will be used to create a container client
const blobServiceClient = BlobServiceClient.fromConnectionString(AZURE_STORAGE_CONNECTION_STRING);
// Create a unique name for the container
const containerName = 'quickstart' + uuidv1();
console.log('\nCreating container...');
console.log('\t', containerName);
// Get a reference to a container
const containerClient = blobServiceClient.getContainerClient(containerName);
// Create the container
const createContainerResponse = await containerClient.create();
console.log("Container was created successfully. requestId: ", createContainerResponse.requestId);
Carga de los blobs en un contenedor
El siguiente fragmento de código:
- Crea una cadena de texto que se va a cargar en un blob.
- Obtiene una referencia a un objeto BlockBlobClient llamando al método getBlockBlobClient en el ContainerClient de la sección Crear un contenedor.
- Carga los datos de la cadena de texto en el blob llamando al método upload.
Agregue este código al final de la función main:
// Create a unique name for the blob
const blobName = 'quickstart' + uuidv1() + '.txt';
// Get a block blob client
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
console.log('\nUploading to Azure storage as blob:\n\t', blobName);
// Upload data to the blob
const data = 'Hello, World!';
const uploadBlobResponse = await blockBlobClient.upload(data, data.length);
console.log("Blob was uploaded successfully. requestId: ", uploadBlobResponse.requestId);
Enumerar los blobs de un contenedor
Enumere los blobs en el contenedor llamando al método listBlobsFlat. En este caso, solo se ha agregado un blob al contenedor, por lo que la operación de enumeración devuelve simplemente dicho blob.
Agregue este código al final de la función main:
console.log('\nListing blobs...');
// List the blob(s) in the container.
for await (const blob of containerClient.listBlobsFlat()) {
console.log('\t', blob.name);
}
Descargar blobs
Descargue el blob creado previamente llamando al método download. El código de ejemplo incluye una función auxiliar denominada streamToString que se usa para leer una secuencia legible de Node.js en una cadena.
Agregue este código al final de la función main:
// Get blob content from position 0 to the end
// In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
// In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
const downloadBlockBlobResponse = await blockBlobClient.download(0);
console.log('\nDownloaded blob content...');
console.log('\t', await streamToString(downloadBlockBlobResponse.readableStreamBody));
Agregue esta función auxiliar después de la función main:
// A helper function used to read a Node.js readable stream into a string
async function streamToString(readableStream) {
return new Promise((resolve, reject) => {
const chunks = [];
readableStream.on("data", (data) => {
chunks.push(data.toString());
});
readableStream.on("end", () => {
resolve(chunks.join(""));
});
readableStream.on("error", reject);
});
}
Eliminación de un contenedor
El código siguiente limpia los recursos que creó la aplicación; para ello, quita todo el contenedor con el método delete. Si lo desea, también puede eliminar los archivos locales.
Agregue este código al final de la función main:
console.log('\nDeleting container...');
// Delete container
const deleteContainerResponse = await containerClient.delete();
console.log("Container was deleted successfully. requestId: ", deleteContainerResponse.requestId);
Ejecución del código
Esta aplicación crea una cadena de texto y la carga en Blob Storage. A continuación, en el ejemplo se enumeran los blobs del contenedor, se descarga el blob y se muestran los datos descargados.
Desde un símbolo del sistema de la consola, navegue hasta el directorio que contiene el archivo blob-quickstart-v12.js y, después, ejecute el siguiente comando de node para ejecutar la aplicación.
node blob-quickstart-v12.js
La salida de la aplicación es similar a la del ejemplo siguiente:
Azure Blob storage v12 - JavaScript quickstart sample
Creating container...
quickstart4a0780c0-fb72-11e9-b7b9-b387d3c488da
Uploading to Azure Storage as blob:
quickstart4a3128d0-fb72-11e9-b7b9-b387d3c488da.txt
Listing blobs...
quickstart4a3128d0-fb72-11e9-b7b9-b387d3c488da.txt
Downloaded blob content...
Hello, World!
Deleting container...
Done
Recorra el código en el depurador y compruebe Azure Portal a lo largo del proceso. Consulte para ver si el contenedor se está creando. Puede abrir el blob dentro del contenedor y ver el contenido.
Pasos siguientes
En esta guía de inicio rápido, ha aprendido a cargar, descargar y enumerar blobs mediante JavaScript.
Para ver tutoriales, ejemplos, artículos de inicio rápido y otra documentación, visite:
- Para aprender a implementar una aplicación web que usa Azure Blob Storage, consulte Tutorial: Carga de datos de imagen en la nube con Azure Storage
- Para ver las aplicaciones de ejemplo de Blob Storage, continúe con los ejemplos de la biblioteca cliente de Azure Blob Storage para JavaScript v12.
- Para más información, consulte Uso de la biblioteca cliente de Azure Blob Storage para JavaScript.