Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

127
Visualizações
Comportamiento extraño al guardar un archivo en el almacenamiento de blobs de Azure

Uso los paquetes @azure/storage-blob:^12.8.0, @azure/storage-queue: ^12.7.0 para autenticar y conectarme al almacenamiento de blobs de Azure, la autenticación se realiza a través de identidades administradas y el acceso otorgado al destino con Storage Blob Data Contributor Rol de Storage Blob Data Contributor , a continuación está mi código

 const credentialOptions = { managedIdentityClientId: process.env.MANAGED_IDENTITY_CLIENT_ID }; const CONTAINER_NAME = 'C1'; const credential = new DefaultAzureCredential(credentialOptions); const blobSvc = new BlobServiceClient(process.env.STORAGE_HOST, credential); const containerClient = blobSvc.getContainerClient(CONTAINER_NAME); export const store = async (file: string, folder: string) => { const fileName = path.basename(file); const blob = `${folder}/${fileName}`; try { console.debug(`starting store ${blob}...`); const blobClient = containerClient.getBlockBlobClient(blob); await blobClient.uploadFile(file); console.debug('store done.'); return blob; } catch (err) { console.error(err); throw Error(err); } }; // in other module import {store} from 'BlobStorageHelper'; store('folder1/folder2/folder3', '/temporary/path/to/the/file.jpg');

todo funciona excepto que el archivo está almacenado en el lugar equivocado, por ejemplo, llamando a store('folder1/folder2/folder3', 'path/file.jpg') Espero que el archivo se almacene en folder1/folder2/folder3/file.jpg pero el archivo se almacena en C1/folder1/folder2/folder3/file.jpg C1 es el nombre del contenedor que es incorrecto y no debería suceder, el código se ejecuta como nodo de funciones de Azure.

para que quede claro, la expectativa es

  • C1 (el contenedor)
    • carpeta1
      • carpeta2
        • carpeta3
          • archivo.jpg

pero el resultado real es

  • C1 (el contenedor)
    • C1
      • carpeta1
        • carpeta2
          • carpeta3
            • archivo.jpg

Alguna idea ?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Pruebe con este código, probé este código en mi sistema capaz de almacenar el archivo con estructura de carpetas en un contenedor azul

 const blobServiceClient = BlobServiceClient.fromConnectionString("Connection String"); const containerClient = blobServiceClient.getContainerClient(containerName); const blobName="test1/test2 "+ "/" + "test" const blockBlobClient = containerClient.getBlockBlobClient(blobName); const file="C: \\blobs\\test.txt" await blockBlobClient.uploadFile(file); console.log('\nUploading to Azure storage as blob:\n\t', blobName);

PRODUCCIÓN

ingrese la descripción de la imagen aquí

Los archivos se guardan en un contenedor en Azure Storage

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Relatório

0

El problema era un valor incorrecto proveniente de AppSettings que no era obvio en el código. debería ser https://accountname.blob.core.windows.net pero en su lugar, era https://accountname.blob.core.windows.net/ContainerName .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda