Anda dapat memfilter objek yang akan ditransfer berdasarkan waktu modifikasi terakhirnya. Dengan opsi ini, Anda hanya dapat mentransfer objek yang diubah:
- Sebelum atau setelah tanggal dan waktu tertentu
- Sebelum atau setelah jumlah waktu yang telah berlalu tertentu relatif terhadap tugas transfer
Fitur ini berguna untuk menyiapkan transfer inkremental atau untuk melewati objek yang berada di luar rentang waktu.
Pemfilteran menurut waktu terakhir diubah didukung untuk transfer dari semua sumber, kecuali daftar URL.
Filter berbasis waktu
Pemfilteran ditentukan dengan nilai last modified since, last modified before,
minimum time elapsed since modified, dan maximum time elapsed since modified. Anda dapat menggunakan filter satu per satu, atau bersama-sama untuk membuat jangka waktu.
| Kolom | Deskripsi |
| Terakhir diubah sejak | Mencakup objek dalam transfer yang terakhir diubah pada atau setelah stempel waktu ini. |
| Terakhir diubah sebelum | Menyertakan objek dalam transfer yang terakhir diubah sebelum stempel waktu ini. |
| Waktu minimum yang berlalu sejak diubah | Mencakup objek dalam transfer yang terakhir diubah setidaknya selama ini. Misalnya, filter ini dapat digunakan untuk menyertakan hanya objek yang diubah setidaknya satu bulan yang lalu. Objek tanpa "waktu perubahan terakhir" juga ditransfer. |
| Waktu maksimum yang berlalu sejak diubah | Mencakup objek dalam transfer yang terakhir diubah tidak lebih dari jangka waktu ini. Misalnya, filter ini dapat digunakan untuk menyertakan hanya objek yang telah diubah dalam 7 hari terakhir. Objek tanpa "waktu perubahan terakhir" juga ditransfer. |
Menentukan filter berbasis waktu
Anda dapat menentukan filter waktu modifikasi saat membuat atau memperbarui tugas transfer.
Stempel waktu harus dalam UTC dan diformat sebagai string
RFC 3339
(misalnya, 2025-10-31T10:00:00Z). Durasi menggunakan format durasi absolut
(misalnya, 1m untuk 1 bulan; 1h30m untuk 1 jam 30 menit).
Konsol Google Cloud
Untuk menentukan filter waktu di konsol Google Cloud:
- Buka halaman Create transfer job atau Edit transfer job.
- Di bagian Pilih data yang akan ditransfer, pilih Tanggal & waktu sebagai Jenis filter.
- Masukkan tanggal dan waktu untuk Rentang waktu absolut atau durasi untuk Rentang waktu relatif. Beberapa filter dapat ditentukan bersama.
gcloud CLI
Untuk memfilter menurut waktu modifikasi menggunakan gcloud CLI, teruskan flag filter berbasis waktu ke perintah gcloud transfer jobs create atau 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"
Dengan:
--include-modified-before-absolutemencakup objek yang terakhir diubah sebelum tanggal/waktu absolut. Misalnya, dengan menentukan2020-01-01, transfer mencakup objek yang terakhir diubah sebelum 1 Januari 2020. Gunakan format tanggal dan waktu%Y-%m-%dT%H:%M:%S%z.--include-modified-after-absolutemenyertakan objek yang terakhir diubah setelah tanggal/waktu absolut. Misalnya, dengan menentukan '2020-01-01', transfer mencakup objek yang terakhir diubah setelah 1 Januari 2020. Gunakan format tanggal dan waktu%Y-%m-%dT%H:%M:%S%z.--include-modified-before-relativemencakup objek yang diubah di luar jangka waktu yang ditentukan. Misalnya, menentukan durasi10dakan mentransfer objek yang terakhir diubah lebih dari 10 hari sebelum waktu mulai transfer. Gunakan format durasi absolut. Misalnya,1mselama 1 bulan;1h30mselama 1 jam 30 menit.--include-modified-after-relativemenyertakan objek yang diubah dalam jangka waktu tertentu. Misalnya, menentukan durasi10dakan mentransfer objek yang terakhir diubah kurang dari 10 hari sebelum waktu mulai transfer. Gunakan format durasi absolut. Misalnya,1mselama 1 bulan;1h30mselama 1 jam 30 menit.
Contoh (diubah setelah):
Perintah berikut hanya mentransfer objek yang diubah pada atau setelah 1 Oktober 2025.
gcloud transfer jobs create gs://my-source-bucket gs://my-sink-bucket
--include-modified-after-absolute="2025-10-01T00:00:00Z"
Contoh (jangka waktu):
Perintah berikut hanya mentransfer objek yang diubah selama bulan Oktober 2025.
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"
Contoh (waktu yang telah berlalu):
Perintah berikut hanya mentransfer objek yang diubah dalam 7 hari terakhir.
gcloud transfer jobs create gs://my-source-bucket gs://my-sink-bucket
--include-modified-after-relative="7d"
REST
Untuk memfilter menurut waktu modifikasi menggunakan REST API, tentukan
kolom filter berbasis waktu di objectConditions
transferSpec.
{
"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",
}
}
}
Dengan:
lastModifiedBeforemencakup objek yang terakhir diubah sebelum tanggal/waktu absolut. Misalnya, dengan menentukan2020-01-01, transfer mencakup objek yang terakhir diubah sebelum 1 Januari 2020. Gunakan format tanggal dan waktu%Y-%m-%dT%H:%M:%S%z.lastModifiedSincemenyertakan objek yang terakhir diubah setelah tanggal/waktu absolut. Misalnya, dengan menentukan '2020-01-01', transfer mencakup objek yang terakhir diubah setelah 1 Januari 2020. Gunakan format tanggal dan waktu%Y-%m-%dT%H:%M:%S%z.minTimeElapsedSinceLastModificationmencakup objek yang diubah di luar jangka waktu yang ditentukan. Misalnya, menentukan durasi10dakan mentransfer objek yang terakhir diubah lebih dari 10 hari sebelum waktu mulai transfer. Gunakan format durasi absolut. Misalnya,1mselama 1 bulan;1h30mselama 1 jam 30 menit.maxTimeElapsedSinceLastModificationmenyertakan objek yang diubah dalam jangka waktu tertentu. Misalnya, menentukan durasi10dakan mentransfer objek yang terakhir diubah kurang dari 10 hari sebelum waktu mulai transfer. Gunakan format durasi absolut. Misalnya,1mselama 1 bulan;1h30mselama 1 jam 30 menit.
Contoh (jangka waktu):
Isi JSON berikut mengonfigurasi tugas untuk mentransfer hanya objek yang diubah selama bulan Oktober 2025.
{
"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"
}
}
}
Untuk mengetahui informasi selengkapnya, lihat referensi ObjectConditions.
Interaksi dengan filter lain
Saat Anda menggunakan beberapa filter, Storage Transfer Service akan menerapkannya dalam urutan berikut:
Sertakan awalan: Mempersempit objek yang akan dipertimbangkan.
Kondisi objek (waktu terakhir diubah): Memfilter objek yang cocok dengan awalan sertakan.
Mengecualikan awalan: Menghapus objek dari hasil.
Pelajari lebih lanjut cara memfilter menurut awalan.
Contoh: Menggabungkan semua filter
Misalkan Anda memiliki konfigurasi filter berikut:
- include_prefix: "logs/"
- lastModifiedSince: "2025-10-31T00:00:00Z"
- exclude_prefix: "logs/temp/"
Hasil: Layanan akan menjalankan transfer sebagai berikut:
- Pertama, hanya mempertimbangkan objek di direktori
logs/. - Selanjutnya, objek akan mencari objek yang diubah pada atau setelah 31 Oktober 2025.
- Terakhir, fungsi ini akan menghapus semua objek dari daftar tersebut yang ada di direktori
logs/temp/.