Ich verwende Google Cloud Storage zum Speichern von Bildern für meine Google App Engine-Anwendung und versuche, auf die Bilder wie folgt zuzugreifen:
%Vor%Dies zeigt jedoch "Zugriff verweigert" an oder zeigt eine Google-Anmeldeaufforderung an. Dann habe ich versucht, mit signierten URLs dem Client Zugriff zu gewähren.
Ich habe die zu signierende URL wie folgt erzeugt:
%Vor%Und dann generiert Base64 mit der p12-Datei und kompiliert mit Java, aber ich habe diesen Fehler:
%Vor%Was mache ich hier falsch? Kann ich auf Bilder von GCS ohne Authentifizierung zugreifen?
Und schließlich nach 2 Tagen, hat es funktioniert. Hier ist die Antwort: Mein Ansatz dafür ist falsch , keine signierte URL erforderlich. Ich muss meinen Bucket einfach als public-read hinzufügen, damit ich ihn aus der Browser-Anfrage lesen kann. das ist alles. Öffne gsutil und gib folgendes ein:
%Vor%und setze dies als Standard für alle zukünftigen Uploads
%Vor%hoffe es hilft jemandem!
Danke an @kctang!
gsutil
wurde aktualisiert und Sie müssen nun Folgendes tun:
P.S. Für Personen, die mit gsutil
nicht vertraut sind, hier ist die Installation .
Sie verpassen die Felder content-md5 und content-type in der zu signierenden Zeichenfolge . Sie können leer sein, aber Sie benötigen weiterhin \n
separators. In diese Frage finden Sie ein Beispiel für die Erstellung der zu unterzeichnenden Zeichenfolge.
Für eine allgemeinere Antwort verwenden Sie das folgende Format, um auf eine gs: // URL zuzugreifen:
https://console.cloud.google.com/storage/browser/[BUCKET_NAME]/
Wenn der Bucket, auf den Sie zugreifen möchten, beispielsweise die öffentliche Landsat-Dataset gs://gcp-public-data-landsat/
ist, würden Sie mit dieser URL auf den Bucket zugreifen: https://console.cloud.google.com/storage/gcp-public-data-landsat/
Hier finden Sie die Dokumentation zum Zugriff auf einen Bucket:
Hoffe, das hilft!
Tags und Links google-cloud-storage