Es la configuración para ejecutar una transferencia.
Representación JSON |
---|
{ "objectConditions": { object ( |
Campos | |
---|---|
objectConditions |
Solo se incluyen en el conjunto de objetos de fuente de datos y de destino de datos los objetos que satisfacen estas condiciones. Las condiciones de los objetos basadas en el "último tiempo de modificación" de los objetos no excluyen los objetos de un receptor de datos. |
transferOptions |
Si la opción |
transferManifest |
Un archivo de manifiesto proporciona una lista de objetos que se transferirán desde la fuente de datos. Este campo apunta a la ubicación del archivo de manifiesto. De lo contrario, se usa todo el bucket de origen. Se seguirán aplicando ObjectConditions. |
sourceAgentPoolName |
Especifica el nombre del grupo de agentes asociado con la fuente de datos de POSIX. Si no se especifica, se usa el nombre predeterminado. |
sinkAgentPoolName |
Especifica el nombre del grupo de agentes asociado con el receptor de datos de POSIX. Si no se especifica, se usa el nombre predeterminado. |
Campo de unión data_sink . El receptor de escritura para los datos data_sink puede ser solo uno de los siguientes: |
|
gcsDataSink |
Un destino de datos de Cloud Storage |
posixDataSink |
Un sumidero de datos del sistema de archivos POSIX |
Campo de unión data_source . Es la fuente de lectura de los datos. data_source puede ser solo uno de los siguientes: |
|
gcsDataSource |
Una fuente de datos de Cloud Storage |
awsS3DataSource |
Una fuente de datos de AWS S3. |
httpDataSource |
Una fuente de datos de URL HTTP. |
posixDataSource |
Una fuente de datos del sistema de archivos POSIX |
azureBlobStorageDataSource |
Una fuente de datos de Azure Blob Storage |
awsS3CompatibleDataSource |
Una fuente de datos compatible con AWS S3 |
hdfsDataSource |
Una fuente de datos de clúster de HDFS |
Campo de unión
|
|
gcsIntermediateDataLocation |
Para las transferencias entre sistemas de archivos, especifica un bucket de Cloud Storage que se usará como ubicación intermedia a través de la cual se transferirán los datos. Consulta Cómo transferir datos entre sistemas de archivos para obtener más información. |
PosixFilesystem
Un recurso del sistema de archivos POSIX.
Representación JSON |
---|
{ "rootDirectory": string } |
Campos | |
---|---|
rootDirectory |
Es la ruta de acceso al directorio raíz del sistema de archivos. |
AwsS3Data
Un recurso AwsS3Data puede ser una fuente de datos, pero no un destino de datos. En un recurso AwsS3Data, el nombre de un objeto es el nombre de clave del objeto S3.
Representación JSON |
---|
{ "bucketName": string, "awsAccessKey": { object ( |
Campos | |
---|---|
bucketName |
Obligatorio. Nombre del bucket de S3 (consulta Cómo crear un bucket). |
awsAccessKey |
Solo entrada. Clave de acceso de AWS que se usa para firmar las solicitudes de API al bucket de S3 de AWS. Los permisos del bucket se deben otorgar al ID de acceso de la clave de acceso de AWS. Si deseas obtener información sobre nuestra política de retención de datos para credenciales de usuario, consulta Credenciales de usuario. |
path |
Es la ruta de acceso raíz para transferir objetos. Debe ser una cadena vacía o un nombre de ruta de acceso completo que termine con una barra (/). Este campo se considera un prefijo de objeto. Por lo tanto, por lo general, no debe comenzar con una barra diagonal (/). |
roleArn |
El Amazon Resource Name (ARN) del rol para admitir credenciales temporales a través de Cuando se proporciona un ARN de rol, el Servicio de transferencia recupera credenciales temporales para la sesión mediante una llamada |
cloudfrontDomain |
Opcional. El nombre de dominio de distribución de CloudFront que apunta a este bucket para usarlo cuando se recupere Consulta Cómo transferir desde S3 a través de CloudFront para obtener más información. Formato: |
credentialsSecret |
Opcional. El nombre del recurso de un Secret en Secret Manager. Las credenciales de AWS se deben almacenar en Secret Manager en formato JSON: { "accessKeyId": "ACCESS_KEY_ID", "secretAccessKey": "SECRET_ACCESS_KEY" } Se debe otorgar Consulta Configura el acceso a una fuente: Amazon S3 para obtener más información. Si se especifica Formato: |
Campo de unión
|
|
managedPrivateNetwork |
Bytes de salida a través de una red privada administrada por Google Esta red se comparte con otros usuarios del Servicio de transferencia de almacenamiento. |
AwsAccessKey
Clave de acceso de AWS (consulta Credenciales de seguridad de AWS).
Si deseas obtener información sobre nuestra política de retención de datos para credenciales de usuario, consulta Credenciales de usuario.
Representación JSON |
---|
{ "accessKeyId": string, "secretAccessKey": string } |
Campos | |
---|---|
accessKeyId |
Obligatorio. ID de clave de acceso de AWS. |
secretAccessKey |
Obligatorio. Clave de acceso secreta de AWS Este campo no se muestra en las respuestas de RPC. |
HttpData
Un recurso HttpData especifica una lista de objetos en la Web que se transferirán a través de HTTP. La información de los objetos que se transferirán se encuentra en un archivo al que hace referencia una URL. La primera línea del archivo debe ser "TsvHttpData-1.0"
, que especifica el formato del archivo. Las líneas posteriores especifican la información de la lista de objetos, un objeto por entrada de lista. Cada entrada tiene los siguientes campos separados por tabulaciones:
URL HTTP: Es la ubicación del objeto.
Longitud: Es el tamaño del objeto en bytes.
MD5: Es el hash MD5 codificado en base64 del objeto.
Para ver un ejemplo de un archivo TSV válido, consulta Cómo transferir datos desde URLs.
Cuando transfieras datos según una lista de URLs, ten en cuenta lo siguiente:
Cuando un objeto ubicado en
http(s)://hostname:port/<URL-path>
se transfiere a un destino de datos, el nombre del objeto en el destino de datos es<hostname>/<URL-path>
.Si el tamaño especificado de un objeto no coincide con el tamaño real del objeto recuperado, no se transferirá.
Si el MD5 especificado no coincide con el MD5 calculado a partir de los bytes transferidos, la transferencia del objeto fallará.
Asegúrate de que cada URL que especifiques sea de acceso público. Por ejemplo, en Cloud Storage, puedes compartir un objeto de forma pública y obtener su vínculo.
El servicio de transferencia de almacenamiento obedece las reglas de
robots.txt
y requiere que el servidor HTTP de origen admita solicitudesRange
y muestre un encabezadoContent-Length
en cada respuesta.ObjectConditions
no tiene efecto cuando se filtran los objetos que se transferirán.
Representación JSON |
---|
{ "listUrl": string } |
Campos | |
---|---|
listUrl |
Obligatorio. Es la URL que dirige al archivo que almacena las entradas de la lista de objetos. Este archivo debe permitir el acceso público. Actualmente, solo se admiten URLs con esquemas HTTP y HTTPS. |
AzureBlobStorageData
Un recurso AzureBlobStorageData puede ser una fuente de datos, pero no un destino de datos. Un recurso AzureBlobStorageData representa un contenedor de Azure. La cuenta de almacenamiento determina el extremo de Azure. En un recurso AzureBlobStorageData, el nombre de un blob es el nombre de clave del blob de Azure Blob Storage.
Representación JSON |
---|
{
"storageAccount": string,
"azureCredentials": {
object ( |
Campos | |
---|---|
storageAccount |
Obligatorio. El nombre de la cuenta de Azure Storage. |
azureCredentials |
Obligatorio. Solo entrada. Credenciales que se usan para autenticar solicitudes de API a Azure. Si deseas obtener información sobre nuestra política de retención de datos para credenciales de usuario, consulta Credenciales de usuario. |
container |
Obligatorio. Es el contenedor que se transferirá desde la cuenta de Azure Storage. |
path |
Es la ruta de acceso raíz para transferir objetos. Debe ser una cadena vacía o un nombre de ruta de acceso completo que termine con una barra (/). Este campo se considera un prefijo de objeto. Por lo tanto, por lo general, no debe comenzar con una barra diagonal (/). |
credentialsSecret |
Opcional. El nombre del recurso de un Secret en Secret Manager. El token SAS de Azure se debe almacenar en Secret Manager en formato JSON: { "sasToken" : "SAS_TOKEN" } Se debe otorgar Consulta Configura el acceso a una fuente: Microsoft Azure Blob Storage para obtener más información. Si se especifica Formato: |
AzureCredentials
Credenciales de Azure
Si deseas obtener información sobre nuestra política de retención de datos para credenciales de usuario, consulta Credenciales de usuario.
Representación JSON |
---|
{ "sasToken": string } |
Campos | |
---|---|
sasToken |
Obligatorio. Firma de acceso compartido (SAS) de Azure. Para obtener más información sobre SAS, consulta Conceder acceso limitado a los recursos de Azure Storage mediante firmas de acceso compartido (SAS). |
AwsS3CompatibleData
Un recurso AwsS3CompatibleData.
Representación JSON |
---|
{ "bucketName": string, "path": string, "endpoint": string, "region": string, // Union field |
Campos | |
---|---|
bucketName |
Obligatorio. Especifica el nombre del bucket. |
path |
Especifica la ruta de acceso raíz para transferir objetos. Debe ser una cadena vacía o un nombre de ruta de acceso completo que termine con una barra (/). Este campo se considera un prefijo de objeto. Por lo tanto, por lo general, no debe comenzar con una barra diagonal (/). |
endpoint |
Obligatorio. Especifica el extremo del servicio de almacenamiento. |
region |
Especifica la región con la que se deben firmar las solicitudes. Se puede dejar en blanco si las solicitudes deben firmarse con una región vacía. |
Campo de unión data_provider . Especifica los metadatos del proveedor de datos compatible con S3. Cada proveedor puede contener algunos atributos que no se aplican a todos los proveedores de datos compatibles con S3. Si no se especifica, se usa S3CompatibleMetadata de forma predeterminada. data_provider puede ser solo uno de los siguientes: |
|
s3Metadata |
Metadatos compatibles con S3 |
S3CompatibleMetadata
S3CompatibleMetadata contiene los campos de metadatos que se aplican a los tipos básicos de proveedores de datos compatibles con S3.
Representación JSON |
---|
{ "authMethod": enum ( |
Campos | |
---|---|
authMethod |
Especifica el método de autenticación y autorización que usa el servicio de almacenamiento. Si no se especifica, el servicio de transferencia intentará determinar el método de autenticación correcto para usar. |
requestModel |
Especifica el modelo de solicitud a la API que se usa para llamar al servicio de almacenamiento. Si no se especifica, se usa el valor predeterminado de RequestModel REQUEST_MODEL_VIRTUAL_HOSTED_STYLE. |
protocol |
Especifica el protocolo de red del agente. Si no se especifica, se usa el valor predeterminado de NetworkProtocol NETWORK_PROTOCOL_HTTPS. |
listApi |
La API de Listing que se usará para descubrir objetos. Si no se especifica, el servicio de transferencia intentará determinar la API correcta para usar. |
AuthMethod
Es el método de autenticación y autorización que usa el servicio de almacenamiento.
Enums | |
---|---|
AUTH_METHOD_UNSPECIFIED |
No se especificó AuthMethod. |
AUTH_METHOD_AWS_SIGNATURE_V4 |
Solicitudes de autenticación con AWS SigV4 |
AUTH_METHOD_AWS_SIGNATURE_V2 |
Solicitudes de autenticación con AWS SigV2 |
RequestModel
El modelo de solicitud de la API.
Enums | |
---|---|
REQUEST_MODEL_UNSPECIFIED |
No se especificó RequestModel. |
REQUEST_MODEL_VIRTUAL_HOSTED_STYLE |
Realiza solicitudes con el estilo de alojamiento virtual. Ejemplo: https://bucket-name.s3.region.amazonaws.com/key-name |
REQUEST_MODEL_PATH_STYLE |
Realiza solicitudes con el estilo de ruta de acceso. Ejemplo: https://s3.región.amazonaws.com/nombre-bucket/nombre-clave |
NetworkProtocol
Es el protocolo de red del agente para acceder al servicio de almacenamiento.
Enums | |
---|---|
NETWORK_PROTOCOL_UNSPECIFIED |
No se especificó NetworkProtocol. |
NETWORK_PROTOCOL_HTTPS |
Realiza solicitudes con HTTPS. |
NETWORK_PROTOCOL_HTTP |
No se recomienda: Esta opción envía datos en texto simple. Esto solo es adecuado dentro de una red cerrada o para datos disponibles públicamente. Realiza solicitudes con HTTP. |
ListApi
La API de Listing que se usará para descubrir objetos.
Enums | |
---|---|
LIST_API_UNSPECIFIED |
No se especificó ListApi. |
LIST_OBJECTS_V2 |
Realiza la enumeración con la API de ListObjectsV2. |
LIST_OBJECTS |
API heredada de ListObjects. |
HdfsData
Un recurso HdfsData especifica una ruta dentro de una entidad de HDFS (p.ej., un clúster). Toda la configuración específica del clúster, como los nombres de nodos y los puertos, se configura en los agentes de transferencia que atienden las solicitudes, por lo que HdfsData solo contiene la ruta de acceso raíz a los datos de nuestra transferencia.
Representación JSON |
---|
{ "path": string } |
Campos | |
---|---|
path |
Es la ruta de acceso raíz para transferir archivos. |
TransferManifest
Especifica dónde se encuentra el manifiesto.
Representación JSON |
---|
{ "location": string } |
Campos | |
---|---|
location |
Especifica la ruta de acceso al manifiesto en Cloud Storage. La cuenta de servicio administrada por Google para la transferencia debe tener permiso |