Von der URL in den GCP-Bucket herunterladen

Von der URL in den GCP-Bucket herunterladen

Gibt es bei einer URL, die auf eine große Datei verweist, eine Abkürzung, um diese Datei in einen Bucket zu bekommen, ohne sie lokal herunterzuladen und dann hochzuladen?

Gibt es eine einfachere Möglichkeit, dies zu tun, außer ein Docker-Image zu erstellen, das die Aufgabe erledigt und das irgendwie in GCP ausführt?

Antwort1

Wie bereits erwähnt in derVerknüpfung

1: Sie können dies mit dem Curl-Befehl tun, indem Sie die Daten direkt in den Bucket streamen.

curl http://speedtest.tele2.net/10GB.zip | gsutil cp -gs://YOUR_BUCKET_NAME/10GB.zip

2: Dateien, die kleiner als 4,6 GB sind.

Ursprünglicher Ansatz: Dies funktioniert, solange Ihr Download weniger als 4,6 GB beträgt. Starten Sie die Cloud Shell (erstes Symbol oben rechts, nachdem Sie sich bei Ihrem Projekt in GCP angemeldet haben) und verwenden Sie wget, um die gewünschte Datei herunterzuladen. Um beispielsweise 7-Zip herunterzuladen, geben Sie Folgendes ein: wget https://www.7-zip.org/a/7z1805-x64.exeJetzt können Sie die Datei in Ihrem Cloud Shell-Benutzer-Home mit dem Befehl gsutil in einen Google Cloud Storage-Bucket kopieren:

gsutil cp ./7z1805-x64.exe gs://your_bucket_name/

3: Dateien, die größer als 4,6 GB sind.

Erstellen Sie ein Verzeichnis in Ihrem Cloud Shell-Benutzer-Homemkdir ~/mybucket

Mounten Sie nun Ihren Bucket mit gcsfuse in diesem Verzeichnis:

gcsfuse bucket_name ~/mybucket

Ändern Sie das aktuelle Verzeichnis in das Einhängepunktverzeichnis: cd mybucket(wenn Sie „df -h“ ausführen möchten, um zu sehen, wie viel Speicherplatz Sie an diesem Einhängepunkt haben) Verwenden Sie jetzt wget, um die Datei direkt in Ihren Bucket zu bekommen (Beispiel mit einer 10 GB großen Datei aus dem Internet):

wget https://speed.hetzner.de/10GB.bin

Weitere Informationen finden Sie imDokumentationauf Speichertransferdienste und die Schaffung einerURL-Liste.

Antwort2

Google Cloud Storage bietet nicht die Möglichkeit, ein Objekt von einer URL zu laden.

Sie müssen Ihren eigenen Code schreiben, die CLI oder einen verwalteten Dienst verwenden, wieSpeichertransferdienst

verwandte Informationen