Sie können filtern, welche Objekte übertragen werden sollen, basierend auf der letzten Änderungszeit. So können Sie nur Objekte übertragen, die:
- vor oder nach einem bestimmten Datum und einer bestimmten Uhrzeit geändert wurden
- vor oder nach einer bestimmten Zeitspanne geändert wurden, die seit dem Übertragungsjob vergangen ist
Diese Funktion ist nützlich, um inkrementelle Übertragungen einzurichten oder Objekte zu überspringen, die außerhalb eines bestimmten Zeitraums liegen.
Das Filtern nach der letzten Änderungszeit wird für Übertragungen aus allen Quellen außer URL-Listen unterstützt.
Zeitbasierte Filter
Die Filterung wird mit den Werten last modified since (Zuletzt geändert seit), last modified before (Zuletzt geändert vor), minimum time elapsed since modified (Mindestzeit seit der letzten Änderung) und maximum time elapsed since modified (Maximalzeit seit der letzten Änderung) definiert. Sie können die Filter einzeln oder zusammen verwenden, um ein Zeitfenster zu erstellen.
| Feld | Beschreibung |
| Zuletzt geändert seit | Bezieht Objekte in die Übertragung ein, die am oder nach diesem Zeitstempel zuletzt geändert wurden. |
| Zuletzt geändert vor | Bezieht Objekte in die Übertragung ein, die vor diesem Zeitstempel zuletzt geändert wurden. |
| Mindestzeit seit der letzten Änderung | Bezieht Objekte in die Übertragung ein, die zuletzt geändert wurden mindestens so lange her. Mit diesem Filter können Sie beispielsweise nur Objekte einbeziehen, die vor mindestens einem Monat geändert wurden. Objekte ohne „letzte Änderungszeit“ werden ebenfalls übertragen. |
| Maximalzeit seit der letzten Änderung | Bezieht Objekte in die Übertragung ein, die vor höchstens so langer Zeit zuletzt geändert wurden. Mit diesem Filter können Sie beispielsweise nur Objekte einbeziehen, die in den letzten 7 Tagen geändert wurden. Objekte ohne „letzte Änderungszeit“ werden ebenfalls übertragen. |
Zeitbasierten Filter angeben
Sie können Filter für die Änderungszeit angeben, wenn Sie einen Übertragungsjob erstellen oder aktualisieren.
Zeitstempel müssen in UTC angegeben und als
RFC 3339 String formatiert sein
(z.B. 2025-10-31T10:00:00Z). Für Zeiträume wird das Format für die absolute Dauer verwendet
(z.B. 1m für 1 Monat, 1h30m für 1 Stunde und 30 Minuten).
Google Cloud Console
So geben Sie einen Zeitfilter in der Google Cloud Console an:
- Rufen Sie die Seite Übertragungsjob erstellen oder Übertragungsjob bearbeiten auf.
- Wählen Sie im Bereich Zu übertragende Daten auswählen die Option Datumsangaben und Uhrzeiten als Filtertyp aus.
- Geben Sie ein Datum und eine Uhrzeit für den absoluten Zeitraum oder einen Zeitraum für den relativen Zeitraum ein. Es können mehrere Filter gleichzeitig angegeben werden.
gcloud CLI
Wenn Sie mit der gcloud CLI nach der Änderungszeit filtern möchten, übergeben Sie die Flags für den zeitbasierten Filter an den Befehl gcloud transfer jobs create oder gcloud transfer jobs update:
gcloud transfer jobs create SOURCE DESTINATION \
--include-modified-before-absolute="DATETIME" \
--include-modified-after-absolute="DATETIME" \
--include-modified-before-relative="DURATION" \
--include-modified-after-relative="DURATION"
Wobei:
--include-modified-before-absolutebezieht Objekte ein, die vor einem bestimmten Datum und einer bestimmten Uhrzeit zuletzt geändert wurden. Wenn Sie beispielsweise2020-01-01angeben, werden Objekte in die Übertragung einbezogen, die vor dem 1. Januar 2020 zuletzt geändert wurden. Verwenden Sie das Datums- und Uhrzeitformat%Y-%m-%dT%H:%M:%S%z.--include-modified-after-absolutebezieht Objekte ein, die nach einem bestimmten Datum und einer bestimmten Uhrzeit zuletzt geändert wurden. Wenn Sie beispielsweise `2020-01-01` angeben, werden Objekte in die Übertragung einbezogen, die nach dem 1. Januar 2020 zuletzt geändert wurden. Verwenden Sie das Datums- und Uhrzeitformat%Y-%m-%dT%H:%M:%S%z.--include-modified-before-relativebezieht Objekte ein, die außerhalb eines bestimmten Zeitraums geändert wurden. Wenn Sie beispielsweise einen Zeitraum von10dangeben, werden Objekte übertragen, die mehr als 10 Tage vor der Startzeit der Übertragung zuletzt geändert wurden. Verwenden Sie das Format für die absolute Dauer. Beispiel:1mfür 1 Monat,1h30mfür 1 Stunde und 30 Minuten.--include-modified-after-relativebezieht Objekte ein, die innerhalb eines bestimmten Zeitraums geändert wurden. Wenn Sie beispielsweise einen Zeitraum von10dangeben, werden Objekte übertragen, die weniger als 10 Tage vor der Startzeit der Übertragung zuletzt geändert wurden. Verwenden Sie das Format für die absolute Dauer. Beispiel:1mfür 1 Monat,1h30mfür 1 Stunde und 30 Minuten.
Beispiel (geändert nach):
Mit dem folgenden Befehl werden nur Objekte übertragen, die am oder nach dem 1. Oktober 2025 geändert wurden.
gcloud transfer jobs create gs://my-source-bucket gs://my-sink-bucket
--include-modified-after-absolute="2025-10-01T00:00:00Z"
Beispiel (Zeitfenster):
Mit dem folgenden Befehl werden nur Objekte übertragen, die im Oktober 2025 geändert wurden.
gcloud transfer jobs create gs://my-source-bucket gs://my-sink-bucket
--include-modified-after-absolute="2025-10-01T00:00:00Z"
--include-modified-before-absolute="2025-11-01T00:00:00Z"
Beispiel (verstrichene Zeit):
Mit dem folgenden Befehl werden nur Objekte übertragen, die in den letzten 7 Tagen geändert wurden.
gcloud transfer jobs create gs://my-source-bucket gs://my-sink-bucket
--include-modified-after-relative="7d"
REST
Wenn Sie mit der REST API nach der Änderungszeit filtern möchten, geben Sie die Felder für den zeitbasierten Filter in den objectConditions Ihrer transferSpec an.
{
"description": "DESCRIPTION",
"status": "ENABLED",
"projectId": "PROJECT_ID",
"transferSpec": {
"gcsDataSource": {
"bucketName": "SOURCE_BUCKET"
},
"gcsDataSink": {
"bucketName": "DESTINATION_BUCKET"
},
"objectConditions": {
"lastModifiedBefore": "DATETIME",
"lastModifiedSince": "DATETIME",
"minTimeElapsedSinceLastModification": "DURATION",
"maxTimeElapsedSinceLastModification": "DURATION",
}
}
}
Wobei:
lastModifiedBeforebezieht Objekte ein, die vor einem bestimmten Datum und einer bestimmten Uhrzeit zuletzt geändert wurden. Wenn Sie beispielsweise2020-01-01angeben, werden Objekte in die Übertragung einbezogen, die vor dem 1. Januar 2020 zuletzt geändert wurden. Verwenden Sie das Datums- und Uhrzeitformat%Y-%m-%dT%H:%M:%S%z.lastModifiedSincebezieht Objekte ein, die nach einem bestimmten Datum und einer bestimmten Uhrzeit zuletzt geändert wurden. Wenn Sie beispielsweise `2020-01-01` angeben, werden Objekte in die Übertragung einbezogen, die nach dem 1. Januar 2020 zuletzt geändert wurden. Verwenden Sie das Datums- und Uhrzeitformat%Y-%m-%dT%H:%M:%S%z.minTimeElapsedSinceLastModificationbezieht Objekte ein, die außerhalb eines bestimmten Zeitraums geändert wurden. Wenn Sie beispielsweise einen Zeitraum von10dangeben, werden Objekte übertragen, die mehr als 10 Tage vor der Startzeit der Übertragung zuletzt geändert wurden. Verwenden Sie das Format für die absolute Dauer. Beispiel:1mfür 1 Monat,1h30mfür 1 Stunde und 30 Minuten.maxTimeElapsedSinceLastModificationbezieht Objekte ein, die innerhalb eines bestimmten Zeitraums geändert wurden. Wenn Sie beispielsweise einen Zeitraum von10dangeben, werden Objekte übertragen, die weniger als 10 Tage vor der Startzeit der Übertragung zuletzt geändert wurden. Verwenden Sie das Format für die absolute Dauer. Beispiel:1mfür 1 Monat,1h30mfür 1 Stunde und 30 Minuten.
Beispiel (Zeitfenster):
Mit dem folgenden JSON-Text wird ein Job konfiguriert, bei dem nur Objekte übertragen werden, die im Oktober 2025 geändert wurden.
{
"description": "Transfer October 2025 data",
"status": "ENABLED",
"projectId": "PROJECT_ID",
"transferSpec": {
"gcsDataSource": {
"bucketName": "SOURCE_BUCKET"
},
"gcsDataSink": {
"bucketName": "DESTINATION_BUCKET"
},
"objectConditions": {
"lastModifiedSince": "2025-10-01T00:00:00Z",
"lastModifiedBefore": "2025-11-01T00:00:00Z"
}
}
}
Weitere Informationen finden Sie in der ObjectConditions.
Interaktion mit anderen Filtern
Wenn Sie mehrere Filter verwenden, wendet der Storage Transfer Service sie in der folgenden Reihenfolge an:
Präfixe einschließen: Beschränkt die zu berücksichtigenden Objekte.
Objektbedingungen (letzte Änderungszeit): Filtert die Objekte, die mit dem Präfix für das Einschließen übereinstimmen.
Präfixe ausschließen: Entfernt Objekte aus dem Ergebnis.
Weitere Informationen zum Filtern nach Präfix.
Beispiel: Alle Filter kombinieren
Angenommen, Sie haben die folgende Filterkonfiguration:
- include_prefix: "logs/"
- lastModifiedSince: "2025-10-31T00:00:00Z"
- exclude_prefix: "logs/temp/"
Ergebnis:Der Dienst führt die Übertragung so aus:
- Zuerst werden nur Objekte im Verzeichnis
logs/berücksichtigt. - Als Nächstes werden Objekte gesucht, die am oder nach dem 31. Oktober 2025 geändert wurden.
- Schließlich werden alle Objekte aus dieser Liste entfernt, die sich im Verzeichnis
logs/temp/befinden.