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

630
Visualizações
Listado de objetos de AWS S3

Estoy usando aws-sdk usando node.js. Quiero enumerar las imágenes en la carpeta especificada, por ejemploEste es el directorio que quiero buscar

Quiero enumerar todos los archivos y carpetas en esta ubicación, pero no el contenido de carpetas (imágenes). Hay una función de lista de objetos en aws-sdk, pero también enumera todos los archivos anidados.

Aquí está el código:

 var AWS = require('aws-sdk'); AWS.config.update({accessKeyId: 'mykey', secretAccessKey: 'mysecret', region: 'myregion'}); var s3 = new AWS.S3(); var params = { Bucket: 'mystore.in', Delimiter: '', Prefix: 's/5469b2f5b4292d22522e84e0/ms.files' } s3.listObjects(params, function (err, data) { if(err)throw err; console.log(data); });
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Está funcionando bien ahora usando este código:

 var AWS = require('aws-sdk'); AWS.config.update({accessKeyId: 'mykey', secretAccessKey: 'mysecret', region: 'myregion'}); var s3 = new AWS.S3(); var params = { Bucket: 'mystore.in', Delimiter: '/', Prefix: 's/5469b2f5b4292d22522e84e0/ms.files/' } s3.listObjects(params, function (err, data) { if(err)throw err; console.log(data); });
over 4 years ago · Santiago Trujillo Relatório

0

Las carpetas son ilusorias, pero S3 proporciona un mecanismo para emular su existencia.

Si establece Delimiter en / , cada nivel de respuestas también devolverá una matriz CommonPrefixes del siguiente nivel de "carpetas", que agregará al prefijo de esta solicitud, para recuperar el siguiente nivel.

Si su Prefix es una "carpeta", agregue una barra inclinada al final. De lo contrario, realizará una solicitud innecesaria, porque la primera solicitud devolverá un prefijo común. Por ejemplo, la carpeta "foo" devolverá un prefijo común "foo/".

over 4 years ago · Santiago Trujillo Relatório

0

Puse un pequeño módulo que enumera el contenido de una "carpeta" que le das:

 s3ls({bucket: 'my-bucket-name'}).ls('/', console.log);

imprimirá algo como esto:

 { files: [ 'funny-cat-gifs-001.gif' ], folders: [ 'folder/', 'folder2/' ] }

Y eso

 s3ls({bucket: 'my-bucket-name'}).ls('/folder', console.log);

imprimirá

 { files: [ 'folder/cv.docx' ], folders: [ 'folder/sub-folder/' ] }

UPD: la última versión admite la interfaz async/await Promise:

 const { files, folders } = await lister.ls("/my-folder/subfolder/");

Y aquí está el s3ls.js :

 var _ = require('lodash'); var S3 = require('aws-sdk').S3; module.exports = function (options) { var bucket = options.bucket; var s3 = new S3({apiVersion: '2006-03-01'}); return { ls: function ls(path, callback) { var prefix = _.trimStart(_.trimEnd(path, '/') + '/', '/'); var result = { files: [], folders: [] }; function s3ListCallback(error, data) { if (error) return callback(error); result.files = result.files.concat(_.map(data.Contents, 'Key')); result.folders = result.folders.concat(_.map(data.CommonPrefixes, 'Prefix')); if (data.IsTruncated) { s3.listObjectsV2({ Bucket: bucket, MaxKeys: 2147483647, // Maximum allowed by S3 API Delimiter: '/', Prefix: prefix, ContinuationToken: data.NextContinuationToken }, s3ListCallback) } else { callback(null, result); } } s3.listObjectsV2({ Bucket: bucket, MaxKeys: 2147483647, // Maximum allowed by S3 API Delimiter: '/', Prefix: prefix, StartAfter: prefix // removes the folder name from the file listing }, s3ListCallback) } }; };
over 4 years ago · Santiago Trujillo 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