Auf dieser Seite wird beschrieben, wie Sie Pfade bei der Übertragung ein- und ausschließen. Präfixe ein- und ausschließen.
Informationen zum Erstellen eines Manifests bestimmter zu übertragender Objekte finden Sie unter Bestimmte Dateien oder Objekte mithilfe eines Manifests übertragen
Übersicht
Storage Transfer Service unterstützt die Verwendung von Präfixen zur Auswahl der Dateien Daten in die Datenquelle ein- oder daraus auszuschließen. Sie können „Einschließen-Präfixe“, Präfixe oder beide Präfixe zusammen.
Das Filtern nach Präfix wird unterstützt für Amazon S3-, Microsoft Azure Blob Storage- und Cloud Storage-Datenquellen.
Lassen Sie bei der Eingabe eines Präfixes den Schrägstrich am Anfang weg. Wenn Sie beispielsweise das Objekt
requests.gz
in eine Übertragung aus dem Bucket-Pfads3://my-aws-bucket/logs/y=2015/requests.gz
aufnehmen möchten, geben Sie das einschließende Präfix alslogs/y=2015/requests.gz
an.Teilweise Übereinstimmungen werden für einzuschließende und auszuschließende Präfixe unterstützt. Beispiel:
path
stimmt mitpath_1/
undpath_2/
überein.Platzhalter werden nicht unterstützt.
Wenn Sie einen Ordner als Quellspeicherort angegeben haben, sind Präfixfilter relativ zu diesem Ordner. Beispiel: Ihre Quelle ist
gs://my-test-bucket/path/
, der Einschließen-Filter vonfile
schließt alle Dateien ein beginnend mitgs://my-test-bucket/path/file
.Jedes einschließende Präfix muss einen bestimmten Teil des Objekt-Namespace enthalten. Kein einschließendes Präfix darf ein Präfix eines anderen einschließenden Präfixes sein. Beispiel: Sie können nicht sowohl
path_1
als auchpath_1/subpath_2
als Einschließen angeben. Präfixe.Wenn Sie einschließende und ausschließende Präfixe zusammen verwenden, müssen die ausschließenden Präfixe mit dem Wert eines der einschließenden Präfixe beginnen. Beispiel: Wenn Sie
a
als einschließendes Präfix festlegen, können die ausschließenden Präfixe z. B.a/b
,aaa
oderabc
lauten.Wenn Sie nur ausschließende Präfixe verwenden, gibt es keine Einschränkungen für die Präfixe die Sie verwenden können.
Wenn Sie keine Präfixe angeben, werden alle Objekte übertragen, die sich im Bucket befinden.
Allgemeine Informationen zu Präfixen finden Sie unter Hierarchische Auflistung von Schlüsseln mit einem Präfix und Trennzeichen in der Amazon S3-Dokumentation oder der Objektlistenmethode für Cloud Storage.
Präfixe angeben
Cloud Console
So legen Sie ein- und ausgeschlossene Präfixe mithilfe der Cloud Console, geben Sie die Werte ein, wenn Sie eine neue Übertragung erstellen oder beim Aktualisieren einer vorhandenen Übertragung.
gcloud-CLI
Um Präfixe zum Einschließen oder Ausschließen mithilfe der gcloud
CLI anzugeben, übergeben Sie die
Flags --include-prefixes
und --exclude-prefixes
an den
gcloud transfer jobs create
-Befehl oder gcloud transfer jobs update
Befehl:
gcloud transfer jobs create SOURCE DESTINATION \
--include-prefixes="path_1/,path_2/" --exclude-prefixes="path_1/subpath_2/"
Trennen Sie mehrere Präfixe durch Kommas und lassen Sie Leerzeichen nach den Kommas weg.
Beispiel: --include-prefixes=foo,bar
.
REST
Verwenden Sie zum Angeben von einschließenden und auszuschließenden Präfixen mithilfe der REST API die
includePrefixes[]
- und excludePrefixes[]
-Felder:
{
"description": "YOUR DESCRIPTION",
"status": "ENABLED",
"projectId": "PROJECT_ID",
"schedule": {
"scheduleStartDate": {
"day": 1,
"month": 1,
"year": 2015
},
"startTimeOfDay": {
"hours": 1,
"minutes": 1
}
},
"transferSpec": {
"gcsDataSource": {
"bucketName": "GCS_SOURCE_NAME"
},
"gcsDataSink": {
"bucketName": "GCS_SINK_NAME"
},
"transferOptions": {
"deleteObjectsFromSourceAfterTransfer": true
},
"objectConditions": {
"includePrefixes": [
"path_1/",
"path_2/"
],
"excludePrefixes": [
"path_1/subpath_2/object_5"
]
}
}
}
Weitere Informationen finden Sie in der Referenz zu ObjectConditions
.
Beispielobjekte und -pfade
In den Beispielen in diesem Dokument werden die folgenden Beispielobjekte und -pfade verwendet:
xx://bucketname/object_1
xx://bucketname/object_2
xx://bucketname/path_1/object_3
xx://bucketname/path_2/object_4
xx://bucketname/path_1/subpath_1/object_5
xx://bucketname/path_1/subpath_2/object_6
xx://bucketname/path_2/subpath_3/object_7
xx://bucketname/path_2/subpath_4/object_8
Präfixe einschließen
Verwenden Sie beim Erstellen einer Übertragung „Einschließen“-Präfixe, um Storage Transfer Service, um Objekte in den aufgeführten Pfaden für die Übertragung, und Objekte ignorieren, die nicht unter diesen Pfaden liegen.
Wenn Sie beispielsweise Objekte unter path_1/
einschließen möchten, verwenden Sie das folgende Präfix:
path_1/
Dies gilt auch für Objekte direkt unter path_1/
, path_1/subpath_1
und path_1/subpath_2/
. Die folgenden Objekte sind in der Übertragung enthalten:
xx://bucketname/object_1xx://bucketname/object_2xx://bucketname/path_1/object_3xx://bucketname/path_2/object_4xx://bucketname/path_1/subpath_1/object_5 xx://bucketname/path_1/subpath_2/object_6xx://bucketname/path_2/subpath_3/object_7xx://bucketname/path_2/subpath_4/object_8
Sie können mehrere Pfade angeben, die eingeschlossen werden sollen. Sie können beispielsweise Folgendes:
path_1/subpath_2/ path_1/subpath_3/
In diesem Fall umfasst die Übertragung die folgenden Objekte:
xx://bucketname/object_1xx://bucketname/object_2xx://bucketname/path_1/object_3xx://bucketname/path_2/object_4xx://bucketname/path_1/subpath_1/object_5xx://bucketname/path_1/subpath_2/object_6 xx://bucketname/path_2/subpath_3/object_7xx://bucketname/path_2/subpath_4/object_8
Teilweise Übereinstimmungen werden unterstützt. Wenn Sie z. B. path
als Wert für
Ein einschließendes Präfix entspricht den folgenden Objekten:
xx://bucketname/object_1xx://bucketname/object_2xx://bucketname/path_1/object_3 xx://bucketname/path_2/object_4 xx://bucketname/path_1/subpath_1/object_5 xx://bucketname/path_1/subpath_2/object_6 xx://bucketname/path_2/subpath_3/object_7 xx://bucketname/path_2/subpath_4/object_8
Wenn Sie einschließende Präfixe verwenden, sind Pfade, die Sie nicht explizit einschließen, an den Cloud Storage-Ziel-Bucket übertragen werden.
Präfixe ausschließen
Wenn Sie beim Erstellen einer Übertragung Präfixe verwenden, wird Storage Transfer Service angewiesen, die aufgeführten Pfade für die Übertragung ignorieren.
Übergeben Sie das folgende Präfix, um Objekte unter path_1/
auszuschließen:
path_1/
Dies schließt Objekte unter path_1/
, path_1/subpath_1/
und path_1/subpath_2/
aus. In diesem Fall sind die folgenden Objekte in der Übertragung enthalten:
xx://bucketname/object_1 xx://bucketname/object_2xx://bucketname/path_1/object_3xx://bucketname/path_2/object_4xx://bucketname/path_1/subpath_1/object_5xx://bucketname/path_1/subpath_2/object_6xx://bucketname/path_2/subpath_3/object_7 xx://bucketname/path_2/subpath_4/object_8
Sie können mehrere Pfade angeben, die ausgeschlossen werden sollen. Sie können beispielsweise Folgendes:
path_1/subpath_2/
path_2/subpath_3/
In diesem Fall umfasst die Übertragung die folgenden Objekte:
xx://bucketname/object_1 xx://bucketname/object_2 xx://bucketname/path_1/object_3 xx://bucketname/path_2/object_4 xx://bucketname/path_1/subpath_1/object_5xx://bucketname/path_1/subpath_2/object_6xx://bucketname/path_2/subpath_3/object_7xx://bucketname/path_2/subpath_4/object_8
Gleichzeitig Pfade ein- und ausschließen
Sie können ein ausschließendes und ein einschließendes Präfix zusammen anwenden. In diesem Fall Mit dem Ausschließen-Präfix wird festgelegt, was das einschließende Präfix übertragen werden.
Wenn Sie beide Präfixtypen angeben, muss jedes ausgeschlossene Präfix mit einem Pfad, der mit einem einschließenden Präfix angegeben ist.
Wenn Sie beispielsweise Objekte unter path_1/
einschließen und Objekte unter subpath_1/
ausschließen möchten, übergeben Sie Folgendes:
include: path_1/
exclude: path_1/subpath_1/
In diesem Fall umfasst die Übertragung die folgenden Objekte:
xx://bucketname/object_1xx://bucketname/object_2xx://bucketname/path_1/object_3xx://bucketname/path_2/object_4xx://bucketname/path_1/subpath_1/object_5xx://bucketname/path_1/subpath_2/object_6xx://bucketname/path_2/subpath_3/object_7xx://bucketname/path_2/subpath_4/object_8
Wenn Sie alle Objekte unter path_1/
und path_2/
einschließen möchten, außer Elemente in path_1/subpath_1/
oder path_2/subpath_3/
, übergeben Sie Folgendes:
include: path_1/
path_2/
exclude: path_1/subpath_1/
path_2/subpath_3/
In diesem Fall umfasst die Übertragung die folgenden Objekte:
xx://bucketname/object_1xx://bucketname/object_2xx://bucketname/path_1/object_3 xx://bucketname/path_2/object_4xx://bucketname/path_1/subpath_1/object_5xx://bucketname/path_1/subpath_2/object_6xx://bucketname/path_2/subpath_3/object_7xx://bucketname/path_2/subpath_4/object_8
Beispiele für falsches Einschließen oder Ausschließen von Pfaden
In den folgenden Abschnitten wird anhand von Beispielen beschrieben, wie Sie Pfade nicht ein- oder ausschließen sollten, und was Sie sie korrigieren müssen, damit die Beispiele ordnungsgemäß funktionieren.
Einen Pfad einschließen, der in einem anderen einschließenden Präfix verwendet wird
Jedes einschließende Präfix sollte einen bestimmten Teil des Objekt-Namespace angeben. Das folgende Beispiel ist falsch, da der zweite Wert bereits im Namespace des ersten Werts enthalten ist:
include: path_1/
path_1/subpath_1
In diesem Beispiel sind die
„Einschließen“-Präfixwerte ungültig,
Das Präfix path_1/subpath_1
ist bereits in path_1/
enthalten.
Entfernen Sie einen der Werte, um das Problem zu beheben.
Ein ausschließendes Präfix verwenden, das nicht mit einem einschließenden Präfix beginnt
Jedes ausgeschlossene Präfix muss mit einem beliebigen der angegebenen einschließenden Präfixe beginnen Werte. Das folgende Beispiel ist falsch, da die auszuschließenden Präfixwerte nicht mit den angegebenen „Einschließen“-Präfixwerten beginnen:
include: path_1/
path_2/
exclude: subpath_1
subpath_4
In diesem Beispiel sind die auszuschließenden Präfixwerte ungültig, da sie nicht beginnen mit einem der einschließenden Präfixwerte. Um dieses Problem zu beheben, Achten Sie darauf, dass das ausschließende Präfix einen vollständigen Pfad enthält, der als einschließendes Präfix aufgeführt ist:
include: path_1/
path_2/
exclude: path_1/subpath_1/
path_2/subpath_4/
Nächste Schritte
- Weitere Informationen zum Übertragen einer bestimmten Liste von Dateien oder Objekten finden Sie hier.