Tengo un depósito S3 que contiene un millón de objetos, cada clave de objeto es bastante diferente entre sí y nada estándar en absoluto.
Quiero saber si hay una manera de buscar patrones clave específicos y devolver esos objetos usando el SDK de Amazon S3 para Java.
Por ejemplo, ¿puedo buscar las claves usando
¿Cuáles son las formas posibles de buscar claves con S3?
Puede ListObjects() con un prefijo dado. Amazon S3 no admite el listado a través de sufijos o expresiones regulares.
El prefijo incluye la ruta completa del objeto, por lo que un objeto con una clave de 2020/06/10/foo.txt podría encontrarse con un prefijo de 2020/06/10/ , pero no con un prefijo de foo .
El comando Java es: ListObjects()
Consulte también: Realización de operaciones en objetos de Amazon S3: AWS SDK para Java
Con millones de objetos, podría ser bastante lento enumerar sus objetos (incluso con un prefijo), ya que cada llamada a la API devolverá un máximo de 1000 objetos.
Como alternativa, es posible que desee utilizar Amazon S3 Inventory , que puede proporcionar un archivo CSV diario o semanal que contiene una lista de todos los objetos.