
He creado un servicio usando:
almacenamiento.Cliente(proyecto='nombre_proyecto', credenciales=credenciales)
https://googleapis.dev/python/storage/latest/client.html
Y puedo cargar, eliminar y enumerar los archivos en el depósito de Google Cloud de un usuario. He visto una opción para descargar el archivo a un servidor, pero ¿hay alguna opción para obtener un enlace de descarga?
Respuesta1
Puede obtener el enlace descargable reemplazando los valores de la siguiente cadena:
https://storage.googleapis.com/{bucket.name}/{blob.name}
Si necesita limitar permisos o tiempo para realizar la solicitud, puedegenerar una URL firmada
Una URL firmada es una URL que proporciona permiso y tiempo limitados para realizar una solicitud. Las URL firmadas contienen información de autenticación en su cadena de consulta, lo que permite a los usuarios sin credenciales realizar acciones específicas en un recurso. Cuando genera una URL firmada, especifica un usuario o cuenta de servicio que debe tener permiso suficiente para realizar la solicitud que realizará la URL firmada. Después de generar una URL firmada, cualquiera que la posea puede usarla para realizar acciones específicas, como leer un objeto, dentro de un período de tiempo específico.
Respuesta2
No puede utilizar un token de acceso para firmar una URL porque los tokens de acceso tienen un tiempo limitado (aproximadamente una hora). Una alternativa al uso del archivo de clave privada para firmar una URL es utilizar la funcionalidad SignBlob de IAM. Puede usarlo con “gsutil”
el comando ”gsutil signurl -u --”
como se menciona endocumentación. Tenga en cuenta que con este método, la URL firmada solo es válida durante 12 horas, en comparación con el máximo de 7 días como se menciona en eldocumentación
El servicio signBlob rota periódicamente la clave privada que utiliza. Las URL firmadas generadas se pueden utilizar durante al menos 12 horas, pero pueden dejar de funcionar antes del tiempo de vencimiento establecido si el tiempo de vencimiento es mayor a 12 horas. Teniendo esto en cuenta, las URL firmadas generadas a partir de signBlob se utilizan mejor para el acceso de corta duración a los recursos.