Wie erhalte ich eine Download-URL für Dateien im Google Cloud Storage?

Wie erhalte ich eine Download-URL für Dateien im Google Cloud Storage?

Ich habe einen Dienst erstellt mit:

storage.Client(Projekt='Projektname', Anmeldeinformationen=Anmeldeinformationen)

https://googleapis.dev/python/storage/latest/client.html

Und ich kann die Dateien im Google Cloud-Bucket eines Benutzers hochladen, löschen und auflisten. Ich habe eine Option zum Herunterladen der Datei auf einen Server gesehen, aber gibt es eine Option, einen Download-Link zu erhalten?

Antwort1

Sie können den Download-Link erhalten, indem Sie die Werte der folgenden Zeichenfolge ersetzen:

https://storage.googleapis.com/{bucket.name}/{blob.name}

Wenn Sie die Berechtigungen oder die Zeit für die Anfrage einschränken müssen, können SieGenerieren Sie eine signierte URL

Eine signierte URL ist eine URL, die begrenzte Berechtigungen und Zeit zum Stellen einer Anfrage bietet. Signierte URLs enthalten Authentifizierungsinformationen in ihrer Abfragezeichenfolge, sodass Benutzer ohne Anmeldeinformationen bestimmte Aktionen für eine Ressource ausführen können. Wenn Sie eine signierte URL generieren, geben Sie ein Benutzer- oder Dienstkonto an, das über ausreichende Berechtigungen verfügen muss, um die Anfrage zu stellen, die die signierte URL stellen wird. Nachdem Sie eine signierte URL generiert haben, kann jeder, der sie besitzt, die signierte URL verwenden, um innerhalb eines angegebenen Zeitraums bestimmte Aktionen auszuführen, z. B. das Lesen eines Objekts.

Antwort2

Sie können kein Zugriffstoken verwenden, um eine URL zu signieren, da Zugriffstoken zeitlich begrenzt sind (etwa eine Stunde). Eine Alternative zur Verwendung der privaten Schlüsseldatei zum Signieren einer URL ist die Verwendung der SignBlob-Funktionalität von IAM. Sie können sie mit “gsutil” dem Befehl verwenden ”gsutil signurl -u --” , wie in beschrieben.Dokumentation. Beachten Sie, dass bei dieser Methode die signierte URL nur 12 Stunden gültig ist, im Vergleich zu den maximal 7 Tagen, wie in derDokumentation

Der signBlob-Dienst wechselt regelmäßig den von ihm verwendeten privaten Schlüssel. Generierte signierte URLs sind mindestens 12 Stunden lang verwendbar, funktionieren aber möglicherweise vor dem von Ihnen festgelegten Ablaufzeitpunkt nicht mehr, wenn der Ablaufzeitpunkt mehr als 12 Stunden beträgt. Aus diesem Grund eignen sich von signBlob generierte signierte URLs am besten für kurzzeitigen Zugriff auf Ressourcen.

verwandte Informationen