Sie können filtern, welche Objekte basierend auf der Zeit der letzten Änderung übertragen werden sollen. So können Sie nur geänderte Objekte übertragen:
- Vor oder nach einem bestimmten Datum und einer bestimmten Uhrzeit
- Vor oder nach einer bestimmten Zeit, die seit dem Übertragungsjob vergangen ist
Diese Funktion ist nützlich, um inkrementelle Übertragungen einzurichten oder Objekte zu überspringen, die außerhalb eines Zeitbereichs liegen.
Das Filtern nach der Zeit der letzten Änderung wird für Übertragungen aus allen Quellen außer URL-Listen unterstützt.
Zeitbasierte Filter
Die Filterung wird mit den Werten last modified since, last modified before, minimum time elapsed since modified und maximum time elapsed since modified definiert. Sie können die Filter einzeln oder zusammen verwenden, um ein Zeitfenster zu erstellen.
| Feld | Beschreibung |
| Zuletzt geändert seit | Schließt Objekte in die Übertragung ein, die am oder nach diesem Zeitstempel zuletzt geändert wurden. |
| Zuletzt geändert vor dem | Bezieht Objekte in die Übertragung ein, die vor diesem Zeitstempel zuletzt geändert wurden. |
| Mindestzeit seit der letzten Änderung | Enthält Objekte in der Übertragung, die zuletzt vor mindestens so langer Zeit geändert wurden. 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. |
| Maximale Zeit seit der letzten Änderung | Enthält Objekte in der Übertragung, die vor höchstens diesem Zeitraum 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 beim Erstellen oder Aktualisieren eines Übertragungsjobs angeben.
Zeitstempel müssen in UTC angegeben und als RFC 3339-String formatiert werden (z.B. 2025-10-31T10:00:00Z). Bei Zeiträumen 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 legen Sie einen Zeitfilter in der Google Cloud Console fest:
- 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 eine Dauer für den relativen Zeitraum ein. Es können mehrere Filter angegeben werden.
gcloud-CLI
Wenn Sie mit der gcloud CLI nach Änderungszeit filtern möchten, übergeben Sie die zeitbasierten Filter-Flags 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-absoluteenthält Objekte, die zuletzt vor einem absoluten Datum/einer absoluten Uhrzeit geändert wurden. Wenn Sie beispielsweise2020-01-01angeben, enthält die Übertragung Objekte, die zuletzt vor dem 1. Januar 2020 geändert wurden. Verwenden Sie das Datums-/Uhrzeitformat%Y-%m-%dT%H:%M:%S%z.--include-modified-after-absoluteenthält Objekte, die zuletzt nach einem absoluten Datum/einer absoluten Uhrzeit geändert wurden. Wenn Sie beispielsweise „2020-01-01“ angeben, werden nur Objekte übertragen, die zuletzt nach dem 1. Januar 2020 geändert wurden. Verwenden Sie das Datums-/Uhrzeitformat%Y-%m-%dT%H:%M:%S%z.--include-modified-before-relativeenthält Objekte, die außerhalb eines angegebenen Zeitraums geändert wurden. Wenn Sie beispielsweise eine Dauer von10dangeben, werden Objekte übertragen, die vor mehr als 10 Tagen vor dem Übertragungsstartzeitpunkt 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-relativeenthält Objekte, die innerhalb eines bestimmten Zeitraums geändert wurden. Wenn Sie beispielsweise eine Dauer von10dangeben, werden Objekte übertragen, die weniger als 10 Tage vor dem Startzeitpunkt 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 (abgelaufene Zeit):
Mit dem folgenden Befehl werden nur Objekte übertragen, die in den letzten sieben 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 Änderungszeit filtern möchten, geben Sie die zeitbasierten Filterfelder im objectConditions Ihres 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:
lastModifiedBeforeenthält Objekte, die zuletzt vor einem absoluten Datum/einer absoluten Uhrzeit geändert wurden. Wenn Sie beispielsweise2020-01-01angeben, enthält die Übertragung Objekte, die zuletzt vor dem 1. Januar 2020 geändert wurden. Verwenden Sie das Datums-/Uhrzeitformat%Y-%m-%dT%H:%M:%S%z.lastModifiedSinceenthält Objekte, die zuletzt nach einem absoluten Datum/einer absoluten Uhrzeit geändert wurden. Wenn Sie beispielsweise „2020-01-01“ angeben, werden nur Objekte übertragen, die nach dem 1. Januar 2020 zuletzt geändert wurden. Verwenden Sie das Datums-/Zeitformat%Y-%m-%dT%H:%M:%S%z.minTimeElapsedSinceLastModificationenthält Objekte, die außerhalb eines angegebenen Zeitraums geändert wurden. Wenn Sie beispielsweise eine Dauer von10dangeben, werden Objekte übertragen, die zuletzt vor mehr als 10 Tagen vor dem Übertragungsstartzeitpunkt geändert wurden. Verwenden Sie das Format für die absolute Dauer. Beispiel:1mfür 1 Monat;1h30mfür 1 Stunde und 30 Minuten.maxTimeElapsedSinceLastModificationenthält Objekte, die innerhalb eines bestimmten Zeitraums geändert wurden. Wenn Sie beispielsweise eine Dauer von10dangeben, werden Objekte übertragen, die zuletzt weniger als 10 Tage vor dem Startzeitpunkt der Übertragung geändert wurden. Verwende 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, mit 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: Schränkt die zu berücksichtigenden Objekte ein.
Objektbedingungen (Glob-Muster und Änderungszeit): Filtert die Objekte, die mit dem Include-Präfix übereinstimmen. Ein Objekt muss sowohl dem Glob-Filter als auch dem Filter „Zuletzt geändert“ entsprechen, damit es im Ergebnis enthalten ist.
Präfixe ausschließen: Entfernt Objekte aus dem Ergebnis.
Weitere Informationen zum Filtern nach Präfix und Filtern mit Glob-Mustern
Beispiel: Alle Filter kombinieren
Angenommen, Sie haben die folgende Filterkonfiguration für eine Übertragung von AWS S3 oder Azure:
- include_prefix: "logs/"
- match_glob: "**/*.log"
- 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 wird nach Objekten gesucht, die sowohl mit
.logenden als auch 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.