Saltar al contenido

¿Cómo verificar si el archivo existe en Google Cloud Storage?

Posteriormente a consultar expertos en el tema, programadores de diversas áreas y profesores dimos con la solución a la interrogande y la dejamos plasmada en esta publicación.

Solución:

Esta publicación es antigua, ahora puede verificar si existe un archivo en GCP usando la clase blob, pero como me tomó un tiempo encontrar una respuesta, agregué aquí para los demás que están buscando una solución

from google.cloud import storage

name = 'file_i_want_to_check.txt'   
storage_client = storage.Client()
bucket_name = 'my_bucket_name'
bucket = storage_client.bucket(bucket_name)
stats = storage.Blob(bucket=bucket, name=name).exists(storage_client)

La documentación está aquí.

¡Espero que esto ayude!

Editar

Según el comentario de @om-prakash, si el archivo está en una carpeta, el nombre debe incluir la ruta al archivo:

name = "folder/path_to/file_i_want_to_check.txt"

Es tan fácil como usar el método exist dentro de un objeto blob:

from google.cloud import storage

def blob_exists(projectname, credentials, bucket_name, filename):
   client = storage.Client(projectname, credentials=credentials)
   bucket = client.get_bucket(bucket_name)
   blob = bucket.blob(filename)
   return blob.exists()

La respuesta proporcionada por @nickthefreak es correcta, al igual que el comentario de Om Prakash. Otra nota es que el bucket_name no debe incluir gs:// delante o un / al final.

Aprovechando el ejemplo de @nickthefreak y el comentario de Om Prakash:

from google.cloud import storage

name = 'folder1/another_folder/file_i_want_to_check.txt'   

storage_client = storage.Client()
bucket_name = 'my_bucket_name'  # Do not put 'gs://my_bucket_name'
bucket = storage_client.bucket(bucket_name)
stats = storage.Blob(bucket=bucket, name=name).exists(storage_client)

stats será un booleano (verdadero o falso) dependiendo de si el archivo existe en el depósito de almacenamiento.

(No tengo suficientes puntos de reputación para comentar, pero quería ahorrarle tiempo a otras personas porque perdí demasiado tiempo con esto).

Reseñas y calificaciones

Nos puedes ayudar nuestro estudio escribiendo un comentario y dejando una puntuación te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *