En esta página se explica cómo crear tareas de transferencia entre un sistema de archivos (local o en la nube) y Cloud Storage.
Las transferencias de sistemas de archivos a Cloud Storage se basan en agentes, lo que significa que instalará agentes de software en una máquina con acceso a su sistema de archivos para coordinar la transferencia.
Configurar permisos
Antes de crear una transferencia, debe configurar los permisos de las siguientes entidades:
La cuenta de usuario que se usa para crear la transferencia. Esta es la cuenta con la que se ha iniciado sesión en la consola Google Cloud o la cuenta que se ha especificado al autenticar la CLI de `gcloud`. La cuenta de usuario puede ser una cuenta de usuario normal o una cuenta de servicio gestionada por el usuario. | |
La cuenta de servicio gestionada por Google, también conocida como agente de servicio, que usa el Servicio de transferencia de Storage. Esta cuenta se identifica generalmente por su dirección de correo, que tiene el formato project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com .
|
|
![]() |
La cuenta de agente de transferencia que proporciona Google Cloud permisos a los agentes de transferencia. Las cuentas de agente de transferencia usan las credenciales del usuario que las instala o las credenciales de una cuenta de servicio gestionada por el usuario para autenticarse. |
Consulta las instrucciones en Permisos de transferencia basados en agentes.
Instalar agentes en un grupo de agentes
Las transferencias basadas en agentes usan agentes de software para coordinar las transferencias. Estos agentes deben instalarse en un equipo que tenga acceso al sistema de archivos implicado en la transferencia.
- Crea un grupo de agentes. Usa tu cuenta de usuario
para realizar esta acción.
- Instala agentes
en el grupo de agentes. Usa tu cuenta de agente de transferencias
para realizar esta acción.
Te recomendamos que empieces con 3 agentes en tu grupo de agentes de origen. Una vez que la transferencia esté en curso, monitoriza la velocidad de transferencia. Puedes añadir más agentes al grupo mientras la transferencia esté en curso.
Recomendamos una VM por agente, cada una con un mínimo de 4 CPUs y 8 GiB de RAM.
Opciones de transferencia
Las siguientes funciones del Servicio de transferencia de Storage están disponibles para las transferencias de sistemas de archivos a Cloud Storage.
- Transferir archivos específicos mediante un manifiesto
- Puedes enviar una lista de archivos para que el Servicio de transferencia de Storage actúe sobre ellos. Para obtener más información, consulta Transferir archivos u objetos específicos mediante un archivo de manifiesto.
- Especificar una clase de almacenamiento
- Puedes especificar la
clase de almacenamiento de Cloud Storage que quieras usar para tus datos en el segmento de destino. Consulta las opciones de
StorageClass
para obtener información sobre REST o usa la marca--custom-storage-class
con la CLI de Google Cloud.Ten en cuenta que se ignorarán los ajustes de la clase de almacenamiento si el Autoclass está habilitado en el cubo de destino. Si Autoclass está habilitado, los objetos transferidos al segmento se asignan inicialmente al almacenamiento Estándar.
- Preservación de metadatos
-
Al transferir archivos de sistemas de archivos, el Servicio de transferencia de Storage puede conservar determinados atributos como metadatos personalizados. Si estos archivos se vuelven a escribir en un sistema de archivos más adelante, el Servicio de transferencia de Storage puede convertir los metadatos conservados en atributos POSIX.
Consulta la sección Transferencias del sistema de archivos POSIX del artículo Conservación de metadatos para obtener información sobre qué metadatos se pueden conservar y cómo configurar la transferencia.
- Gestionar el ancho de banda de la red
- Storage Transfer Service utiliza de forma predeterminada todo el ancho de banda disponible para transferir archivos desde tu sistema de archivos. Puedes establecer un límite de ancho de banda para evitar que una transferencia afecte a otro tráfico de red. Los límites de ancho de banda
se aplican a nivel de grupo de agentes.
Consulta más información en el artículo Gestionar el ancho de banda de una red.
Tu cuenta de usuario requiere el rol Administrador de Transferencia de Almacenamiento (
roles/storagetransfer.admin
) para definir o cambiar los límites de ancho de banda. - Almacenamiento de registros
- El Servicio de transferencia de Storage admite Cloud Logging para el Servicio de transferencia de Storage (opción recomendada) y registros de transferencia basados en agentes.
Crear una transferencia
No incluyas información sensible, como información personal identificable (IPI) o datos de seguridad, en el nombre del trabajo de transferencia. Los nombres de recursos pueden propagarse a los nombres de otros recursos de Google Cloud y pueden exponerse a sistemas internos de Google fuera de tu proyecto.
El Servicio de transferencia de Storage ofrece varias interfaces para crear una transferencia.
Google Cloud consola
Ve a la página Storage Transfer Service de la Google Cloud consola.
Haz clic en Crear tarea de transferencia. Se muestra la página Crear una tarea de transferencia.
Elige Sistema de archivos POSIX como fuente.
Seleccione Cloud Storage como tipo de destino y haga clic en Paso siguiente.
Selecciona un grupo de agentes o Crear grupo de agentes y sigue las instrucciones para crear uno.
Especifica la ruta completa del directorio del sistema de archivos.
Haz clic en Siguiente paso.
En el campo Segmento o carpeta, introduce el nombre del segmento de destino y, opcionalmente, el de la carpeta. También puedes hacer clic en Examinar para seleccionar un segmento de la lista de segmentos de tu proyecto. Para crear un nuevo contenedor, haz clic en
Crear nuevo contenedor.
Haz clic en Siguiente paso.
Elige las opciones de programación.
Haz clic en Siguiente paso.
Elige la configuración del trabajo de transferencia.
En el campo Descripción, introduce una descripción de la transferencia. Como práctica recomendada, introduce una descripción significativa y única para poder distinguir los trabajos.
En Opciones de metadatos, utilice las opciones predeterminadas o actualice uno o varios valores. Para obtener más información, consulta Conservación de metadatos.
En Cuándo sobrescribir, seleccione una de las siguientes opciones:
Nunca: Storage Transfer Service omite la transferencia de los archivos de la fuente que tengan el mismo nombre que un archivo presente en el destino.
Si es diferente: sobrescribe los archivos de destino si el archivo de origen con el mismo nombre tiene valores de ETag o de suma de comprobación diferentes.
Siempre: siempre sobrescribe los archivos de destino cuando el archivo de origen tiene el mismo nombre, aunque sean idénticos.
En Cuándo eliminar, selecciona una de las siguientes opciones:
Nunca: no elimina nunca los archivos del origen ni del destino.
Eliminar archivos del origen cuando se hayan transferido: elimina los archivos del origen cuando se hayan transferido al destino. Si no se transfiere un archivo de origen (por ejemplo, porque ya existe en el destino), no se elimina.
Eliminar los archivos en el destino si tampoco están en el origen: si los archivos del segmento de Cloud Storage de destino no están en el origen, elimínelos del segmento de Cloud Storage.
Esta opción asegura que el segmento de destino de Cloud Storage coincida exactamente con el de origen.
Selecciona si quieres Habilitar el registro en Cloud Storage o Habilitar el registro en Cloud Logging. Consulta más información en Registros de transferencia del sistema de archivos y Cloud Logging para el Servicio de transferencia de Storage.
Para crear la tarea de transferencia, haz clic en Crear.
gcloud
Antes de usar los comandos gcloud
, instala Google Cloud CLI.
Para crear una tarea de transferencia, usa el comando gcloud transfer jobs create
. Al crear una tarea, se inicia la transferencia especificada, a menos que se indique una programación o un --do-not-run
.
gcloud transfer jobs create \ posix:///SOURCE \ gs://DESTINATION/ \ --source-agent-pool=SOURCE_POOL_NAME
Donde:
SOURCE es una ruta absoluta desde la raíz del sistema de archivos. Tiene el prefijo
posix://
, por lo que el valor final incluirá tres barras diagonales. Por ejemplo,posix:///tmp/data/
.DESTINATION es el nombre de un segmento de Cloud Storage y, opcionalmente, una ruta de carpeta seguida de una barra diagonal. Por ejemplo,
gs://example-bucket/data/
.--source-agent-pool
especifica el grupo de agentes de origen que se usará para esta transferencia.
Entre las opciones adicionales se incluyen:
--do-not-run
impide que el Servicio de transferencia de Storage ejecute el trabajo al enviar el comando. Para ejecutar el trabajo, actualízalo para añadir una programación o usajobs run
para iniciarlo manualmente.--manifest-file
especifica la ruta a un archivo CSV de Cloud Storage que contiene una lista de archivos que se van a transferir desde la fuente. Para obtener información sobre el formato del archivo de manifiesto, consulta el artículo Transferir archivos u objetos específicos mediante un manifiesto.Información del trabajo: puedes especificar
--name
y--description
.Programación: especifica
--schedule-starts
,--schedule-repeats-every
y--schedule-repeats-until
, o--do-not-run
.Opciones de transferencia: especifica si quieres sobrescribir los archivos de destino (
--overwrite-when=different
oalways
) y si quieres eliminar determinados archivos durante o después de la transferencia (--delete-from=destination-if-unique
osource-after-transfer
); especifica qué valores de metadatos quieres conservar (--preserve-metadata
) y, opcionalmente, define una clase de almacenamiento para los objetos transferidos (--custom-storage-class
).
Para ver todas las opciones, ejecuta gcloud transfer jobs create --help
o consulta la
documentación de referencia de gcloud
.
Ten en cuenta que no todas las opciones se admiten en las transferencias basadas en agentes. Las opciones no admitidas incluyen una nota en este sentido en su texto de ayuda.
REST
En el siguiente ejemplo se muestra cómo usar el Servicio de transferencia de Storage a través de la API REST.
Cuando configure o edite tareas de transferencia mediante la API Storage Transfer Service, la hora debe estar en UTC. Para obtener más información sobre cómo especificar la programación de una tarea de transferencia, consulta Programación.
Para mover archivos de un sistema de archivos POSIX a un segmento de Cloud Storage, usa transferJobs.create con 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/" }, } }
El campo
schedule
es opcional. Si no se incluye, la tarea de transferencia debe iniciarse
con una solicitud transferJobs.run
.
Para comprobar el estado de tu transferencia después de crear un trabajo, usa transferJobs.get
:
GET https://storagetransfer.googleapis.com/v1/transferJobs/sample_transfer?project_id=my_transfer_project_id
Bibliotecas de cliente
En los siguientes ejemplos se muestra cómo usar Storage Transfer Service de forma programática con Go, Java, Node.js y Python.
Cuando configures o edites tareas de transferencia mediante programación, la hora debe estar en UTC. Para obtener más información sobre cómo especificar la programación de una tarea de transferencia, consulta Programación.
Para obtener más información sobre las bibliotecas de cliente del Servicio de transferencia de Storage, consulta el artículo Empezar a usar las bibliotecas de cliente del Servicio de transferencia de Storage.
Para mover archivos de un sistema de archivos POSIX a un segmento de Cloud Storage, sigue estos pasos: