Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Mit dem Storage Transfer Service können Sie Dateien aus einer Liste öffentlicher URLs in Ihren Cloud Storage-Bucket kopieren.
Wenn Sie eine Übertragung erstellen, geben Sie einen Link zu einer TSV-Datei (Tabulatorgetrennte Werte) an, die die URLs und Details der zu übertragenden Objekte enthält. Die TSV-Datei kann an einem beliebigen öffentlich zugänglichen HTTP- oder HTTPS-Speicherort gehostet oder in einem Cloud Storage-Bucket gespeichert werden.
Auf dieser Seite wird beschrieben, wie Sie eine URL-Liste erstellen und an den Befehl zum Erstellen von Jobs übergeben.
Anforderungen an Quelldateien
URLs müssen öffentlich zugänglich sein und HTTP- oder HTTPS-Protokolle verwenden.
Der Server, der jedes Objekt hostet:
Der Zugriff auf das Objekt darf nicht mit einer robots.txt verweigert werden.
Unterstützt Range-Anfragen.
Gibt in jeder Antwort einen Content-Length-Header zurück.
Format für URL-Listen
Eine URL-Liste muss die folgenden Anforderungen erfüllen:
Die Datei muss als tabulatorgetrennte Wertedatei formatiert sein.
URLs müssen in lexikografischer Reihenfolge in UTF-8 sortiert werden.
In der ersten Zeile muss TsvHttpData-1.0 angegeben werden.
Geben Sie nach der ersten Zeile ein Objekt pro Zeile an.
Jede Zeile muss die URL enthalten. Optional können auch die Dateigröße und die base64-codierte MD5-Prüfsumme des Objekts angegeben werden.
Das folgende Beispiel zeigt eine TSV-Datei, die zwei zu übertragende Objekte angibt. Hinweis: Auf dieser Seite werden Tabulatoren als Leerzeichen dargestellt. Verwenden Sie in Ihrer eigenen Datei Tabulatoren zwischen den Feldern.
Achten Sie darauf, dass die angegebene Größe mit der tatsächlichen Größe des Objekts beim Abrufen übereinstimmt. Wenn die Größe des Objekts, das von Cloud Storage empfangen wird, nicht mit der angegebenen Größe übereinstimmt, schlägt die Objektübertragung fehl.
Optional: Die base64-codierte MD5-Prüfsumme des Objekts.
Achten Sie darauf, dass die angegebene MD5-Prüfsumme mit der aus den übertragenen Byte berechneten MD5-Prüfsumme übereinstimmt. Wenn die MD5-Prüfsumme des von Cloud Storage empfangenen Objekts nicht mit der angegebenen MD5-Prüfsumme übereinstimmt, schlägt die Objektübertragung fehl.
Die Werte für die Objektgröße und die MD5-Prüfsumme sind zwar optional, werden aber dringend empfohlen, um die Datenintegrität zu gewährleisten.
URL-Liste hosten
Die URL-Liste kann an einem der folgenden beiden Speicherorte gehostet werden:
Eine öffentlich zugängliche URL.
Ein Cloud Storage-Bucket, für den dem Dienst-Agent für den Storage Transfer Service Zugriff gewährt wurde.
Öffentlich zugängliche URLs
Wenn Sie die URL-Liste unter einer öffentlich zugänglichen URL speichern, gelten die folgenden Anforderungen:
Die URL muss mit http:// oder https:// beginnen.
Der Server muss einen starken Etag-Header in der HTTP-Antwort festlegen, wenn er die URL-Liste zurückgibt.
Sie können die Liste beispielsweise in einem Cloud Storage-Bucket speichern und das Objekt öffentlich freigeben, um einen Link zu erhalten.
Cloud Storage-Buckets
Wenn Sie Ihre Liste nicht an einem öffentlichen Speicherort speichern möchten, können Sie sie in einem Cloud Storage-Bucket speichern und dem Kundenservicemitarbeiter Zugriff auf den Storage Transfer Service gewähren.
Dem Kundenservicemitarbeiter müssen die folgenden Berechtigungen gewährt werden:
Die Berechtigung storage.object.get für das Objekt. Sie können dies tun, indem Sie die Rolle roles/storage.legacyObjectReader für den Bucket gewähren oder eine benutzerdefinierte Rolle verwenden.
Die storage.buckets.get-Berechtigung für den Bucket. Sie können diese Berechtigung durch Gewähren der Rolle roles/storage.legacyBucketReader oder einer benutzerdefinierten Rolle gewähren.
So gewähren Sie Berechtigungen für den Dienst-Agent:
Es wird ein interaktives Steuerfeld mit dem Titel Diese Methode testen geöffnet.
Geben Sie im Steuerfeld unter Anfrageparameter Ihre Projekt-ID ein. Das hier angegebene Projekt muss das Projekt sein, das Sie zum Verwalten des Storage Transfer Service verwenden. Dieses kann sich vom Projekt des Buckets mit der URL-Liste unterscheiden.
Klicken Sie auf Ausführen.
Die E-Mail-Adresse des Kundenservicemitarbeiters wird als Wert von accountEmail zurückgegeben und hat das Format project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com.
Kopieren Sie diesen Wert.
Erforderliche Rollen gewähren
Wenn Sie dem Dienst-Agent die Rolle roles/storage.objectViewer und die Rolle roles/storage.bucketViewer für den Bucket mit der URL-Liste zuweisen möchten, folgen Sie der Anleitung unter IAM-Richtlinien für Buckets festlegen und verwalten.
Das hinzugefügte Hauptkonto ist die E-Mail-Adresse des Dienst-Agents. Falls erforderlich, ist die Haupt-ID serviceAccount. Beispiel: serviceAccount:project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com
Übertragungsjob für URL-Liste erstellen
So legen Sie beim Erstellen eines Übertragungsjobs eine URL-Liste fest:
Beachten Sie bei der Auswahl einer Quelle Folgendes:
Wählen Sie unter Quelltyp die Option URL-Liste aus und klicken Sie auf Nächster Schritt.
Geben Sie unter URL der TSV-Datei die URL zu Ihrer TSV-Datei (Tabulatorgetrennte Werte) ein. Die URL ist entweder eine HTTP-/HTTPS-Adresse (z.B. https://example.com/urllist.tsv) oder ein Cloud Storage-Pfad (z.B. gs://my-bucket/urllist.tsv).
gcloud-CLI
Verwenden Sie zum Erstellen eines neuen Übertragungsjobs den Befehl gcloud transfer jobs create.
gcloudtransferjobscreate\SOURCEDESTINATION
Bei der Übertragung von URL-Listen ist der Wert von SOURCE die URL der TSV-Datei. Die URL ist entweder eine HTTP-/HTTPS-Adresse (z.B. https://example.com/urllist.tsv) oder ein Cloud Storage-Pfad (z.B. gs://my-bucket/urllist.tsv).
Weitere Informationen zum Erstellen von Übertragungen mit der gcloud CLI finden Sie unter Übertragungsjobs erstellen.
REST
Wenn Sie einen Übertragungsjob für eine URL-Liste mit der REST API erstellen möchten, geben Sie die URL der TSV-Datei im Feld listUrl an:
Der Wert von URL ist entweder eine HTTP-/HTTPS-Adresse (z.B. https://example.com/urllist.tsv) oder ein Cloud Storage-Pfad (z.B. gs://my-bucket/urllist.tsv).
Weitere Informationen zum Erstellen von Übertragungen mit der REST API finden Sie in der Referenz zur REST API.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-18 (UTC)."],[],[],null,["# Transfer from public URLs to Cloud Storage\n\nStorage Transfer Service can copy files from a list of public URLs to your\nCloud Storage bucket.\n\nWhen creating a transfer, you provide a link to a tab-separated values (TSV)\nfile containing the URLs and details of the objects to transfer. The TSV file\ncan be hosted in any publicly-accessible HTTP or HTTPS location; or can be\nstored in a Cloud Storage bucket.\n\nThis page explains how to create a URL list and pass it to the job creation\ncommand.\n\nSource file requirements\n------------------------\n\n- URLs must be publicly-accessible and use HTTP or HTTPS protocols.\n- The server hosting each object:\n - Must not deny access to the object with a `robots.txt`.\n - Supports `Range` requests.\n - Returns a `Content-Length` header in each response.\n\nURL list format\n---------------\n\nA URL list must adhere to the following requirements:\n\n- The file must be formatted as tab-separated values.\n- URLs must be in UTF-8 lexicographical order.\n- The first line must specify `TsvHttpData-1.0`.\n- After the first line, specify one object per row.\n- Each row must contain the URL, and may also contain the file size and the base64-encoded MD5 checksum of the object.\n\nThe following is a sample TSV file that specifies two objects to transfer. Note\nthat on this page the tabs are rendered as spaces; for your own file, make sure\nto use tabs between fields. \n\n TsvHttpData-1.0\n https://example.com/myfile.pdf 1357 wHENa08V36iPYAsOa2JAdw==\n https://example2.com/images/dataset1/flower.png 2468 R9acAaveoPd2y8nniLUYbw==\n\nEach line contains:\n\n- The HTTP or HTTPS URL of a source object.\n- (Optional) The size of the object in bytes.\n\n Ensure that the specified size matches the actual size of the object\n when it is fetched. If the size of the object received by\n Cloud Storage does not match the size specified, the object\n transfer will fail.\n- (Optional) The base64-encoded MD5 checksum of the object.\n\n Ensure that the specified MD5 checksum matches the MD5 checksum computed\n from the transferred bytes. If the MD5 checksum of the object received\n by Cloud Storage does not match the MD5 checksum specified, the\n object transfer will fail.\n | **Note:** Many checksumming tools output an object's MD5 checksum in base16-encoded format. Ensure the values provided are in base64-encoded format.\n\nWhile the object size and MD5 checksum values are optional, we strongly\nrecommend including them to help ensure data integrity.\n\nHosting the URL list\n--------------------\n\nThe URL list can be hosted in one of two locations:\n\n- A publicly-accessible URL.\n- A Cloud Storage bucket, to which the service agent for Storage Transfer Service\n has been granted access.\n\n### Publicly-accessible URLs\n\nWhen storing the URL list at a publicly-accessible URL, the following\nrequirements apply:\n\n- The URL must begin with `http://` or `https://`.\n- The server must set a strong `Etag` header in the HTTP response when it returns the URL list.\n\nFor example, you can store the list in a Cloud Storage bucket and\n[share the object publicly](/storage/docs/cloud-console#_sharingdata) to\nget a link to it.\n\n### Cloud Storage buckets\n\nTo avoid storing your list in a public location, you can store it in a\nCloud Storage bucket, and grant access to the service agent\nfor Storage Transfer Service.\n\nThe service agent must be granted the following permissions:\n\n- The `storage.object.get` permission on the object. This can be granted by granting the `roles/storage.legacyObjectReader` role on the bucket, or with a custom role.\n- The `storage.buckets.get` permission on the bucket. This can be granted by granting the `roles/storage.legacyBucketReader` role, or with a custom role.\n\nTo grant permissions to the service agent:\n\n#### Find the service agent's email\n\n1. Go to the\n [`googleServiceAccounts.get` reference\n page](/storage-transfer/docs/reference/rest/v1/googleServiceAccounts/get).\n\n An interactive panel opens, titled **Try this method**.\n2. In the panel, under **Request parameters**, enter your\n project ID. The project you specify here must be the project you're\n using to manage Storage Transfer Service, which might be different from the URL\n list bucket's project.\n\n3. Click **Execute**.\n\nYour service agent's email is returned as the value of `accountEmail` and\nuses the format\n`project-`\u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e`@storage-transfer-service.iam.gserviceaccount.com`.\n\nCopy this value.\n\n#### Grant the required roles\n\nTo grant the `roles/storage.objectViewer` role and the\n`roles/storage.bucketViewer` role to the service agent on the bucket containing\nthe URL list, follow the instructions in\n[Set and manage IAM policies on buckets](/storage/docs/access-control/using-iam-permissions).\n\nThe principal you are adding is the service agent's email address. If required,\nthe principal identifier is `serviceAccount`. For example,\n`serviceAccount:project-`\u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e`@storage-transfer-service.iam.gserviceaccount.com`.\n\nCreate a URL list transfer job\n------------------------------\n\nTo specify a URL list when creating a transfer job, follow these instructions: \n\n### Google Cloud console\n\nFollow the instructions in\n[Create a transfer job](/storage-transfer/docs/create-transfers#google-cloud-console).\n\nWhen choosing a source:\n\n1. Under **Source type** , select **URL list** and click **Next step**.\n\n2. Under **URL of TSV file** , provide the URL to your tab-separated values\n (TSV) file. The URL is either an HTTP/HTTPS address (e.g.\n `https://example.com/urllist.tsv`) or a Cloud Storage path\n (e.g. `gs://my-bucket/urllist.tsv`).\n\n### gcloud CLI\n\nTo create a new transfer job, use the `gcloud transfer jobs create`\ncommand. \n\n gcloud transfer jobs create \\\n \u003cvar translate=\"no\"\u003eSOURCE\u003c/var\u003e \u003cvar translate=\"no\"\u003eDESTINATION\u003c/var\u003e\n\nFor URL list transfers, the value of \u003cvar translate=\"no\"\u003eSOURCE\u003c/var\u003e is the URL of the\nTSV file. The URL is either an HTTP/HTTPS address (e.g.\n`https://example.com/urllist.tsv`) or a Cloud Storage path\n(e.g. `gs://my-bucket/urllist.tsv`).\n\nFor more information on creating transfers using gcloud CLI, see\n[Create transfer jobs](/storage-transfer/docs/create-transfers#gcloud-cli).\n\n### REST\n\nTo create a URL list transfer job using the REST API, specify the URL of the\nTSV file in the `listUrl` field: \n\n {\n \"projectId\": \"\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e\",\n \"transferSpec\": {\n \"httpDataSource\": {\n \"listUrl\": \"\u003cvar translate=\"no\"\u003eURL\u003c/var\u003e\"\n },\n \"gcsDataSink\": {\n \"bucketName\": \"DESTINATION_BUCKET\"\n }\n },\n \"status\": \"ENABLED\"\n }\n\nThe value of \u003cvar translate=\"no\"\u003eURL\u003c/var\u003e is either an HTTP/HTTPS address (e.g.\n`https://example.com/urllist.tsv`) or a Cloud Storage path\n(e.g. `gs://my-bucket/urllist.tsv`).\n\nFor more details on creating transfers using the REST API, see the\n[REST API reference](/storage-transfer/docs/reference/rest/v1/transferJobs/create)."]]