Faça a gestão das transferências

Esta página mostra como gerir operações e tarefas de transferência existentes.

Para criar uma nova tarefa de transferência, consulte o artigo Crie transferências.

Edite uma configuração de transferência

Pode editar as seguintes propriedades de uma transferência existente:

  • A descrição da tarefa de transferência
  • Credenciais de origem do armazenamento de blobs do Microsoft Azure ou do Amazon S3
  • Quaisquer filtros aplicados à tarefa de transferência
  • Opções para substituir ou eliminar ficheiros
  • O horário da tarefa de transferência

CLI gcloud

Para editar uma configuração de transferência existente, use o comando gcloud transfer jobs update.

gcloud transfer jobs update \
  JOB_NAME \
  [options]

Onde:

  • JOB_NAME é o nome exclusivo da tarefa a atualizar.

  • As opções que podem ser atualizadas são apresentadas executando o comando gcloud transfer jobs update --help.

Por exemplo, para atualizar a origem e o destino de uma tarefa e remover a respetiva descrição, execute o seguinte comando:

gcloud transfer jobs update \
  JOB_NAME \
  --source=gs://new-bucket-1 \
  --destination=gs://new-bucket-2 \
  --clear-description

Google Cloud consola

Para editar uma tarefa de transferência, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Storage Transfer Service.

    Aceda ao Serviço de transferência de armazenamento

  2. Clique na descrição da tarefa de transferência. É apresentada a página Detalhes da tarefa.

  3. Clique em Configuração. É apresentada a configuração da tarefa de transferência.

  4. Para alterar um item, clique em Editar junto ao item.

  5. Para iniciar uma tarefa com as edições, clique em Iniciar execução.

REST

Para editar uma configuração de transferência, use o método transferJobs.patch.

Execute uma tarefa de transferência a partir de uma configuração existente

Pode executar uma tarefa de transferência existente. Isto permite-lhe iniciar tarefas que não têm um agendamento ou iniciar uma tarefa fora do respetivo agendamento.

CLI gcloud

Para executar uma transferência a partir de uma configuração existente, use o seguinte comando gcloud transfer jobs run:

gcloud transfer jobs run JOB_NAME

Pode especificar a flag --no-async opcional para bloquear outras tarefas no seu terminal até que a operação de transferência esteja concluída.

Google Cloud consola

Para executar uma transferência a partir de uma configuração existente, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Storage Transfer Service.

    Aceda ao Serviço de transferência de armazenamento

  2. Clique na descrição da tarefa de transferência. É apresentada a página Detalhes da tarefa.

  3. Para iniciar uma tarefa de transferência, clique em Iniciar uma execução.

REST

Para executar uma tarefa de transferência, use o método transferJobs.run.

Monitorize uma tarefa de transferência

CLI gcloud

Para monitorizar o progresso de uma tarefa em tempo real, use o comando gcloud transfer jobs monitor.

gcloud transfer jobs monitor JOB_NAME

A resposta mostra a operação atual, a hora de início da tarefa e a quantidade de dados transferidos. Os bytes ignorados e os erros também são contabilizados.

Cloud Monitoring

Consulte o artigo Monitorize tarefas de transferência para ver detalhes sobre a utilização do Cloud Monitoring com o Serviço de transferência de armazenamento.

Veja os detalhes da tarefa de transferência

CLI gcloud

Para ver os detalhes da tarefa de transferência, use gcloud transfer jobs describe:

gcloud transfer jobs describe JOB_NAME

Para ver a operação mais recente desta tarefa, transmita o valor de latestOperationName para o comando operations describe:

gcloud transfer operations describe OPERATION_NAME

Para apresentar uma lista de todas as operações de transferência de uma tarefa, use o comando gcloud transfer operations list:

gcloud transfer operations list --job-names=JOB_NAME

Pode ver as operações de várias tarefas listando-as, separadas por vírgulas, como o valor de --job-names. Omita --job-names para ver as operações de todas as tarefas.

Google Cloud consola

Pode ver os seguintes detalhes do trabalho na Google Cloud consola:

  • A descrição e o nome do trabalho
  • O tipo e a localização da origem
  • A localização de destino
  • Frequência de tarefas
  • Estatísticas de tarefas

Para ver os detalhes da tarefa de transferência, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Storage Transfer Service.

    Aceda ao Serviço de transferência de armazenamento

  2. Clique na descrição da tarefa de transferência. É apresentada a página Detalhes da tarefa.

Para apresentar os detalhes de uma execução específica, clique na Hora de início da execução do trabalho. Estão disponíveis as seguintes informações sobre o trabalho:

  • Estado da transferência
  • Horas de início e de fim
  • Duração
  • Progresso
  • Dados transferidos
  • Número de erros
  • Dados ignorados
  • Estimativa da velocidade média

REST

Para ver os detalhes de uma tarefa de transferência, use o método transferJobs.get para devolver informações sobre uma tarefa de transferência específica, como o respetivo ID da operação.

Bibliotecas cliente

É devolvido um recurso TransferJob quando usa transferJobs.create.

Pode verificar o estado da transferência após criar a tarefa através do comando transferJobs.get. Se a operação da tarefa de transferência tiver sido iniciada, esta devolve um TransferJob que contém um campo latestOperationName preenchido. Caso contrário, se a operação da tarefa de transferência não tiver sido iniciada, o campo latestOperationName está vazio.

Para verificar o estado de uma tarefa de transferência

REST

Pedido através de transferJobs get:
GET https://storagetransfer.googleapis.com/v1/{jobName="name"}

Ir

import (
	"context"
	"fmt"
	"io"

	"cloud.google.com/go/longrunning/autogen/longrunningpb"
	storagetransfer "cloud.google.com/go/storagetransfer/apiv1"
	"cloud.google.com/go/storagetransfer/apiv1/storagetransferpb"
)

func checkLatestTransferOperation(w io.Writer, projectID string, jobName string) (*storagetransferpb.TransferOperation, error) {
	// Your Google Cloud Project ID
	// projectID := "my-project-id"

	// The name of the job whose latest operation to check
	// jobName := "transferJobs/1234567890"
	ctx := context.Background()
	client, err := storagetransfer.NewClient(ctx)
	if err != nil {
		return nil, fmt.Errorf("storagetransfer.NewClient: %w", err)
	}
	defer client.Close()

	job, err := client.GetTransferJob(ctx, &storagetransferpb.GetTransferJobRequest{
		JobName:   jobName,
		ProjectId: projectID,
	})
	if err != nil {
		return nil, fmt.Errorf("failed to get transfer job: %w", err)
	}

	latestOpName := job.LatestOperationName
	if latestOpName != "" {
		lro, err := client.LROClient.GetOperation(ctx, &longrunningpb.GetOperationRequest{
			Name: latestOpName,
		})
		if err != nil {
			return nil, fmt.Errorf("failed to get transfer operation: %w", err)
		}
		latestOp := &storagetransferpb.TransferOperation{}
		lro.Metadata.UnmarshalTo(latestOp)

		fmt.Fprintf(w, "the latest transfer operation for job %q is: \n%v", jobName, latestOp)
		return latestOp, nil
	} else {
		fmt.Fprintf(w, "Transfer job %q hasn't run yet, try again later", jobName)
		return nil, nil
	}
}

Java

Procura exemplos mais antigos? Consulte o guia de migração do Serviço de transferência de armazenamento.


import com.google.longrunning.Operation;
import com.google.storagetransfer.v1.proto.StorageTransferServiceClient;
import com.google.storagetransfer.v1.proto.TransferProto.GetTransferJobRequest;
import com.google.storagetransfer.v1.proto.TransferTypes.TransferJob;
import com.google.storagetransfer.v1.proto.TransferTypes.TransferOperation;
import java.io.IOException;

public class CheckLatestTransferOperation {

  // Gets the requested transfer job and checks its latest operation
  public static void checkLatestTransferOperation(String projectId, String jobName)
      throws IOException {
    // Your Google Cloud Project ID
    // String projectId = "your-project-id";

    // The name of the job to check
    // String jobName = "myJob/1234567890";

    StorageTransferServiceClient storageTransfer = StorageTransferServiceClient.create();

    // Get transfer job and check latest operation
    TransferJob transferJob =
        storageTransfer.getTransferJob(
            GetTransferJobRequest.newBuilder().setJobName(jobName).setProjectId(projectId).build());
    String latestOperationName = transferJob.getLatestOperationName();

    if (!latestOperationName.isEmpty()) {
      Operation operation = storageTransfer.getOperationsClient().getOperation(latestOperationName);
      TransferOperation latestOperation =
          TransferOperation.parseFrom(operation.getMetadata().getValue());

      System.out.println("The latest operation for transfer job " + jobName + " is:");
      System.out.println(latestOperation.toString());

    } else {
      System.out.println(
          "Transfer job "
              + jobName
              + " hasn't run yet,"
              + " try again once the job starts running.");
    }
  }
}

Node.js


// Imports the Google Cloud client library
const {
  StorageTransferServiceClient,
} = require('@google-cloud/storage-transfer');

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// The ID of the Google Cloud Platform Project that owns the job
// projectId = 'my-project-id'

// Storage Transfer Service job name
// jobName = 'transferJobs/1234567890'

// Creates a client
const client = new StorageTransferServiceClient();

/**
 * Checks the latest transfer operation for a given transfer job.
 */
async function checkLatestTransferOperation() {
  const [transferJob] = await client.getTransferJob({projectId, jobName});

  if (transferJob.latestOperationName) {
    const [transferOperation] = await client.operationsClient.getOperation({
      name: transferJob.latestOperationName,
    });

    const operation = JSON.stringify(transferOperation, null, 2);

    console.log(`Latest transfer operation for '${jobName}': ${operation}`);
  } else {
    console.log(`Transfer job '${jobName}' has not ran yet.`);
  }
}

checkLatestTransferOperation();

Python

Procura exemplos mais antigos? Consulte o guia de migração do Serviço de transferência de armazenamento.

from google.cloud import storage_transfer


def check_latest_transfer_operation(project_id: str, job_name: str):
    """Checks the latest transfer operation for a given transfer job."""

    client = storage_transfer.StorageTransferServiceClient()

    # The ID of the Google Cloud Platform Project that owns the job
    # project_id = 'my-project-id'

    # Storage Transfer Service job name
    # job_name = 'transferJobs/1234567890'

    transfer_job = client.get_transfer_job(
        {
            "project_id": project_id,
            "job_name": job_name,
        }
    )

    if transfer_job.latest_operation_name:
        response = client.transport.operations_client.get_operation(
            transfer_job.latest_operation_name
        )
        operation = storage_transfer.TransferOperation.deserialize(
            response.metadata.value
        )

        print(f"Latest transfer operation for `{job_name}`: {operation}")
    else:
        print(f"Transfer job {job_name} has not ran yet.")

Pause uma tarefa de transferência

Pode pausar uma transferência atualmente em curso. Quando pausa a transferência, o estado da tarefa é mantido e pode retomar a transferência mais tarde. Enquanto uma transferência estiver pausada, a programação não aciona a execução da tarefa novamente.

CLI gcloud

Para pausar uma tarefa de transferência, transmita o nome da operação atual da tarefa para gcloud transfer operations pause.

gcloud transfer operations pause OPERATION_NAME

Para retomar uma tarefa de transferência pausada anteriormente, que reinicia a tarefa no mesmo ponto em que estava quando foi pausada, use gcloud transfer operations resume.

gcloud transfer operations resume OPERATION_NAME

Google Cloud consola

Para pausar uma tarefa de transferência, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Storage Transfer Service.

    Aceda ao Serviço de transferência de armazenamento

  2. Clique na descrição da tarefa de transferência. É apresentada a página Detalhes da tarefa.

  3. Clique em Pausar execução. O estado da operação atual é apresentado como Em pausa.

Para retomar uma tarefa de transferência pausada anteriormente, reiniciando a tarefa no mesmo ponto em que estava quando foi pausada, siga estes passos.

  1. Na Google Cloud consola, aceda à página Storage Transfer Service.

    Aceda ao Serviço de transferência de armazenamento

  2. Clique na descrição da tarefa de transferência. É apresentada a página Detalhes da tarefa.

  3. Clique em Retomar execução.

    O estado da operação atual é apresentado como Em curso.

REST

Para pausar uma tarefa de transferência, use o método transferOperations.pause.

Desative uma tarefa de transferência

A desativação de uma tarefa de transferência impede que a tarefa de transferência inicie quaisquer operações agendadas adicionais ou operações iniciadas manualmente a partir da consola. Não impede que uma tarefa seja iniciada manualmente com a API ou com o comando jobs run gcloud.

CLI gcloud

Para desativar uma tarefa de transferência, atualize o estado da tarefa para disabled.

gcloud transfer jobs update JOB_NAME --status=disabled

Para reativar uma tarefa, defina --status=enabled.

Google Cloud consola

Para desativar uma tarefa de transferência, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Storage Transfer Service.

    Aceda ao Serviço de transferência de armazenamento

  2. Clique na descrição da tarefa de transferência. É apresentada a página Detalhes da tarefa.

  3. Clique em Desativar tarefa. É apresentada a caixa de diálogo Desativar tarefa de transferência?.

  4. Leia a caixa de diálogo e, em seguida, confirme a desativação da tarefa clicando em Confirmar.

    É apresentado um aviso na parte superior da página Detalhes do trabalho a lembrar que o trabalho está desativado.

REST

Use o método transferJobs.patch para definir o estado da tarefa de transferência como DISABLED.

Elimine uma tarefa de transferência

Pode eliminar tarefas de transferência de que já não precisa. A eliminação de um trabalho faz o seguinte:

  • Interrompe todas as transferências existentes que fazem parte da tarefa.
  • Interrompe todas as transferências recorrentes que fazem parte da tarefa.
  • Apaga os detalhes de configuração da tarefa.

A eliminação de um trabalho é definitiva. Depois de eliminar a tarefa de transferência, esta é removida da lista de tarefas de transferência. As informações das tarefas de transferência são totalmente eliminadas do Storage Transfer Service após 30 dias.

Em alternativa, pode desativar a tarefa de transferência, o que mantém a tarefa apresentada na página Tarefas e lhe permite reativar ou modificar a tarefa.

CLI gcloud

Para eliminar uma tarefa de transferência, use gcloud transfer jobs delete.

gcloud transfer jobs delete JOB_NAME

Google Cloud consola

Para eliminar uma tarefa de transferência, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Storage Transfer Service.

    Aceda ao Serviço de transferência de armazenamento

  2. Selecione a caixa de verificação junto à tarefa de transferência que quer eliminar.

  3. Clique em Eliminar tarefa.

    É apresentada a caixa de diálogo Eliminar tarefa de transferência?.

  4. Leia a caixa de diálogo e, em seguida, confirme a eliminação da tarefa escrevendo o nome atribuído automaticamente à tarefa no campo e clique em Eliminar.

    O trabalho é removido da página Empregos.

REST

Para eliminar uma tarefa de transferência através da API REST, consulte a referência transferJobs.delete.

Ver detalhes do erro

Se encontrar erros durante uma execução de transferência, pode ver os detalhes do erro para ajudar a resolvê-lo.

Para ver os detalhes do erro de uma execução de tarefa de transferência, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Storage Transfer Service.

    Aceda ao Serviço de transferência de armazenamento

  2. Clique na descrição da tarefa de transferência. É apresentada a página Detalhes da tarefa.

  3. Realize um dos seguintes passos para apresentar os detalhes da tarefa:

    • Execução da tarefa mais recente: clique no botão Ver detalhes do erro ou no link Ver detalhes do erro. É apresentada a página Detalhes do erro.

    • Execução de tarefa histórica:

      1. Clique na Hora de início da execução da tarefa.

        É apresentada a página Detalhes da campanha.

      2. Clique no link Ver detalhes do erro.

        É apresentada a página Detalhes do erro.

  4. Para apresentar detalhes adicionais sobre cada erro apresentado, clique em Expandir mais.

  5. Para filtrar erros, introduza as propriedades a filtrar no campo Introduza o nome ou o valor da propriedade.

    Quando coloca o cursor no campo, é apresentado um menu pendente com opções relevantes para ajudar a criar o filtro.