אפשר לסנן את האובייקטים שרוצים להעביר לפי מועד השינוי האחרון שלהם. כך אפשר להעביר רק אובייקטים ששונו:
- לפני או אחרי תאריך ושעה ספציפיים
- לפני או אחרי פרק זמן מוגדר שחלף מאז התחלת העברת העבודה
התכונה הזו שימושית להגדרת העברות מצטברות או לדילוג על אובייקטים שלא נכללים בטווח זמן.
אפשר לסנן לפי מועד השינוי האחרון בהעברות מכל המקורות, חוץ מרשימות של כתובות URL.
מסננים מבוססי-זמן
הסינון מוגדר באמצעות הערכים last modified since, last modified before, minimum time elapsed since modified ו-maximum time elapsed since modified. אפשר להשתמש במסננים בנפרד או ביחד כדי ליצור חלון זמן.
| שדה | תיאור |
| השינוי האחרון מאז | כולל אובייקטים בהעברה שעברו שינוי בפעם האחרונה בתאריך הזה או אחריו. |
| השינוי האחרון בוצע לפני | כולל אובייקטים בהעברה שעברו שינוי בפעם האחרונה לפני חותמת הזמן הזו. |
| הזמן המינימלי שעבר מאז השינוי | כולל אובייקטים בהעברה ששונו לאחרונה לפני לפחות פרק הזמן הזה. לדוגמה, אפשר להשתמש במסנן הזה כדי לכלול רק אובייקטים שעברו שינוי לפני חודש לפחות. גם אובייקטים שלא מוגדר להם 'זמן השינוי האחרון' מועברים. |
| הזמן המקסימלי שעבר מאז השינוי | כולל אובייקטים בהעברה שהשינוי האחרון שלהם בוצע לפני פרק הזמן הזה. לדוגמה, אפשר להשתמש במסנן הזה כדי לכלול רק אובייקטים שעברו שינוי ב-7 הימים האחרונים. גם אובייקטים שלא מוגדר להם 'זמן השינוי האחרון' מועברים. |
ציון מסנן מבוסס-זמן
אפשר לציין מסננים של זמן שינוי כשיוצרים או מעדכנים משימת העברה.
חותמות הזמן צריכות להיות בפורמט UTC, ולכלול מחרוזת RFC 3339 (למשל, 2025-10-31T10:00:00Z). משכי הזמן צריכים להיות בפורמט משך זמן מוחלט (למשל, 1m לחודש אחד, 1h30m לשעה וחצי).
מסוף Google Cloud
כדי לציין מסנן זמן במסוף Google Cloud:
- עוברים לדף Create transfer job (יצירת העברת נתונים) או Edit transfer job (עריכת העברת נתונים).
- בקטע Choose data to transfer (בחירת נתונים להעברה), בוחרים באפשרות Dates & times (תאריכים ושעות) בתור Filter type (סוג המסנן).
- מזינים תאריך ושעה בשדה טווח זמן מוחלט או משך זמן בשדה טווח זמן יחסי. אפשר לציין כמה מסננים ביחד.
CLI של gcloud
כדי לסנן לפי זמן שינוי באמצעות ה-CLI של gcloud, מעבירים את דגלי הסינון לפי זמן לפקודה gcloud transfer jobs create או 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"
כאשר:
-
--include-modified-before-absoluteכולל אובייקטים ששונו לאחרונה לפני תאריך ושעה מוחלטים. לדוגמה, אם מציינים2020-01-01, ההעברה כוללת אובייקטים שהשינוי האחרון בהם בוצע לפני 1 בינואר 2020. בפורמט התאריך והשעה%Y-%m-%dT%H:%M:%S%z. -
--include-modified-after-absoluteכולל אובייקטים שהשינוי האחרון בהם בוצע אחרי תאריך ושעה מוחלטים. לדוגמה, אם מציינים את התאריך 2020-01-01, ההעברה כוללת אובייקטים שהשינוי האחרון בהם בוצע אחרי 1 בינואר 2020. בפורמט התאריך והשעה%Y-%m-%dT%H:%M:%S%z. -
--include-modified-before-relativeכולל אובייקטים שעברו שינוי מחוץ לפרק זמן מסוים שחלף. לדוגמה, אם מציינים משך זמן של10d, המערכת תעביר אובייקטים שעברו שינוי אחרון לפני יותר מ-10 ימים משעת ההתחלה של ההעברה. משתמשים בפורמט של משך מוחלט. למשל, 1mלחודש;1h30mלשעה ו-30 דקות. -
--include-modified-after-relativeכולל אובייקטים ששונו בפרק זמן מסוים. לדוגמה, אם מציינים משך של10d, המערכת מעבירה אובייקטים שהשינוי האחרון בהם בוצע פחות מ-10 ימים לפני תחילת ההעברה. משתמשים בפורמט של משך מוחלט. למשל, 1mלחודש;1h30mלשעה וחצי.
דוגמה (עבר שינוי אחרי):
הפקודה הבאה מעבירה רק אובייקטים ששונו בתאריך 1 באוקטובר 2025 או אחריו.
gcloud transfer jobs create gs://my-source-bucket gs://my-sink-bucket
--include-modified-after-absolute="2025-10-01T00:00:00Z"
דוגמה (חלון זמן):
הפקודה הבאה מעבירה רק אובייקטים ששונו במהלך חודש אוקטובר 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"
דוגמה (זמן שחלף):
הפקודה הבאה מעבירה רק אובייקטים ששונו ב-7 הימים האחרונים.
gcloud transfer jobs create gs://my-source-bucket gs://my-sink-bucket
--include-modified-after-relative="7d"
REST
כדי לסנן לפי זמן שינוי באמצעות API בארכיטקטורת REST, מציינים את השדות של הסינון לפי זמן ב-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",
}
}
}
כאשר:
-
lastModifiedBeforeכולל אובייקטים ששונו לאחרונה לפני תאריך ושעה מוחלטים. לדוגמה, אם מציינים2020-01-01, ההעברה כוללת אובייקטים שהשינוי האחרון בהם בוצע לפני 1 בינואר 2020. בפורמט התאריך והשעה%Y-%m-%dT%H:%M:%S%z. -
lastModifiedSinceכולל אובייקטים שהשינוי האחרון בהם בוצע אחרי תאריך ושעה מוחלטים. לדוגמה, אם מציינים את התאריך 2020-01-01, ההעברה כוללת אובייקטים שהשינוי האחרון בהם בוצע אחרי 1 בינואר 2020. בפורמט התאריך והשעה%Y-%m-%dT%H:%M:%S%z. -
minTimeElapsedSinceLastModificationכולל אובייקטים שעברו שינוי מחוץ לפרק זמן מסוים שחלף. לדוגמה, אם מציינים משך זמן של10d, המערכת תעביר אובייקטים שעברו שינוי אחרון לפני יותר מ-10 ימים משעת ההתחלה של ההעברה. משתמשים בפורמט של משך מוחלט. למשל, 1mלחודש;1h30mלשעה ו-30 דקות. -
maxTimeElapsedSinceLastModificationכולל אובייקטים ששונו בפרק זמן מסוים. לדוגמה, אם מציינים משך של10d, המערכת מעבירה אובייקטים שהשינוי האחרון בהם בוצע פחות מ-10 ימים לפני תחילת ההעברה. משתמשים בפורמט של משך מוחלט. למשל, 1mלחודש;1h30mלשעה וחצי.
דוגמה (חלון זמן):
גוף ה-JSON הבא מגדיר העברה של אובייקטים ששונו רק במהלך אוקטובר 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"
}
}
}
מידע נוסף זמין במאמר בנושא ObjectConditions.
אינטראקציה עם מסננים אחרים
כשמשתמשים בכמה מסננים, Storage Transfer Service מחיל אותם בסדר הבא:
הוספת קידומות: מצמצמת את האובייקטים שצריך לקחת בחשבון.
תנאי אובייקט (מועד השינוי האחרון): מסנן את האובייקטים שתואמים לקידומת ההכללה.
החרגת קידומות: הסרת אובייקטים מהתוצאה.
דוגמה: שילוב של כל המסננים
נניח שהגדרתם את המסנן הבא:
- include_prefix: "logs/"
- lastModifiedSince: "2025-10-31T00:00:00Z"
- exclude_prefix: "logs/temp/"
תוצאה: השירות יבצע את ההעברה באופן הבא:
- קודם כול, הוא בודק רק אובייקטים בספרייה
logs/. - לאחר מכן, המערכת מחפשת אובייקטים ששונו בתאריך 31 באוקטובר 2025 או אחריו.
- לבסוף, הוא מסיר מהרשימה את כל האובייקטים שנמצאים בספרייה
logs/temp/.