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

621
Visualizações
Cómo verificar si el depósito ya existe en AWS S3

¿Cómo puedo verificar si el depósito ya existe en mi cuenta de AWS S3 usando el SDK de Java?

Usando el siguiente código

 AmazonS3ClientBuilder.defaultClient().doesBucketExistV2(bucketName);

Comprueba la existencia global del depósito y devuelve verdadero si un depósito con este nombre existe globalmente incluso si no soy el propietario de este depósito o no tengo acceso a ese depósito.

Entiendo la intención de hacer este método de esta manera para que nos permita determinar la disponibilidad del nombre del depósito, pero esto no es lo que necesito. Por supuesto, arrojará una excepción de que no tengo acceso a él más tarde, pero regresa indicando que existe el depósito con este nombre.

Quiero verificar si el depósito con el nombre dado existe en mi cuenta S3 para poder realizar operaciones en él.

Una posible solución puede ser list todos los cubos y buscar mi cubo en esa lista devuelta, lo que creo que no es un buen rendimiento (corríjame si me equivoco), ya que puede haber cientos de miles de cubos y búsquedas. en ellos no es eficiente.

¿Cómo puedo determinar si existe un depósito en mi cuenta de S3 que no verifica la existencia global ?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Una solicitud HeadBucket hace el trabajo.

 HeadBucketRequest headBucketRequest = HeadBucketRequest.builder() .bucket(bucketName) .build(); try { s3Client.headBucket(headBucketRequest); return true; } catch (NoSuchBucketException e) { return false; }
over 4 years ago · Santiago Trujillo Relatório

0

SDK 1.x no tiene un constructor HeadBucketRequest ni una NoSuchBucketException .

En caso de que alguien esté buscando la respuesta usando AWS SDK para Java 1.x , esto funciona:

 private boolean checkAccessToBucket(final String bucketName) { try { final HeadBucketRequest request = new HeadBucketRequest(bucketName); s3Client.headBucket(request); return true; } catch (AmazonServiceException ex) { if (ex.getStatusCode() == 404 | ex.getStatusCode() == 403 || ex.getStatusCode() == 301) { return false; } throw ex; } catch (Exception ex) { LOGGER.error("Cannot check access", ex); throw ex; } }
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