En esta página, se muestra cómo crear trabajos de transferencia entre un sistema de archivos (ya sea local o en la nube) y Cloud Storage.
Las transferencias de sistemas de archivos a Cloud Storage son transferencias basadas en agentes, lo que significa que instalarás agentes de software en una máquina con acceso a tu sistema de archivos para organizar la transferencia.
Configura permisos
Antes de crear una transferencia, debes configurar los permisos de las siguientes entidades:
La cuenta de usuario que se usa para crear la transferencia Este es el con la que accediste a la consola de Google Cloud que se especifica cuando se realiza la autenticación en la CLI de “gcloud”. La cuenta de usuario puede ser una cuenta de usuario normal o una cuenta de servicio administrada por el usuario. | |
La cuenta de servicio administrada por Google, también conocida como agente de servicio, que usa el Servicio de transferencia de almacenamiento. Generalmente, esta cuenta se identifica por
su dirección de correo electrónico, que usa el formato
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com
|
|
La cuenta de agente de transferencia que proporciona permisos de Google Cloud para los agentes de transferencia Las cuentas del agente de transferencia usan credenciales del usuario que las instala o las credenciales de un de servicio administrada por el usuario, para autenticar. |
Consulta Permisos de transferencia basados en agentes para obtener instrucciones.
Instala agentes en un grupo de agentes
Las transferencias basadas en agentes usan agentes de software para organizar las transferencias. Estos agentes instalarse en una máquina con acceso al sistema de archivos involucrado en la de datos entre sitios.
- Crea un grupo de agentes. Usa tu cuenta de usuario para esta acción.
- Instala agentes en el grupo de agentes. Usa tu cuenta de agente de transferencia para esta acción.
Recomendamos comenzar con 3 agentes en tu grupo de agentes de origen. Una vez que la transferencia esté en curso, supervisa la velocidad de transferencia. Puedes agregar más agentes al grupo mientras la transferencia está en curso.
Recomendamos una VM por agente, cada una con un mínimo de 4 CPU y 8 GiB de RAM.
Opciones de transferencia
Las siguientes funciones del Servicio de transferencia de almacenamiento están disponibles para transferencias sistemas de archivos a Cloud Storage.
- Cómo transferir archivos específicos con un manifiesto
- Puedes pasar una lista de archivos para que el Servicio de transferencia de almacenamiento los procese. Consulta Transfiere archivos específicos con un manifiesto para obtener más información.
- Especifica la clase de almacenamiento
- Puedes especificar la
clase de almacenamiento de Cloud Storage que deseas usar para tus datos en el
bucket de destino. Consulta las opciones de
StorageClass
para obtener detalles sobre REST o usa la marca--custom-storage-class
con Google Cloud CLI.Ten en cuenta que se ignora cualquier configuración de clase de almacenamiento si el bucket de destino tiene habilitada Autoclass. Si Autoclass está habilitada, los objetos transferidos al bucket se configuran inicialmente en Standard Storage.
- Conservación de metadatos
-
Cuando se transfieren archivos de sistemas de archivos, el Servicio de transferencia de almacenamiento puede conservar de manera opcional ciertos atributos como metadatos personalizados. Si estos archivos se vuelven a escribir en un sistema de archivos, el Servicio de transferencia de almacenamiento los metadatos conservados de vuelta a atributos POSIX.
Consulta la sección Transferencias del sistema de archivos POSIX de Metadatos preservación para obtener detalles sobre los metadatos que pueden conservarse cómo configurar tu transferencia.
- Administra el ancho de banda de red
- De forma predeterminada, el Servicio de transferencia de almacenamiento usa todo el ancho de banda que tiene disponible.
para transferir archivos desde tu sistema. 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 del grupo de agentes.
Consulta Administrar ancho de banda de red para obtener más información.
Tu cuenta de usuario requiere el Administrador de transferencia de almacenamiento (
roles/storagetransfer.admin
) para establecer o cambiar límites de ancho de banda. - Logging
- El Servicio de transferencia de almacenamiento admite Cloud Logging para el Servicio de transferencia de almacenamiento (recomendado), así como registros de transferencia basados en agentes.
Crear una transferencia
No incluyas información sensible, como información de identificación personal (PII) ni datos de seguridad en el nombre de la tarea de transferencia. Los nombres de los recursos se pueden propagar 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 almacenamiento proporciona varias interfaces a través de las cuales crear una transferencia.
Consola de Google Cloud
Ve a la página Servicio de transferencia de almacenamiento en la consola de Google Cloud.
Haz clic en Crear trabajo de transferencia. Se muestra la página Crea un trabajo de transferencia.
Elige Sistema de archivos POSIX como fuente.
Selecciona Cloud Storage como el tipo de destino y haz clic en Paso siguiente.
Selecciona un grupo de agentes existente o selecciona Crear grupo de agentes y sigue las instrucciones para crear un grupo nuevo.
Especifica la ruta completamente calificada del directorio del sistema de archivos.
Haz clic en Próximo paso.
En el campo Bucket o carpeta, ingresa el bucket de destino y el nombre de la carpeta (opcional) o haz clic en Explorar para seleccionar un bucket de una lista de buckets existentes en tu proyecto actual. Para crear un bucket nuevo, haz clic en Crear un bucket nuevo.
Haz clic en Próximo paso.
Elige tus opciones de programación.
Haz clic en Próximo paso.
Elige la configuración del trabajo de transferencia.
En el campo Descripción, ingresa una descripción de la transferencia. Como práctica recomendada, ingresa una descripción que sea significativa y única para que puedas distinguir los trabajos.
En Opciones de metadatos, usa las opciones predeterminadas. o actualizar uno o más valores. Consulta Conservación de metadatos para conocer los detalles.
En Cuándo reemplazar, selecciona una de las siguientes opciones:
Nunca: El Servicio de transferencia de almacenamiento omite la transferencia de cualquier archivo de la fuente que tenga el mismo nombre que un archivo presente en el destino.
Si es diferente: Reemplaza los archivos de destino si el archivo de origen con el mismo nombre tiene diferentes ETags o valores de suma de verificación.
Siempre: Siempre escribe archivos de destino cuando el archivo de origen tiene el mismo nombre, incluso si son idénticos.
En Cuándo borrar, selecciona una de las siguientes opciones:
Nunca: Nunca borres archivos de origen o de destino.
Borrar archivos de la fuente después de la transferencia: Borra los archivos de la fuente después de transferirlos al destino.
Borra los archivos del destino si no están también en el origen: Si los archivos en el bucket de Cloud Storage de destino no están también en el origen, borra los archivos del bucket de Cloud Storage.
Esta opción garantiza que el bucket de destino de Cloud Storage coincida exactamente con tu fuente.
Selecciona si deseas habilitar el registro en Cloud Storage o habilitar el registro en Cloud Logging. Consulta Registros de transferencia del sistema de archivos y Cloud Logging para el Servicio de transferencia de almacenamiento para obtener más información.
Para crear tu trabajo de transferencia, haz clic en Crear.
gcloud
Antes de usar los comandos de gcloud
, instala Google Cloud CLI.
Para crear un nuevo trabajo de transferencia, usa el comando gcloud transfer jobs create
. La creación de un trabajo nuevo inicia la transferencia especificada, a menos que se especifique un programa o --do-not-run
.
gcloud transfer jobs create \ posix:///SOURCE \ gs://DESTINATION/ \ --source-agent-pool=SOURCE_POOL_NAME
Aquí:
SOURCE es una ruta de acceso absoluta desde el raíz del sistema de archivos. Tiene el prefijo
posix://
, por lo que el valor final incluirá 3 barras diagonales. Por ejemplo,posix:///tmp/data/
.DESTINATION es uno del nombre de un bucket de Cloud Storage y, De manera opcional, una ruta de carpeta seguida de una barra final. Por ejemplo,
gs://example-bucket/data/
--source-agent-pool
especifica el grupo de agentes de origen que se usará para esta transferencia.
Las opciones adicionales incluyen:
--do-not-run
evita que el Servicio de transferencia de almacenamiento ejecute el trabajo cuando se envía el comando. Para ejecutar el trabajo, actualízalo para agregar una programación o usajobs run
para iniciarlo de forma manual.--manifest-file
especifica la ruta a un archivo CSV en Cloud Storage, que contiene una lista de archivos para transferir de tu fuente. Para formatear archivos de manifiesto, consulta Transfiere archivos o objetos específicos con un manifiesto.Información del trabajo: puedes especificar
--name
y--description
.Programa: Especifica
--schedule-starts
,--schedule-repeats-every
, y--schedule-repeats-until
o--do-not-run
.Opciones de transferencia: Especifica si deseas reemplazar los archivos de destino (
--overwrite-when=different
oalways
) y si deseas borrar ciertos archivos durante o después de la transferencia (--delete-from=destination-if-unique
osource-after-transfer
). Especifica qué valores de metadatos se deben conservar (--preserve-metadata
) y, de manera opcional, puedes configurar una clase de almacenamiento en 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 son compatibles con las transferencias basadas en agentes.
opciones no admitidas contienen una nota a este efecto en su texto de ayuda.
REST
En el siguiente ejemplo, se muestra cómo usar el Servicio de transferencia de almacenamiento a través de la API de REST.
Cuando configures o edites trabajos de transferencia con la API del Servicio de transferencia de almacenamiento, la hora debe estar en UTC. Para obtener más información sobre cómo especificar el programa de un trabajo de transferencia, consulta Programa.
Para trasladar archivos de un sistema de archivos POSIX a un bucket de Cloud Storage, sigue estos pasos:
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, el trabajo de transferencia debe iniciarse con una solicitud transferJobs.run
.
Para verificar 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 cliente
En los siguientes ejemplos, se muestra cómo usar el Servicio de transferencia de almacenamiento de manera programática con Go, Java, Node.js y Python.
Cuando configuras o editas los trabajos de transferencia de manera programática, la hora debe ser en UTC. Para obtener más información especificar el programa de un trabajo de transferencia, consulta Programa.
Para obtener más información sobre las bibliotecas cliente del Servicio de transferencia de almacenamiento, consulta Comienza a usar las bibliotecas cliente del Servicio de transferencia de almacenamiento.
Para mover archivos de un sistema de archivos POSIX a un bucket de Cloud Storage, sigue estos pasos: