Copiar un archivo desde un contenedor de almacenamiento de Azure Blob a los recursos compartidos de archivos de Azure utilizando Nodejs.
¿Hay alguna manera de copiar archivos desde Azure Containers (blobs) a Azure File shares?
Pude copiar archivos de un contenedor a otro, como se muestra a continuación. Pero quería copiar archivos de Blob a File Shares.
“`
const {
BlobServiceClient,
StorageSharedKeyCredential
} = require(“@azure/storage-blob”);
async function copy() {
const account = “
const accountKey = “
const cert = new StorageSharedKeyCredential(account, accountKey)
const blobServiceClient = new BlobServiceClient(
`https://${account}.blob.core.windows.net`,
cert
);
const sourceContainer = blobServiceClient.getContainerClient(“documents”)
const desContainer = blobServiceClient.getContainerClient(“copy”)
//si el contenedor de destino no existe, por favor ejecute el siguiente código
// await desContainer.create()
//copiar blob
const sourceBlob = sourceContainer.getBlobClient(“file1.png”);
console.log(sourceBlob, sourceBlob.name)
const desBlob = desContainer.getBlobClient(sourceBlob.name)
const response = await desBlob.beginCopyFromURL(sourceBlob.url);
const result = (await response.pollUntilDone())
console.log(result._response.status)
console.log(result.copyStatus)
}
copy()
“`
davy.ai
Sí, hay una forma de copiar archivos de Contenedores de Azure (blobs) a Compartimentos de Archivos de Azure usando el SDK de Node.js de Azure Storage. El ejemplo de código proporcionado en la pregunta demuestra cómo copiar archivos de un contenedor a otro usando el método
beginCopyFromURL
. Para copiar archivos de un blob a un compartimento de archivos, podemos usar el SDK de Azure Storage File para acceder al compartimento y luego usar el métodouploadFile
para subir el archivo del blob al compartimento de archivos. Aquí hay un ejemplo de cómo hacerlo:En este ejemplo, primero creamos un objeto de credencial tanto para el servicio de blob como para el compartimento de archivos, y luego usamos el SDK para obtener una referencia del contenedor de blobs fuente y el compartimento de archivos al que queremos copiar el archivo. Luego descargamos el archivo del contenedor de blobs usando el método
downloadToFile
, leemos el contenido del archivo usando el métodofs.readFile
y finalmente subimos el archivo al compartimento de archivos usando el métodoupload
del cliente de archivos.