Configuration pour exécuter un transfert.
Représentation JSON |
---|
{ "objectConditions": { object ( |
Champs | |
---|---|
objectConditions |
Seuls les objets qui répondent à ces conditions sont inclus dans l'ensemble des objets de source de données et de récepteur de données. Les conditions d'objet basées sur la "date et heure de la dernière modification" des objets n'excluent pas les objets d'un récepteur de données. |
transferOptions |
Si l'option |
transferManifest |
Un fichier manifeste fournit une liste d'objets à transférer depuis la source de données. Ce champ pointe vers l'emplacement du fichier manifeste. Sinon, l'ensemble du bucket source est utilisé. ObjectConditions s'applique toujours. |
sourceAgentPoolName |
Indique le nom du pool d'agents associé à la source de données POSIX. Si aucune valeur n'est spécifiée, le nom par défaut est utilisé. |
sinkAgentPoolName |
Indique le nom du pool d'agents associé au point de terminaison de données POSIX. Si aucune valeur n'est spécifiée, le nom par défaut est utilisé. |
Champ d'union data_sink . Récepteur d'écriture des données. data_sink ne peut être qu'un des éléments suivants : |
|
gcsDataSink |
Un collecteur de données Cloud Storage. |
posixDataSink |
Un collecteur de données de système de fichiers POSIX. |
Champ d'union data_source . Source de lecture des données. data_source ne peut être qu'un des éléments suivants : |
|
gcsDataSource |
Une source de données Cloud Storage. |
awsS3DataSource |
Source de données AWS S3. |
httpDataSource |
Source de données d'URL HTTP. |
posixDataSource |
Source de données de système de fichiers POSIX. |
azureBlobStorageDataSource |
Source de données Azure Blob Storage. |
awsS3CompatibleDataSource |
Une source de données compatible avec AWS S3. |
hdfsDataSource |
Source de données de cluster HDFS. |
Champ d'union
|
|
gcsIntermediateDataLocation |
Pour les transferts entre systèmes de fichiers, spécifie un bucket Cloud Storage à utiliser comme emplacement intermédiaire pour transférer des données. Pour en savoir plus, consultez Transférer des données entre des systèmes de fichiers. |
PosixFilesystem
Ressource de système de fichiers POSIX.
Représentation JSON |
---|
{ "rootDirectory": string } |
Champs | |
---|---|
rootDirectory |
Chemin d'accès au répertoire racine du système de fichiers. |
AwsS3Data
Une ressource AwsS3Data peut être une source de données, mais pas un point de terminaison de données. Dans une ressource AwsS3Data, le nom d'un objet correspond au nom de clé de l'objet S3.
Représentation JSON |
---|
{ "bucketName": string, "awsAccessKey": { object ( |
Champs | |
---|---|
bucketName |
Obligatoire. Nom du bucket S3 (voir Créer un bucket). |
awsAccessKey |
Uniquement en entrée. Clé d'accès AWS utilisée pour signer les requêtes API envoyées au bucket AWS S3. Les autorisations sur le bucket doivent être accordées à l'ID d'accès de la clé d'accès AWS. Pour en savoir plus sur nos règles de conservation des données concernant les identifiants des utilisateurs, consultez la section Identifiants utilisateur. |
path |
Chemin d'accès racine pour transférer des objets. Doit être une chaîne vide ou un nom de chemin d'accès complet se terminant par un "/". Ce champ est traité comme un préfixe d'objet. Par conséquent, il ne doit généralement pas commencer par une barre oblique. |
roleArn |
Nom de ressource Amazon (ARN) du rôle pour prendre en charge les identifiants temporaires via Lorsqu'un ARN de rôle est fourni, le service de transfert récupère des identifiants temporaires pour la session à l'aide d'un appel |
cloudfrontDomain |
Facultatif. Nom de domaine de distribution CloudFront pointant vers ce bucket, à utiliser lors de la récupération. Pour en savoir plus, consultez Transférer des données depuis S3 via CloudFront. Format: |
credentialsSecret |
Facultatif. Nom de la ressource d'un secret dans Secret Manager. Les identifiants AWS doivent être stockés dans Secret Manager au format JSON: { "accessKeyId": "ACCESS_KEY_ID", "secretAccessKey": "SECRET_ACCESS_KEY" }
Pour en savoir plus, consultez Configurer l'accès à une source: Amazon S3. Si Format : |
Champ d'union
|
|
managedPrivateNetwork |
Octets de sortie via un réseau privé géré par Google. Ce réseau est partagé entre les autres utilisateurs du service de transfert de stockage. |
AwsAccessKey
Clé d'accès AWS (voir Identifiants de sécurité AWS).
Pour en savoir plus sur nos règles de conservation des données concernant les identifiants des utilisateurs, consultez la section Identifiants utilisateur.
Représentation JSON |
---|
{ "accessKeyId": string, "secretAccessKey": string } |
Champs | |
---|---|
accessKeyId |
Obligatoire. ID de clé d'accès AWS. |
secretAccessKey |
Obligatoire. Clé d'accès secrète AWS. Ce champ n'est pas renvoyé dans les réponses RPC. |
HttpData
Une ressource HttpData spécifie une liste d'objets sur le Web à transférer via HTTP. Les informations des objets à transférer sont contenues dans un fichier référencé par une URL. La première ligne du fichier doit être "TsvHttpData-1.0"
, qui spécifie le format du fichier. Les lignes suivantes spécifient les informations de la liste d'objets, un objet par entrée de liste. Chaque entrée comporte les champs suivants, séparés par des tabulations:
URL HTTP : emplacement de l'objet.
Length (Longueur) : taille de l'objet en octets.
MD5 : hachage MD5 codé en base64 de l'objet.
Pour obtenir un exemple de fichier TSV valide, consultez Transférer des données à partir d'URL.
Lorsque vous transférez des données à partir d'une liste d'URL, tenez compte des points suivants:
Lorsqu'un objet situé sur
http(s)://hostname:port/<URL-path>
est transféré vers un collecteur de données, son nom est<hostname>/<URL-path>
.Si la taille spécifiée d'un objet ne correspond pas à la taille réelle de l'objet extrait, l'objet n'est pas transféré.
Si le hachage MD5 spécifié ne correspond pas à celui calculé à partir des octets transférés, le transfert de l'objet échoue.
Assurez-vous que chaque URL spécifiée est accessible au public. Par exemple, dans Cloud Storage, vous pouvez partager un objet publiquement et obtenir un lien vers celui-ci.
Le service de transfert de stockage respecte les règles
robots.txt
et exige que le serveur HTTP source prenne en charge les requêtesRange
et renvoie un en-têteContent-Length
dans chaque réponse.ObjectConditions
n'a aucun effet lors du filtrage des objets à transférer.
Représentation JSON |
---|
{ "listUrl": string } |
Champs | |
---|---|
listUrl |
Obligatoire. URL qui pointe vers le fichier qui stocke les entrées de la liste d'objets. Ce fichier doit autoriser l'accès public. Actuellement, seules les URL avec les schémas HTTP et HTTPS sont acceptées. |
AzureBlobStorageData
Une ressource AzureBlobStorageData peut être une source de données, mais pas un point de terminaison de données. Une ressource AzureBlobStorageData représente un conteneur Azure. Le compte de stockage détermine le point de terminaison Azure. Dans une ressource AzureBlobStorageData, le nom d'un blob correspond au nom de clé de l'objet blob Azure Blob Storage.
Représentation JSON |
---|
{
"storageAccount": string,
"azureCredentials": {
object ( |
Champs | |
---|---|
storageAccount |
Obligatoire. Nom du compte Azure Storage. |
azureCredentials |
Obligatoire. Uniquement en entrée. Identifiants utilisés pour authentifier les requêtes API envoyées à Azure. Pour en savoir plus sur nos règles de conservation des données concernant les identifiants des utilisateurs, consultez la section Identifiants utilisateur. |
container |
Obligatoire. Conteneur à transférer depuis le compte Azure Storage. |
path |
Chemin d'accès racine pour transférer des objets. Doit être une chaîne vide ou un nom de chemin d'accès complet se terminant par un "/". Ce champ est traité comme un préfixe d'objet. Par conséquent, il ne doit généralement pas commencer par une barre oblique. |
credentialsSecret |
Facultatif. Nom de la ressource d'un secret dans Secret Manager. Le jeton Azure SAS doit être stocké dans Secret Manager au format JSON: { "sasToken" : "SAS_TOKEN" }
Pour en savoir plus, consultez Configurer l'accès à une source: Microsoft Azure Blob Storage. Si Format : |
AzureCredentials
Identifiants Azure
Pour en savoir plus sur nos règles de conservation des données concernant les identifiants des utilisateurs, consultez la section Identifiants utilisateur.
Représentation JSON |
---|
{ "sasToken": string } |
Champs | |
---|---|
sasToken |
Obligatoire. Signature d'accès partagé (SAP) Azure Pour en savoir plus sur les signatures d'accès partagé, consultez la section Accorder un accès limité aux ressources Azure Storage à l'aide de signatures d'accès partagé (SAP). |
AwsS3CompatibleData
Une ressource AwsS3CompatibleData.
Représentation JSON |
---|
{ "bucketName": string, "path": string, "endpoint": string, "region": string, // Union field |
Champs | |
---|---|
bucketName |
Obligatoire. Spécifie le nom du bucket. |
path |
Spécifie le chemin d'accès racine pour transférer des objets. Doit être une chaîne vide ou un nom de chemin d'accès complet se terminant par un "/". Ce champ est traité comme un préfixe d'objet. Par conséquent, il ne doit généralement pas commencer par une barre oblique. |
endpoint |
Obligatoire. Spécifie le point de terminaison du service de stockage. |
region |
Spécifie la région à utiliser pour signer les requêtes. Vous pouvez laisser ce champ vide si les requêtes doivent être signées avec une région vide. |
Champ d'union data_provider . Spécifie les métadonnées du fournisseur de données compatible avec S3. Chaque fournisseur peut contenir des attributs qui ne s'appliquent pas à tous les fournisseurs de données compatibles avec S3. Si cette valeur n'est pas spécifiée, S3CompatibleMetadata est utilisé par défaut. data_provider ne peut être qu'un des éléments suivants : |
|
s3Metadata |
Métadonnées compatibles avec S3. |
S3CompatibleMetadata
S3CompatibleMetadata contient les champs de métadonnées qui s'appliquent aux types de base de fournisseurs de données compatibles avec S3.
Représentation JSON |
---|
{ "authMethod": enum ( |
Champs | |
---|---|
authMethod |
Spécifie la méthode d'authentification et d'autorisation utilisée par le service de stockage. Si cette valeur n'est pas spécifiée, le service de transfert tente de déterminer la méthode d'authentification appropriée. |
requestModel |
Spécifie le modèle de requête d'API utilisé pour appeler le service de stockage. Si cette option n'est pas spécifiée, la valeur par défaut de RequestModel REQUEST_MODEL_VIRTUAL_HOSTED_STYLE est utilisée. |
protocol |
Spécifie le protocole réseau de l'agent. Si cette option n'est pas spécifiée, la valeur par défaut de NetworkProtocol NETWORK_PROTOCOL_HTTPS est utilisée. |
listApi |
API Listing à utiliser pour découvrir des objets. Si aucune valeur n'est spécifiée, le service de transfert tente de déterminer la bonne API à utiliser. |
AuthMethod
Méthode d'authentification et d'autorisation utilisée par le service de stockage.
Enums | |
---|---|
AUTH_METHOD_UNSPECIFIED |
AuthMethod n'est pas spécifié. |
AUTH_METHOD_AWS_SIGNATURE_V4 |
Authentifier les requêtes avec AWS SigV4 |
AUTH_METHOD_AWS_SIGNATURE_V2 |
Requêtes d'authentification avec AWS SigV2 |
RequestModel
Modèle de requête de l'API.
Enums | |
---|---|
REQUEST_MODEL_UNSPECIFIED |
RequestModel n'est pas spécifié. |
REQUEST_MODEL_VIRTUAL_HOSTED_STYLE |
Effectuez des requêtes à l'aide du style d'hébergement virtuel. Exemple: https://nom-bucket.s3.région.amazonaws.com/nom-clé |
REQUEST_MODEL_PATH_STYLE |
Effectuez des requêtes avec le style de chemin. Exemple: https://s3.région.amazonaws.com/nom-bucket/nom-clé |
NetworkProtocol
Protocole réseau de l'agent pour accéder au service de stockage.
Enums | |
---|---|
NETWORK_PROTOCOL_UNSPECIFIED |
NetworkProtocol n'est pas spécifié. |
NETWORK_PROTOCOL_HTTPS |
Effectuez des requêtes à l'aide de HTTPS. |
NETWORK_PROTOCOL_HTTP |
Non recommandé: cette méthode envoie les données en texte clair. Cette méthode n'est appropriée que sur un réseau fermé ou pour des données accessibles publiquement. Effectuez des requêtes à l'aide de HTTP. |
ListApi
API Listing à utiliser pour découvrir des objets.
Enums | |
---|---|
LIST_API_UNSPECIFIED |
ListApi n'est pas spécifié. |
LIST_OBJECTS_V2 |
Effectuez la liste à l'aide de l'API ListObjectsV2. |
LIST_OBJECTS |
Ancienne API ListObjects. |
HdfsData
Une ressource HdfsData spécifie un chemin d'accès dans une entité HDFS (par exemple, un cluster). Tous les paramètres spécifiques au cluster, tels que les nœuds de noms et les ports, sont configurés sur les agents de transfert qui gèrent les requêtes. HdfsData ne contient donc que le chemin d'accès racine aux données dans notre transfert.
Représentation JSON |
---|
{ "path": string } |
Champs | |
---|---|
path |
Chemin d'accès racine pour transférer des fichiers. |
TransferManifest
Indique l'emplacement du fichier manifeste.
Représentation JSON |
---|
{ "location": string } |
Champs | |
---|---|
location |
Spécifie le chemin d'accès au fichier manifeste dans Cloud Storage. Le compte de service géré par Google pour le transfert doit disposer de l'autorisation |