Cette page vous explique comment créer et démarrer des tâches de transfert.
Pour savoir si votre source et votre destination (également appelée récepteur) sont compatibles avec le service de transfert de stockage, consultez la page Sources et récepteurs compatibles.
Agents et pools d'agents
Selon la source et la destination, vous devrez peut-être créer et configurer un pool d'agents, et installer des agents sur une machine ayant accès à la source ou à la destination.
Les transferts depuis Amazon S3, Microsoft Azure, des listes d'URL ou Cloud Storage vers Cloud Storage ne nécessitent pas d'agents ni de pools d'agents.
Les transferts dont la source et/ou la destination sont un système de fichiers ou un espace de stockage compatible S3 nécessitent des agents et des pools d'agents. Consultez la page Gérer les pools d'agents pour obtenir des instructions.
Avant de commencer
Avant de configurer vos transferts, assurez-vous d'avoir configuré l'accès:
- Pour les utilisateurs et les comptes de service :
- À vos données sources et à votre destination.
Si vous utilisez des commandes gcloud
, installez gcloud CLI.
Créer un transfert
Console Google Cloud
Accédez à la page Service de transfert de stockage dans Google Cloud Console.
Cliquez sur Créer une tâche de transfert. La page Créer une tâche de transfert s'affiche.
Choisissez une source :
Cloud Storage
Votre compte utilisateur doit disposer de l'autorisation storage.buckets.get pour sélectionner les buckets source et de destination. Vous pouvez également saisir directement le nom du bucket. Pour en savoir plus, consultez la page Résoudre les problèmes d'accès.
Sous Type de source, sélectionnez Cloud Storage.
Sélectionnez un type de destination, puis cliquez sur Étape suivante.
Sélectionnez un bucket et (éventuellement) un dossier dans ce bucket en effectuant l'une des opérations suivantes:
Saisissez le nom et le chemin d'accès du bucket Cloud Storage existant dans le champ Bucket ou dossier sans le préfixe
gs://
. Exemple :my-test-bucket/path/to/files
. Pour spécifier un bucket Cloud Storage d'un autre projet, saisissez le nom exact dans le champ Nom du bucket.Pour sélectionner une liste de buckets existants dans vos projets, cliquez sur Parcourir, puis sélectionnez un bucket.
Lorsque vous cliquez sur Parcourir, vous pouvez sélectionner les buckets d'autres projets en cliquant sur l'ID du projet, puis en sélectionnant le nouvel ID de projet et le bucket.
Pour créer un bucket, cliquez sur
Créer un bucket.
- Facultatif: Pour inclure un sous-ensemble de fichiers dans votre source, cliquez sur Ajouter un préfixe. Vous pouvez inclure des fichiers en fonction du préfixe du nom de fichier. Pour en savoir plus, consultez la section Filtrer par préfixe.
- Facultatif : Pour appliquer d'autres filtres à votre transfert, cliquez sur Filtres avancés. Les éléments suivants s'affichent :
- Exclure les fichiers commençant par : exclut les fichiers du transfert en fonction d'un préfixe de nom que vous spécifiez. Pour spécifier un préfixe, cliquez sur Ajouter un préfixe.
-
Inclure uniquement les derniers fichiers modifiés : inclut les fichiers dans le transfert en fonction de la date de la dernière modification avant le transfert.
Vous pouvez spécifier une période absolue et une période relative. Une période relative commence à partir de l'heure de début du transfert.
Cliquez sur Next step (Étape suivante).
Amazon S3
?Sous Type de source, sélectionnez Amazon S3.
Cliquez sur Next step (Étape suivante).
Dans le champ Nom du bucket, saisissez le nom du bucket source.
Le nom du bucket est celui qui apparaît dans AWS Management Console.
Sélectionnez votre méthode d'authentification Amazon Web Services (AWS). Vous pouvez fournir une clé d'accès AWS ou un nom de ressource Amazon (ARN) pour la fédération d'identité:
Clé d'accès: saisissez votre clé d'accès dansID de clé d'accès et le secret associé à votre clé d'accès dans le champs Clé d'accès du secret.
ARN: saisissez votre ARN dans le champ AWS IAM role ARN avec la syntaxe suivante:
arn:aws:iam::ACCOUNT:role/ROLE-NAME-WITH-PATH
Où :
ACCOUNT
: ID du compte AWS sans tiret.ROLE-NAME-WITH-PATH
: nom du rôle AWS incluant le chemin d'accès.
Pour en savoir plus sur les ARN, consultez la page ARN d'IAM.
Cliquez sur Étape suivante.
- Facultatif: Pour inclure un sous-ensemble de fichiers dans votre source, cliquez sur Ajouter un préfixe. Vous pouvez inclure des fichiers en fonction du préfixe du nom de fichier. Pour en savoir plus, consultez la section Filtrer par préfixe.
- Facultatif : Pour appliquer d'autres filtres à votre transfert, cliquez sur Filtres avancés. Les éléments suivants s'affichent :
- Exclure les fichiers commençant par : exclut les fichiers du transfert en fonction d'un préfixe de nom que vous spécifiez. Pour spécifier un préfixe, cliquez sur Ajouter un préfixe.
-
Inclure uniquement les derniers fichiers modifiés : inclut les fichiers dans le transfert en fonction de la date de la dernière modification avant le transfert.
Vous pouvez spécifier une période absolue et une période relative. Une période relative commence à partir de l'heure de début du transfert.
Stockage compatible S3
Sous Type de source, sélectionnez Stockage d'objets compatible S3.
Cliquez sur Étape suivante.
Spécifiez les informations requises pour ce transfert :
Sélectionnez le pool d'agents que vous avez configuré pour ce transfert.
Saisissez le nom du bucket au format relatif, selon le point de terminaison. Par exemple, si vos données résident dans le point de terminaison ci-après :
https://us-east-1.example.com/folder1/bucket_a
Saisissez :
folder1/bucket_a
Saisissez le point de terminaison, en veillant à ne pas spécifier le protocole (
http://
ouhttps://
). En reprenant l'exemple précédent, il vous faudrait donc saisir :us-east-1.example.com
Spécifiez les attributs facultatifs pour ce transfert :
Saisissez la région de signature à utiliser pour la signature des requêtes. Laissez ce champ vide si votre source ne nécessite pas de région de signature.
Choisissez le processus de signature pour cette requête.
Sélectionnez le style d'adressage. Cela détermine si le nom du bucket respecte une syntaxe avec chemin (par exemple,
https://s3.region.example.com/bucket-name/key-name
) ou bien une syntaxe avec hébergement virtuel (par exemple,https://bucket-name.s3.region.example.com/key-name
). Pour en savoir plus, consultez la section [Hébergement virtuel des buckets] dans la documentation Amazon.Sélectionnez le protocole réseau.
Sélectionnez la version de l'API de listing à utiliser. Reportez-vous à la documentation sur ListObjectsV2 et ListObjects pour plus d'informations.
Cliquez sur Étape suivante.
Microsoft Azure Blob Storage
Sous Type de source, sélectionnez Azure Blob Storage ou Data Lake Storage Gen2.
Cliquez sur Next step (Étape suivante).
Renseignez les champs suivants :
Nom du compte de stockage : nom du compte Microsoft Azure Storage source.
Le nom du compte de stockage s'affiche sur le portail Microsoft Azure Storage sous Tous les services > Stockage > Comptes de stockage.
Nom du conteneur — le nom du conteneur Microsoft Azure Storage.
Le nom du conteneur s'affiche sur le portail Microsoft Azure Storage sous Explorateur de stockage > Conteneurs d'objets blob.
Signature d'accès partagé (SAP) — le jeton SAP Microsoft Azure Storage créé à partir d'une règle d'accès stockée. Pour en savoir plus, consultez la page Accorder un accès limité aux ressources Azure Storage à l'aide des signatures d'accès partagé (SAP).
Le délai d'expiration par défaut pour les jetons SAP est de 8 heures. Lorsque vous créez votre jeton SAP, veillez à définir un délai d'expiration raisonnable vous permettant de finaliser votre transfert.
- Facultatif: Pour inclure un sous-ensemble de fichiers dans votre source, cliquez sur Ajouter un préfixe. Vous pouvez inclure des fichiers en fonction du préfixe du nom de fichier. Pour en savoir plus, consultez la section Filtrer par préfixe.
- Facultatif : Pour appliquer d'autres filtres à votre transfert, cliquez sur Filtres avancés. Les éléments suivants s'affichent :
- Exclure les fichiers commençant par : exclut les fichiers du transfert en fonction d'un préfixe de nom que vous spécifiez. Pour spécifier un préfixe, cliquez sur Ajouter un préfixe.
-
Inclure uniquement les derniers fichiers modifiés : inclut les fichiers dans le transfert en fonction de la date de la dernière modification avant le transfert.
Vous pouvez spécifier une période absolue et une période relative. Une période relative commence à partir de l'heure de début du transfert.
Cliquez sur Next step (Étape suivante).
Système de fichiers
Sous Type de source, sélectionnez Système de fichiers POSIX.
Sélectionnez un type de destination, puis cliquez sur Étape suivante.
Sélectionnez un pool d'agents existant ou sélectionnez Créer un pool d'agents et suivez les instructions pour créer un pool d'agents.
Spécifiez le chemin d'accès complet du répertoire du système de fichiers.
Cliquez sur Next step (Étape suivante).
Liste d'URL
Sous Type de source, sélectionnez Liste d'URL, puis cliquez sur Étape suivante.
Sous URL du fichier TSV, spécifiez l'URL d'un fichier de valeurs séparées par des tabulations (TSV). Pour en savoir plus sur la création d'un fichier TSV, consultez la page Créer une liste d'URL.
- Facultatif: Pour inclure un sous-ensemble de fichiers dans votre source, cliquez sur Ajouter un préfixe. Vous pouvez inclure des fichiers en fonction du préfixe du nom de fichier. Pour en savoir plus, consultez la section Filtrer par préfixe.
- Facultatif : Pour appliquer d'autres filtres à votre transfert, cliquez sur Filtres avancés. Les éléments suivants s'affichent :
- Exclure les fichiers commençant par : exclut les fichiers du transfert en fonction d'un préfixe de nom que vous spécifiez. Pour spécifier un préfixe, cliquez sur Ajouter un préfixe.
-
Inclure uniquement les derniers fichiers modifiés : inclut les fichiers dans le transfert en fonction de la date de la dernière modification avant le transfert.
Vous pouvez spécifier une période absolue et une période relative. Une période relative commence à partir de l'heure de début du transfert.
Cliquez sur Next step (Étape suivante).
Choisir une destination
Cloud Storage
Dans le champ Bucket ou dossier, saisissez le nom du bucket de destination et (éventuellement) le nom du dossier, ou cliquez sur Parcourir pour sélectionner un bucket dans une liste existante de buckets de votre projet actuel. Pour créer un bucket, cliquez sur
Créer un bucket.
Cliquez sur Next step (Étape suivante).
Sélectionnez les paramètres de la tâche de transfert. Certaines options ne sont disponibles que pour certaines combinaisons source/récepteur.
Dans le champ Description, saisissez une description du transfert. Nous vous recommandons de saisir une description pertinente et unique afin de pouvoir différencier les tâches.
Sous Options de métadonnées, choisissez d'utiliser les options par défaut, ou cliquez sur Afficher et sélectionner des options pour spécifier des valeurs pour toutes les métadonnées acceptées. Pour en savoir plus, consultez la section Conservation des métadonnées.
Sous Écrasement, sélectionnez l'une des options suivantes :
S'ils sont différents : écrase les fichiers de destination si le fichier source du même nom contient d'autres ETags ou valeurs de somme de contrôle.
Toujours : écrit toujours les fichiers de destination lorsque le fichier source porte le même nom, même s'ils sont identiques.
Sous Dans quel contexte effectuer des suppressions, sélectionnez l'une des options suivantes :
Jamais : ne supprime jamais les fichiers de la source ou de la destination.
Supprimer les fichiers de la source après leur transfert : supprime les fichiers de la source après leur transfert vers la destination.
Supprimer les fichiers de la destination s'ils ne figurent pas dans la source : si les fichiers du bucket Cloud Storage de destination ne figurent pas dans la source, supprimez-les du bucket.
Cette option garantit que le bucket Cloud Storage de destination correspond exactement à votre source.
Sous Options de notification, sélectionnez votre sujet Pub/Sub et les événements pour lesquels vous souhaitez recevoir des notifications. Pour en savoir plus, consultez la section Notifications Pub/Sub.
Cliquez sur Next step (Étape suivante).
Système de fichiers
Sélectionnez un pool d'agents existant ou sélectionnez Créer un pool d'agents, puis suivez les instructions de création d'un pool.
Spécifiez le chemin d'accès complet au répertoire de destination.
Cliquez sur Next step (Étape suivante).
Choisissez vos options de planification :
Dans la liste déroulante Exécuter une fois, sélectionnez l'une des options suivantes :
Exécuter une fois : exécute un seul transfert, à partir de l'heure que vous sélectionnez.
Exécuter tous les jours : exécute un transfert tous les jours, à l'heure que vous sélectionnez.
Vous pouvez saisir une date de fin (facultatif) ou laisser le champ Date de fin vide pour exécuter le transfert en continu.
Exécuter toutes les semaines: le transfert est exécuté chaque semaine, à partir de l'heure choisie.
Exécuter avec une fréquence personnalisée : exécute un transfert à la fréquence que vous sélectionnez. Vous pouvez choisir de répéter le transfert à des intervalles réguliers d'heures, de jours ou de semaines.
Vous pouvez saisir une date de fin (facultatif) ou laisser le champ Date de fin vide pour exécuter le transfert en continu.
Dans la liste déroulante À partir de maintenant, sélectionnez l'une des options suivantes :
À partir de maintenant : lance le transfert lorsque vous cliquez sur Créer.
À partir de : lance le transfert à la date et à l'heure que vous sélectionnez. Cliquez sur Agenda pour afficher un calendrier et sélectionner la date de début.
Pour créer votre tâche de transfert, cliquez sur Créer.
gcloud CLI
Pour créer une tâche de transfert, utilisez la commande gcloud transfer jobs create
. La création d'une tâche lance le transfert spécifié, sauf si un calendrier ou une valeur --do-not-run
est spécifié.
gcloud transfer jobs create \
SOURCE DESTINATION
Où :
SOURCE est la source de données pour ce transfert. Le format de chaque source est le suivant :
- Cloud Storage :
gs://BUCKET_NAME
. Pour effectuer un transfert à partir d'un dossier spécifique, spécifiezgs://BUCKET_NAME/FOLDER_PATH/
, y compris la barre oblique finale. - Amazon S3 :
s3://BUCKET_NAME/FOLDER_PATH
- Stockage compatible S3:
s3://BUCKET_NAME
Le nom du bucket est relatif au point de terminaison. Par exemple, si vos données se trouvent danshttps://us-east-1.example.com/folder1/bucket_a
, saisissezs3://folder1/bucket_a
. - Microsoft Azure Storage:
https://myaccount.blob.core.windows.net/CONTAINER_NAME
- Liste d'URL:
https://PATH_TO_URL_LIST
ouhttp://PATH_TO_URL_LIST
- Système de fichiers POSIX :
posix:///PATH
. Il doit s'agir d'un chemin absolu à partir de la racine de la machine hôte de l'agent.
- Cloud Storage :
DESTINATION a l'une des valeurs suivantes :
- Cloud Storage :
gs://BUCKET_NAME
. Pour effectuer un transfert dans un répertoire spécifique, spécifiezgs://BUCKET_NAME/FOLDER_PATH/
, y compris la barre oblique finale. - Système de fichiers POSIX :
posix:///PATH
. Il doit s'agir d'un chemin absolu à partir de la racine de la machine hôte de l'agent.
- Cloud Storage :
Si le transfert nécessite des agents de transfert, les options suivantes sont disponibles:
--source-agent-pool
spécifie le pool d'agents sources à utiliser pour ce transfert. Obligatoire pour les transferts provenant d'un système de fichiers.--destination-agent-pool
spécifie le pool d'agents de destination à utiliser pour ce transfert. Obligatoire pour les transferts vers un système de fichiers.--intermediate-storage-path
est le chemin d'accès à un bucket Cloud Storage, au formatgs://my-intermediary-bucket
. Obligatoire pour les transferts entre deux systèmes de fichiers. Pour en savoir plus sur la création du bucket intermédiaire, consultez la section Créer un bucket Cloud Storage en tant qu'intermédiaire.
Des options supplémentaires vous sont proposées :
--source-creds-file
spécifie le chemin d'accès lié à un fichier local de votre ordinateur qui inclut les identifiants AWS ou Azure pour la source de transfert. Pour en savoir plus sur la mise en forme des fichiers d'identifiants, consultez la documentation de référence sur TransferSpec.--do-not-run
empêche le service de transfert de stockage d'exécuter la tâche lors de l'envoi de la commande. Pour exécuter la tâche, mettez-la à jour pour ajouter une planification ou utilisezjobs run
pour la démarrer manuellement.--manifest-file
spécifie le chemin d'accès à un fichier CSV dans Cloud Storage contenant une liste des fichiers à transférer depuis votre source. Pour en savoir plus sur la mise en forme du fichier manifeste, consultez la section Transférer des fichiers ou objets spécifiques à l'aide d'un fichier manifeste.Informations sur la tâche: vous pouvez spécifier
--name
,--description
et--source-creds-file
.Programmation: spécifiez
--schedule-starts
,--schedule-repeats-every
,--schedule-repeats-until
ou--do-not-run
.Conditions des objets: utilisez les conditions pour déterminer les objets à transférer. Cela inclut
--include-prefixes
et--exclude-prefixes
, ainsi que les conditions basées sur l'heure dans--include-modified-[before | after]-[absolute | relative]
. Les conditions d'objet ne sont pas compatibles avec les transferts impliquant des systèmes de fichiers. Pour en savoir plus, consultez la section Sélectionner des objets sources à transférer.Options de transfert : indiquez si vous souhaitez remplacer les fichiers de destination (
--overwrite-when=different
oualways
) et si vous souhaitez supprimer certains fichiers pendant ou après le transfert (--delete-from=destination-if-unique
ousource-after-transfer
) ; indiquez quelles valeurs de métadonnées sont à conserver (--preserve-metadata
) ; et éventuellement définissez une classe de stockage sur des objets transférés (--custom-storage-class
).Notifications: configurez des notifications Pub/Sub pour les transferts avec
--notification-pubsub-topic
,--notification-event-types
et--notification-payload-format
.Cloud Logging: activez Cloud Logging pour les transferts sans agent, ou les transferts à partir de sources compatibles S3 avec
--log-actions
et--log-action-states
. Pour en savoir plus, consultez la page Cloud Logging pour le service de transfert de stockage.
Les transferts à partir de sources compatibles S3 utilisent également les options suivantes:
--source-endpoint
(obligatoire) spécifie le point de terminaison de votre système de stockage. Par exemple,s3.example.com
. Vérifiez auprès de votre fournisseur que la mise en forme est correcte. Ne spécifiez pas le protocole (http://
ouhttps://
).--source-signing-region
spécifie une région pour les requêtes de signature. Vous pouvez omettre cette option si votre fournisseur de stockage ne nécessite pas de région de signature.--source-auth-method
spécifie la méthode d'authentification à utiliser. Les valeurs valides sontAWS_SIGNATURE_V2
ouAWS_SIGNATURE_V4
. Pour plus d'informations, reportez-vous à la documentation d'Amazon sur SigV4 et SigV2.--source-request-model
spécifie le style d'adressage à utiliser. Les valeurs valides sontPATH_STYLE
ouVIRTUAL_HOSTED_STYLE
. Le style avec chemin utilise le formathttps://s3.example.com/BUCKET_NAME/KEY_NAME
. Le style hébergé virtuel utilise le format https://BUCKET_NAME.s3.example.com/KEY_NAME.--source-network-protocol
spécifie le protocole réseau que les agents doivent utiliser pour cette tâche. Les valeurs valides sontHTTP
ouHTTPS
.--source-list-api
spécifie la version de l'API de listing S3 pour renvoyer des objets du bucket. Les valeurs valides sontLIST_OBJECTS
ouLIST_OBJECTS_V2
. Pour plus d'informations, reportez-vous à la documentation d'Amazon sur ListObjectsV2 et ListObjects.
Pour afficher toutes les options, exécutez gcloud transfer jobs create --help
ou reportez-vous à la documentation de référence gcloud
.
Examples
Amazon S3 vers Cloud Storage
Exécutez la commande suivante pour créer une tâche de transfert quotidienne afin de déplacer les données modifiées au cours du dernier jour de s3://my-s3-bucket
vers un bucket Cloud Storage nommé my-storage-bucket
:
gcloud transfer jobs create \
s3://my-s3-bucket gs://my-storage-bucket \
--source-creds-file=/examplefolder/creds.txt \
--include-modified-after-relative=1d \
--schedule-repeats-every=1d
Stockage compatible S3 vers Cloud Storage
Pour transférer des données d'une source compatible S3 vers un bucket Cloud Storage:
gcloud transfer jobs create s3://my-s3-compat-bucket gs://my-storage-bucket \
--source-agent-pool=my-source-agent-pool
--source-endpoint=us-east-1.example.com/ \
--source-auth-method=AWS_SIGNATURE_V2 \
--source-request-model=PATH_STYLE \
--source-network-protocol=HTTPS \
--source-list-api=LIST_OBJECTS_V2
Système de fichiers vers Cloud Storage
Pour transférer un système de fichiers vers un bucket Cloud Storage, spécifiez les éléments suivants :
gcloud transfer jobs create \
posix:///tmp/source gs://my-storage-bucket \
--source-agent-pool=my-source-agent-pool
Cloud Storage vers système de fichiers
Pour transférer des données d'un bucket Cloud Storage vers un système de fichiers, spécifiez les éléments suivants.
gcloud transfer jobs create \
gs://my-storage-bucket posix:///tmp/destination \
--destination-agent-pool=my-destination-agent-pool
Système de fichiers vers système de fichiers
Pour transférer des données entre deux systèmes de fichiers, vous devez spécifier un pool d'agents source, un pool d'agents de destination et un bucket Cloud Storage intermédiaire via lequel les données sont transmises.
Pour en savoir plus sur le bucket intermédiaire, consultez la section Créer un bucket Cloud Storage en tant qu'intermédiaire.
Ensuite, spécifiez les trois ressources suivantes lorsque vous appelez transfer jobs create
:
gcloud transfer jobs create \
posix:///tmp/source/on/systemA posix:///tmp/destination/on/systemB \
--source-agent-pool=source_agent_pool \
--destination-agent-pool=destination_agent_pool \
--intermediate-storage-path=gs://my-intermediary-bucket
REST
Les exemples suivants vous montrent comment utiliser le service de transfert de stockage via l'API REST.
Lorsque vous configurez ou modifiez des tâches de transfert à l'aide de l'API Storage Transfer Service, l'heure doit être au format UTC. Pour savoir comment spécifier la planification d'une tâche de transfert, consultez la page Planification.
Transférer des données entre buckets Cloud Storage
Dans cet exemple, vous allez apprendre à déplacer des fichiers d'un bucket Cloud Storage à un autre. Par exemple, vous pouvez déplacer les données d'un bucket dans un autre emplacement.
Effectuez la requête à l'aide de la méthode transferJobs.create:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "YOUR DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 1, "month": 1, "year": 2015 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "gcsDataSource": { "bucketName": "GCS_SOURCE_NAME" }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" }, "transferOptions": { "deleteObjectsFromSourceAfterTransfer": true } } }Réponse :
200 OK { "transferJob": [ { "creationTime": "2015-01-01T01:01:00.000000000Z", "description": "YOUR DESCRIPTION", "name": "transferJobs/JOB_ID", "status": "ENABLED", "lastModificationTime": "2015-01-01T01:01:00.000000000Z", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 1, "month": 1, "year": 2015 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "gcsDataSource": { "bucketName": "GCS_SOURCE_NAME", }, "gcsDataSink": { "bucketName": "GCS_NEARLINE_SINK_NAME" }, "objectConditions": { "minTimeElapsedSinceLastModification": "2592000.000s" }, "transferOptions": { "deleteObjectsFromSourceAfterTransfer": true } } } ] }
Transférer des données depuis Amazon S3 vers Cloud Storage
Dans cet exemple, vous allez apprendre à déplacer des fichiers depuis Amazon S3 vers un bucket Cloud Storage. Veillez à consulter les sections Configurer l'accès à Amazon S3 et Tarifs pour comprendre les implications du transfert de données d'Amazon S3 vers Cloud Storage.
?Lors de la création de tâches de transfert, n'incluez pas le préfixe s3://
pour bucketName
dans les noms de sources du bucket Amazon S3.
Effectuez la requête à l'aide de la méthode transferJobs.create:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "YOUR DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 1, "month": 1, "year": 2015 }, "scheduleEndDate": { "day": 1, "month": 1, "year": 2015 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME", "awsAccessKey": { "accessKeyId": "AWS_ACCESS_KEY_ID", "secretAccessKey": "AWS_SECRET_ACCESS_KEY" } }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }Réponse :
200 OK { "transferJob": [ { "creationTime": "2015-01-01T01:01:00.000000000Z", "description": "YOUR DESCRIPTION", "name": "transferJobs/JOB_ID", "status": "ENABLED", "lastModificationTime": "2015-01-01T01:01:00.000000000Z", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 1, "month": 1, "year": 2015 }, "scheduleEndDate": { "day": 1, "month": 1, "year": 2015 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME" }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" }, "objectConditions": {}, "transferOptions": {} } } ] }
Transfert entre Microsoft Azure Blob Storage et Cloud Storage
Dans cet exemple, vous apprendrez à déplacer des fichiers de Microsoft Azure Storage vers un bucket Cloud Storage, à l'aide d'un jeton de signature d'accès partagé (SAP) Microsoft Azure Storage.
Pour en savoir plus sur Microsoft Azure Storage SAS, consultez la section Accorder un accès limité aux ressources Azure Storage à l'aide de signatures d'accès partagé (SAP).
Avant de commencer, consultez les sections Configurer l'accès à Microsoft Azure Storage et Tarifs pour comprendre les implications du transfert de données de Microsoft Azure Storage vers Cloud Storage.
Effectuez une requête à l'aide de la méthode transferJobs.create :
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "YOUR DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 14, "month": 2, "year": 2020 }, "scheduleEndDate": { "day": 14 "month": 2, "year": 2020 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "azureBlobStorageDataSource": { "storageAccount": "AZURE_SOURCE_NAME", "azureCredentials": { "sasToken": "AZURE_SAS_TOKEN", }, "container": "AZURE_CONTAINER", }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }Réponse :
200 OK { "transferJob": [ { "creationTime": "2020-02-14T01:01:00.000000000Z", "description": "YOUR DESCRIPTION", "name": "transferJobs/JOB_ID", "status": "ENABLED", "lastModificationTime": "2020-02-14T01:01:00.000000000Z", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 14 "month": 2, "year": 2020 }, "scheduleEndDate": { "day": 14, "month": 2, "year": 2020 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "azureBlobStorageDataSource": { "storageAccount": "AZURE_SOURCE_NAME", "azureCredentials": { "sasToken": "AZURE_SAS_TOKEN", }, "container": "AZURE_CONTAINER", }, "objectConditions": {}, "transferOptions": {} } } ] }
Transférer depuis un système de fichiers
Dans cet exemple, vous allez apprendre à déplacer des fichiers d'un système de fichiers POSIX vers un bucket Cloud Storage.
Utilisez transferJobs.create avec un posixDataSource
:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "name":"transferJobs/sample_transfer", "description": "My First Transfer", "status": "ENABLED", "projectId": "my_transfer_project_id", "schedule": { "scheduleStartDate": { "year": 2022, "month": 5, "day": 2 }, "startTimeOfDay": { "hours": 22, "minutes": 30, "seconds": 0, "nanos": 0 } "scheduleEndDate": { "year": 2022, "month": 12, "day": 31 }, "repeatInterval": { "259200s" }, }, "transferSpec": { "posixDataSource": { "rootDirectory": "/bar/", }, "sourceAgentPoolName": "my_example_pool", "gcsDataSink": { "bucketName": "destination_bucket" "path": "foo/bar/" }, } }
Le champ schedule
est facultatif. S'il n'est pas inclus, la tâche de transfert doit être démarrée avec une requête transferJobs.run
.
Pour vérifier l'état de votre transfert après avoir créé une tâche, utilisez transferJobs.get
:
GET https://storagetransfer.googleapis.com/v1/transferJobs/sample_transfer?project_id=my_transfer_project_id
Spécifier les chemins d'accès source et de destination
Les chemins d'accès source et de destination vous permettent de spécifier les répertoires source et de destination lorsque vous transférez des données vers votre bucket Cloud Storage. Par exemple, supposons que vous disposez des fichiers file1.txt
et file2.txt
et d'un bucket Cloud Storage nommé B
. Si vous définissez un chemin de destination nommé my-stuff
, les fichiers sont placés sous gs://B/my-stuff/file1.txt
et gs://B/my-stuff/file2.txt
une fois le transfert terminé.
Spécifier un chemin d'accès source
Pour spécifier un chemin source lors de la création d'une tâche de transfert, ajoutez un champ path
au champ gcsDataSource
dans votre spécification TransferSpec
:
{ gcsDataSource: { bucketName: "SOURCE_BUCKET", path: "SOURCE_PATH/", }, }
Dans cet exemple :
- SOURCE_BUCKET : bucket Cloud Storage source.
- SOURCE_PATH : chemin d'accès Cloud Storage source.
Spécifier un chemin de destination
Pour spécifier un dossier de destination lorsque vous créez une tâche de transfert, ajoutez un champ path
au champ gcsDataSink
dans la spécification TransferSpec
:
{ gcsDataSink: { bucketName: "DESTINATION_BUCKET", path: "DESTINATION_PATH/", }, }
Dans cet exemple :
- DESTINATION_BUCKET : bucket Cloud Storage de destination.
- DESTINATION_PATH: chemin d'accès Cloud Storage de destination.
Exemple de requête complète
Voici un exemple de requête complète :
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "YOUR DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "schedule": { "scheduleStartDate": { "day": 1, "month": 1, "year": 2015 }, "startTimeOfDay": { "hours": 1, "minutes": 1 } }, "transferSpec": { "gcsDataSource": { "bucketName": "GCS_SOURCE_NAME", "path": "GCS_SOURCE_PATH", }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME", "path": "GCS_SINK_PATH", }, "objectConditions": { "minTimeElapsedSinceLastModification": "2592000s" }, "transferOptions": { "deleteObjectsFromSourceAfterTransfer": true } } }
Bibliothèques clientes
Les exemples suivants vous montrent comment utiliser le service de transfert de stockage de façon automatisée avec Go, Java, Node.js et Python.
Lorsque vous configurez ou modifiez des tâches de transfert de manière automatisée, l'heure doit être indiquée au format UTC. Pour savoir comment spécifier la planification d'une tâche de transfert, consultez la page Planification.
Pour en savoir plus sur les bibliothèques clientes du service de transfert de stockage, consultez la page Premiers pas avec les bibliothèques clientes du service de transfert de stockage.
Transférer des données entre buckets Cloud Storage
Dans cet exemple, vous allez apprendre à déplacer des fichiers d'un bucket Cloud Storage à un autre. Par exemple, vous pouvez déplacer les données d'un bucket dans un autre emplacement.
Go
Java
Vous recherchez des exemples plus anciens ? Consultez le guide de migration du service de transfert de stockage.
Node.js
Python
Vous recherchez des exemples plus anciens ? Consultez le guide de migration du service de transfert de stockage.
Transférer des données depuis Amazon S3 vers Cloud Storage
Dans cet exemple, vous allez apprendre à déplacer des fichiers depuis Amazon S3 vers un bucket Cloud Storage. Veillez à consulter les sections Configurer l'accès à Amazon S3 et Tarifs pour comprendre les implications du transfert de données d'Amazon S3 vers Cloud Storage.
?Lors de la création de tâches de transfert, n'incluez pas le préfixe s3://
pour bucketName
dans les noms de sources du bucket Amazon S3.
Go
Java
Vous recherchez des exemples plus anciens ? Consultez le guide de migration du service de transfert de stockage.
Node.js
Python
Vous recherchez des exemples plus anciens ? Consultez le guide de migration du service de transfert de stockage.
Transfert entre Microsoft Azure Blob Storage et Cloud Storage
Dans cet exemple, vous apprendrez à déplacer des fichiers de Microsoft Azure Storage vers un bucket Cloud Storage, à l'aide d'un jeton de signature d'accès partagé (SAP) Microsoft Azure Storage.
Pour en savoir plus sur Microsoft Azure Storage SAS, consultez la section Accorder un accès limité aux ressources Azure Storage à l'aide de signatures d'accès partagé (SAP).
Avant de commencer, consultez les sections Configurer l'accès à Microsoft Azure Storage et Tarifs pour comprendre les implications du transfert de données de Microsoft Azure Storage vers Cloud Storage.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour le service de transfert de stockage, consultez Bibliothèques clientes du service de transfert de stockage. Pour en savoir plus, consultez la documentation de référence de l'API Storage Service de transfert Go.
Pour vous authentifier auprès du service de transfert de stockage, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour le service de transfert de stockage, consultez Bibliothèques clientes du service de transfert de stockage. Pour en savoir plus, consultez la documentation de référence de l'API Storage Service de transfert Java.
Pour vous authentifier auprès du service de transfert de stockage, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour le service de transfert de stockage, consultez Bibliothèques clientes du service de transfert de stockage. Pour en savoir plus, consultez la documentation de référence de l'API Storage Service de transfert Node.js.
Pour vous authentifier auprès du service de transfert de stockage, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour le service de transfert de stockage, consultez Bibliothèques clientes du service de transfert de stockage. Pour en savoir plus, consultez la documentation de référence de l'API Storage Service de transfert Python.
Pour vous authentifier auprès du service de transfert de stockage, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Transférer depuis un système de fichiers
Dans cet exemple, vous allez apprendre à déplacer des fichiers d'un système de fichiers POSIX vers un bucket Cloud Storage.