Vous pouvez filtrer les objets à transférer en fonction de leur date de dernière modification. Cela vous permet de ne transférer que les objets modifiés :
- avant ou après une date et une heure spécifiques ;
- avant ou après une durée spécifiée par rapport à la tâche de transfert.
Cette fonctionnalité est utile pour configurer des transferts incrémentaux ou pour ignorer les objets qui ne se trouvent pas dans une période donnée.
Le filtrage par date de dernière modification est compatible avec les transferts depuis toutes les sources, à l'exception des listes d'URL.
Filtrer par période
Le filtrage est défini par les valeurs last modified since, last modified before, minimum time elapsed since modified et maximum time elapsed since modified. Vous pouvez utiliser les filtres individuellement ou ensemble pour créer une période.
| Champ | Description |
| Dernière modification depuis le | Inclut les objets du transfert qui ont été modifiés pour la dernière fois à partir de cet horodatage. |
| Dernière modification avant le | Inclut les objets du transfert qui ont été modifiés pour la dernière fois avant cet horodatage. |
| Temps minimal écoulé depuis la modification | Inclut les objets du transfert qui ont été modifiés pour la dernière fois il y a au moins cette durée. Par exemple, ce filtre peut être utilisé pour n'inclure que les objets modifiés il y a au moins un mois. Les objets sans "date de dernière modification" sont également transférés. |
| Temps maximal écoulé depuis la modification | Inclut les objets du transfert qui ont été modifiés pour la dernière fois il y a au plus cette durée. Par exemple, ce filtre peut être utilisé pour n'inclure que les objets modifiés au cours des sept derniers jours. Les objets sans "date de dernière modification" sont également transférés. |
Spécifier un filtre temporel
Vous pouvez spécifier des filtres de date de modification lorsque vous créez ou mettez à jour une tâche de transfert.
Les horodatages doivent être au format UTC et mis en forme en tant que chaîne
RFC 3339
(par exemple, 2025-10-31T10:00:00Z). Les durées utilisent le format de durée absolue
(par exemple, 1m pour un mois et 1h30m pour une heure et 30 minutes).
Console Google Cloud
Pour spécifier un filtre temporel dans la console Google Cloud :
- Accédez à la page Créer une tâche de transfert ou Modifier une tâche de transfert.
- Dans la section Choisir les données à transférer, sélectionnez Dates et heures comme Type de filtre.
- Saisissez une date et une heure pour la Période absolue ou une durée pour la Période relative. Vous pouvez spécifier plusieurs filtres ensemble.
gcloud CLI
Pour filtrer par date de modification à l'aide de la gcloud CLI, transmettez les indicateurs de filtre temporel à la commande gcloud transfer jobs create ou 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"
Où :
--include-modified-before-absoluteinclut les objets modifiés pour la dernière fois avant une date/heure absolue. Par exemple, si vous spécifiez2020-01-01, le transfert inclut les objets modifiés pour la dernière fois avant le 1er janvier 2020. Utilisez le format de date et d'heure%Y-%m-%dT%H:%M:%S%z.--include-modified-after-absoluteinclut les objets modifiés pour la dernière fois après une date/heure absolue. Par exemple, si vous spécifiez "2020-01-01", le transfert inclut les objets modifiés pour la dernière fois après le 1er janvier 2020. Utilisez le format de date et d'heure%Y-%m-%dT%H:%M:%S%z.--include-modified-before-relativeinclut les objets qui ont été modifiés en dehors d'une durée spécifiée. Par exemple, si vous spécifiez une durée de10d, les objets modifiés pour la dernière fois plus de 10 jours avant l'heure de début du transfert sont transférés. Utilisez le format de durée absolue. Exemple :1mpour un mois et1h30mpour une heure et 30 minutes.--include-modified-after-relativeinclut les objets modifiés au cours d'une durée spécifiée. Par exemple, si vous spécifiez une durée de10d, les objets modifiés pour la dernière fois moins de 10 jours avant l'heure de début du transfert sont transférés. Utilisez le format de durée absolue. Exemple :1mpour un mois et1h30mpour une heure et 30 minutes.
Exemple (modifié après) :
La commande suivante ne transfère que les objets modifiés à partir du 1er octobre 2025.
gcloud transfer jobs create gs://my-source-bucket gs://my-sink-bucket
--include-modified-after-absolute="2025-10-01T00:00:00Z"
Exemple (période) :
La commande suivante ne transfère que les objets modifiés au cours du mois d'octobre 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"
Exemple (temps écoulé) :
La commande suivante ne transfère que les objets modifiés au cours des sept derniers jours.
gcloud transfer jobs create gs://my-source-bucket gs://my-sink-bucket
--include-modified-after-relative="7d"
REST
Pour filtrer par date de modification à l'aide de l'API REST, spécifiez les champs de filtre temporel dans les objectConditions de votre 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",
}
}
}
Où :
lastModifiedBeforeinclut les objets modifiés pour la dernière fois avant une date/heure absolue. Par exemple, si vous spécifiez2020-01-01, le transfert inclut les objets modifiés pour la dernière fois avant le 1er janvier 2020. Utilisez le format de date et d'heure%Y-%m-%dT%H:%M:%S%z.lastModifiedSinceinclut les objets modifiés pour la dernière fois après une date/heure absolue. Par exemple, si vous spécifiez "2020-01-01", le transfert inclut les objets modifiés pour la dernière fois après le 1er janvier 2020. Utilisez le format de date et d'heure%Y-%m-%dT%H:%M:%S%z.minTimeElapsedSinceLastModificationinclut les objets qui ont été modifiés en dehors d'une durée spécifiée. Par exemple, si vous spécifiez une durée de10d, les objets modifiés pour la dernière fois plus de 10 jours avant l'heure de début du transfert sont transférés. Utilisez le format de durée absolue. Exemple :1mpour un mois et1h30mpour une heure et 30 minutes.maxTimeElapsedSinceLastModificationinclut les objets modifiés au cours d'une durée spécifiée. Par exemple, si vous spécifiez une durée de10d, les objets modifiés pour la dernière fois moins de 10 jours avant l'heure de début du transfert sont transférés. Utilisez le format de durée absolue. Exemple :1mpour un mois et1h30mpour une heure et 30 minutes.
Exemple (période) :
Le corps JSON suivant configure une tâche pour ne transférer que les objets modifiés au cours du mois d'octobre 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"
}
}
}
Pour en savoir plus, consultez la ObjectConditions.
Interaction avec d'autres filtres
Lorsque vous utilisez plusieurs filtres, le service de transfert de stockage les applique dans l'ordre suivant :
Inclure les préfixes : réduit le nombre d'objets à prendre en compte.
Conditions d'objet (date de dernière modification) : filtre les objets qui correspondent au préfixe d'inclusion.
Exclure les préfixes : supprime les objets du résultat.
En savoir plus sur le filtrage par préfixe.
Exemple : Combiner tous les filtres
Imaginez que vous disposez de la configuration de filtre suivante :
- include_prefix: "logs/"
- lastModifiedSince: "2025-10-31T00:00:00Z"
- exclude_prefix: "logs/temp/"
Résultat : Le service exécute le transfert comme suit :
- Tout d'abord, il ne prend en compte que les objets du répertoire
logs/. - Ensuite, il recherche les objets qui ont été modifiés à partir du 31 octobre 2025.
- Enfin, il supprime de cette liste tous les objets qui se trouvent dans le répertoire
logs/temp/.