Esta página mostra como criar tarefas de transferência entre um sistema de ficheiros (nas instalações ou na nuvem) e o Cloud Storage.
As transferências de sistemas de ficheiros para o Cloud Storage são transferências baseadas em agentes, o que significa que instala agentes de software numa máquina com acesso ao seu sistema de ficheiros para orquestrar a transferência.
Configure autorizações
Antes de criar uma transferência, tem de configurar as autorizações para as seguintes entidades:
A conta de utilizador que está a ser usada para criar a transferência. Esta é a conta com sessão iniciada na consola ou a conta especificada quando se autentica na CLI `gcloud`. Google Cloud A conta de utilizador pode ser uma conta de utilizador normal ou uma conta de serviço gerida pelo utilizador. | |
A conta de serviço gerida pela Google, também conhecida como agente de serviço, usada pelo Serviço de Transferência de Armazenamento. Geralmente, esta conta é identificada pelo
respetivo endereço de email, que usa o formato
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com .
|
|
![]() |
A conta de agente de transferência que concede Google Cloud autorizações aos agentes de transferência. As contas de agente de transferência usam as credenciais do utilizador que as instala ou as credenciais de uma conta de serviço gerida pelo utilizador para autenticar. |
Consulte as autorizações de transferência baseadas em agentes para ver instruções.
Instale agentes num conjunto de agentes
As transferências baseadas em agentes usam agentes de software para orquestrar as transferências. Estes agentes têm de ser instalados numa máquina com acesso ao sistema de ficheiros envolvido na transferência.
- Crie um grupo de agentes. Use a sua
conta de utilizador
para esta ação.
- Instale agentes
no conjunto de agentes. Use a sua conta de agente de transferência
para esta ação.
Recomendamos que comece com 3 agentes no seu conjunto de agentes de origem. Quando a transferência estiver em curso, monitorize a velocidade de transferência. Pode adicionar mais agentes ao conjunto enquanto a transferência estiver em curso.
Recomendamos uma VM por agente, cada uma com um mínimo de 4 CPUs e 8 GiB de RAM.
Opções de transferência
As seguintes funcionalidades do Serviço de transferência de armazenamento estão disponíveis para transferências de sistemas de ficheiros para o Cloud Storage.
- Transfira ficheiros específicos através de um manifesto
- Pode transmitir uma lista de ficheiros para o serviço de transferência de armazenamento agir. Consulte o artigo Transfira ficheiros ou objetos específicos através de um manifesto para ver detalhes.
- Especifique a classe de armazenamento
- Pode especificar a
classe de armazenamento do Cloud Storage a usar para os seus dados no contentor
de destino. Consulte as opções
StorageClass
para ver detalhes do REST ou use a flag--custom-storage-class
com a CLI do Google Cloud.Tenha em atenção que todas as definições da classe de armazenamento são ignoradas se o contentor de destino tiver o Autoclass ativado. Se o Autoclass estiver ativado, os objetos transferidos para o contentor são inicialmente definidos como armazenamento padrão.
- Preservação de metadados
-
Quando transfere ficheiros de sistemas de ficheiros, o Serviço de transferência de armazenamento pode preservar opcionalmente determinados atributos como metadados personalizados. Se estes ficheiros forem posteriormente escritos novamente num sistema de ficheiros, o Serviço de transferência de armazenamento pode converter os metadados preservados novamente em atributos POSIX.
Consulte a secção Transferências do sistema de ficheiros POSIX do artigo Preservação de metadados para ver detalhes sobre os metadados que podem ser preservados e como configurar a transferência.
- Faça a gestão da largura de banda da rede
- Por predefinição, o serviço de transferência de armazenamento usa toda a largura de banda disponível para transferir ficheiros do seu sistema de ficheiros. Pode definir um limite de largura de banda para
impedir que uma transferência afete outro tráfego de rede. Os limites de largura de banda
são aplicados ao nível do conjunto de agentes.
Consulte o artigo Gerir a largura de banda da rede para saber mais.
A sua conta de utilizador requer a função Administrador da Transferência de armazenamento (
roles/storagetransfer.admin
) para definir ou alterar os limites de largura de banda. - Registo
- O Serviço de transferência de armazenamento suporta o Cloud Logging para o Serviço de transferência de armazenamento (recomendado), bem como os registos de transferência baseados em agentes.
Crie uma transferência
Não inclua informações confidenciais, como informações de identificação pessoal (IIP) ou dados de segurança, no nome da tarefa de transferência. Os nomes dos recursos podem ser propagados para os nomes de outros Google Cloud recursos e podem ser expostos a sistemas internos da Google fora do seu projeto.
O serviço de transferência de armazenamento oferece várias interfaces através das quais pode criar uma transferência.
Google Cloud consola
Aceda à página Serviço de transferência de armazenamento na Google Cloud consola.
Clique em Criar tarefa de transferência. É apresentada a página Criar tarefa de transferência.
Escolha Sistema de ficheiros POSIX como origem.
Selecione Cloud Storage como o tipo de destino e clique em Passo seguinte.
Selecione um conjunto de agentes existente ou selecione Criar conjunto de agentes e siga as instruções para criar um novo conjunto.
Especifique o caminho totalmente qualificado do diretório do sistema de ficheiros.
Clique em Passo seguinte.
No campo Bucket ou pasta, introduza o bucket de destino e (opcionalmente) o nome da pasta, ou clique em Procurar para selecionar um bucket numa lista de buckets existentes no seu projeto atual. Para criar um novo contentor, clique em
Criar novo contentor.
Clique em Passo seguinte.
Escolha as opções de programação.
Clique em Passo seguinte.
Escolha as definições para a tarefa de transferência.
No campo Descrição, introduza uma descrição da transferência. Como prática recomendada, introduza uma descrição significativa e exclusiva para poder distinguir os trabalhos.
Em Opções de metadados, use as opções predefinidas ou atualize um ou mais valores. Consulte o artigo Preservação de metadados para ver detalhes.
Em Quando substituir, selecione uma das seguintes opções:
Nunca: o serviço de transferência de armazenamento ignora a transferência de ficheiros da origem que tenham o mesmo nome que um ficheiro presente no destino.
Se for diferente: substitui os ficheiros de destino se o ficheiro de origem com o mesmo nome tiver valores de Etags ou de soma de verificação diferentes.
Sempre: substitui sempre os ficheiros de destino quando o ficheiro de origem tem o mesmo nome, mesmo que sejam idênticos.
Em Quando eliminar, selecione uma das seguintes opções:
Nunca: nunca elimina ficheiros da origem nem do destino.
Eliminar ficheiro da origem após a transferência: elimine os ficheiros da origem após a transferência para o destino. Se um ficheiro de origem não for transferido, por exemplo, porque já existe no destino, o ficheiro de origem não é eliminado.
Eliminar ficheiros do destino se também não estiverem na origem: se os ficheiros no contentor do Cloud Storage de destino também não estiverem na origem, elimine os ficheiros do contentor do Cloud Storage.
Esta opção garante que o contentor do Cloud Storage de destino corresponde exatamente à sua origem.
Selecione se pretende ativar o registo no Cloud Storage e/ou ativar o registo no Cloud Logging. Consulte os artigos Registos de transferência do sistema de ficheiros e Cloud Logging para o Serviço de transferência de armazenamento para mais informações.
Para criar a tarefa de transferência, clique em Criar.
gcloud
Antes de usar os comandos gcloud
, instale a CLI Google Cloud.
Para criar uma nova tarefa de transferência, use o comando gcloud transfer jobs create
. A criação de uma nova tarefa inicia a transferência especificada, a menos que seja especificado um
horário ou um --do-not-run
.
gcloud transfer jobs create \ posix:///SOURCE \ gs://DESTINATION/ \ --source-agent-pool=SOURCE_POOL_NAME
Onde:
SOURCE é um caminho absoluto a partir da raiz do sistema de ficheiros. Tem o prefixo
posix://
, pelo que o valor final vai incluir 3 barras invertidas. Por exemplo,posix:///tmp/data/
.DESTINATION é o nome de um contentor do Cloud Storage e, opcionalmente, um caminho de pasta seguido de uma barra invertida no final. Por exemplo,
gs://example-bucket/data/
.--source-agent-pool
especifica o conjunto de agentes de origem a usar para esta transferência.
As opções adicionais incluem:
--do-not-run
impede que o serviço de transferência de armazenamento execute a tarefa após o envio do comando. Para executar a tarefa, atualize-a para adicionar uma programação ou usejobs run
para a iniciar manualmente.--manifest-file
especifica o caminho para um ficheiro CSV no Cloud Storage que contém uma lista de ficheiros a transferir da sua origem. Para ver a formatação do ficheiro de manifesto, consulte o artigo Transfira ficheiros ou objetos específicos através de um manifesto.Informações da tarefa: pode especificar
--name
e--description
.Schedule: especifique
--schedule-starts
,--schedule-repeats-every
e--schedule-repeats-until
ou--do-not-run
.Opções de transferência: especifique se quer substituir os ficheiros de destino (
--overwrite-when=different
oualways
) e se quer eliminar determinados ficheiros durante ou após a transferência (--delete-from=destination-if-unique
ousource-after-transfer
); especifique que valores de metadados preservar (--preserve-metadata
); e, opcionalmente, defina uma classe de armazenamento em objetos transferidos (--custom-storage-class
).
Para ver todas as opções, execute gcloud transfer jobs create --help
ou consulte a
gcloud
documentação de referência.
Tenha em atenção que nem todas as opções são suportadas para transferências baseadas em agentes. As opções não suportadas contêm uma nota a este efeito no respetivo texto de ajuda.
REST
O exemplo seguinte mostra como usar o Serviço de transferência de armazenamento através da API REST.
Quando configura ou edita tarefas de transferência através da API Storage Transfer Service, a hora tem de estar em UTC. Para mais informações sobre como especificar a programação de uma tarefa de transferência, consulte o artigo Programação.
Para mover ficheiros de um sistema de ficheiros POSIX para um contentor do Cloud Storage,
use transferJobs.create
com um
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/" }, } }
O campo
schedule
é opcional. Se não estiver incluído, a tarefa de transferência tem de ser iniciada
com um pedido transferJobs.run
.
Para verificar o estado da transferência depois de criar uma tarefa, use
transferJobs.get
:
GET https://storagetransfer.googleapis.com/v1/transferJobs/sample_transfer?project_id=my_transfer_project_id
Bibliotecas cliente
Os exemplos seguintes mostram como usar o Serviço de transferência de armazenamento através de programação com Go, Java, Node.js e Python.
Quando configura ou edita tarefas de transferência através de programação, a hora tem de estar em UTC. Para mais informações sobre como especificar a programação de uma tarefa de transferência, consulte o artigo Programação.
Para mais informações sobre as bibliotecas de cliente do serviço de transferência de armazenamento, consulte o artigo Introdução às bibliotecas de cliente do serviço de transferência de armazenamento.
Para mover ficheiros de um sistema de ficheiros POSIX para um contentor do Cloud Storage: