Gestisci trasferimenti

Questa pagina mostra come gestire le operazioni e i job di trasferimento esistenti.

Per creare un nuovo job di trasferimento, consulta Creare trasferimenti.

Modificare una configurazione di trasferimento

Puoi modificare le seguenti proprietà di un trasferimento esistente:

  • Descrizione del job di trasferimento
  • Credenziali di origine di Microsoft Azure Blob Storage o Amazon S3
  • Eventuali filtri applicati al job di trasferimento
  • Opzioni per sovrascrivere o eliminare i file
  • Pianificazione del job di trasferimento

Interfaccia a riga di comando gcloud

Per modificare una configurazione di trasferimento esistente, utilizza Comando gcloud transfer jobs update.

gcloud transfer jobs update \
  JOB_NAME \
  [options]

Dove:

  • JOB_NAME è il nome univoco del job da aggiornare.

  • Le opzioni aggiornabili sono elencate eseguendo gcloud transfer jobs update --help.

Ad esempio, per aggiornare l'origine e la destinazione di un job e rimuovere le relative descrizione, esegui questo comando:

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

Console Google Cloud

Per modificare un job di trasferimento:

  1. Nella console Google Cloud, vai alla pagina Storage Transfer Service.

    Vai a Storage Transfer Service

  2. Fai clic sulla descrizione del job di trasferimento. Viene visualizzata la pagina Dettagli job.

  3. Fai clic su Configurazione. Viene visualizzata la configurazione del job di trasferimento.

  4. Per modificare un articolo, fai clic su Modifica accanto all'elemento.

  5. Per avviare un job con le modifiche, fai clic su Avvia un'esecuzione.

REST

Per modificare una configurazione di trasferimento, utilizza transferJobs.patch.

Eseguire un job di trasferimento da una configurazione esistente

Puoi eseguire un job di trasferimento esistente. In questo modo puoi avviare job senza pianificazione o per avviare un job al di fuori della sua pianificazione.

Interfaccia a riga di comando gcloud

Per eseguire un trasferimento da una configurazione esistente, utilizza gcloud transfer jobs run:

gcloud transfer jobs run JOB_NAME

È possibile specificare il flag facoltativo --no-async per bloccare altre attività in terminale fino al completamento dell'operazione di trasferimento.

Console Google Cloud

Per eseguire un trasferimento da una configurazione esistente:

  1. Nella console Google Cloud, vai alla pagina Storage Transfer Service.

    Vai a Storage Transfer Service

  2. Fai clic sulla descrizione del job di trasferimento. Viene visualizzata la pagina Dettagli job.

  3. Per avviare un job di trasferimento, fai clic su Avvia un'esecuzione.

REST

Per eseguire un job di trasferimento, utilizza transferJobs.run .

Monitora un job di trasferimento

Interfaccia a riga di comando gcloud

Per monitorare l'avanzamento di un job in tempo reale, utilizza gcloud transfer jobs monitor.

gcloud transfer jobs monitor JOB_NAME

La risposta mostra l'operazione corrente, l'ora di inizio del job e la quantità dei dati trasferiti. Vengono conteggiati anche i byte ignorati e gli errori.

Cloud Monitoring

Vedi Monitorare i job di trasferimento. per maggiori dettagli sull'uso di Cloud Monitoring con Storage Transfer Service.

Visualizza i dettagli del job di trasferimento

Interfaccia a riga di comando gcloud

Per visualizzare i dettagli del job di trasferimento, utilizza gcloud transfer jobs describe:

gcloud transfer jobs describe JOB_NAME

Per visualizzare l'operazione più recente di questo job, passa il valore latestOperationName al comando operations describe:

gcloud transfer operations describe OPERATION_NAME

Per elencare tutte le operazioni di trasferimento di un job, utilizza la classe Comando gcloud transfer operations list:

gcloud transfer operations list --job-names=JOB_NAME

Puoi visualizzare le operazioni per più job elencandole, separate da virgole, come il valore di --job-names. Ometti --job-names per visualizzare le operazioni per tutti i job.

Console Google Cloud

Puoi visualizzare i seguenti dettagli del job dalla console Google Cloud:

  • La descrizione e il nome del lavoro
  • Il tipo di origine e la località
  • La località di destinazione
  • Frequenza job
  • Statistiche job

Per visualizzare i dettagli del job di trasferimento:

  1. Nella console Google Cloud, vai alla pagina Storage Transfer Service.

    Vai a Storage Transfer Service

  2. Fai clic sulla descrizione del job di trasferimento. Viene visualizzata la pagina Dettagli job.

Per visualizzare i dettagli di una determinata esecuzione, fai clic su Ora di inizio per dell'esecuzione del job. Sono disponibili le seguenti informazioni sul lavoro:

  • Stato del trasferimento
  • Ora di inizio e di fine
  • Durata
  • Avanzamento
  • Dati trasferiti
  • Numero di errori
  • Dati ignorati
  • Velocità media stimata

REST

Per visualizzare i dettagli di un job di trasferimento, utilizza la Metodo transferJobs.get da restituire e informazioni su uno specifico job di trasferimento, come l'ID operazione.

Librerie client

Una risorsa TransferJob è restituito quando utilizzi transferJobs.create.

Puoi controllare lo stato del trasferimento dopo aver creato il job utilizzando transferJobs.get Se il job di trasferimento l'operazione è iniziata, restituisce un TransferJob contenente un compilato latestOperationName . In caso contrario, se l'operazione del job di trasferimento non è stata avviata, Il campo latestOperationName è vuoto.

Per controllare lo stato di un job di trasferimento

REST

Richiesta utilizzando transferJobs get:
GET https://storagetransfer.googleapis.com/v1/{jobName="name"}

Vai

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

Cerchi campioni precedenti? Consulta le Guida alla migrazione di Storage Transfer Service.


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

Cerchi campioni precedenti? Consulta le Guida alla migrazione di Storage Transfer Service.

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.")

Metti in pausa un job di trasferimento

Puoi mettere in pausa un trasferimento attualmente in corso. Quando metti in pausa il trasferimento, lo stato del job viene mantenuto e puoi riattivarlo in un secondo momento. Mentre il trasferimento è in pausa, la pianificazione non attiverà di nuovo il job.

Interfaccia a riga di comando gcloud

Per mettere in pausa un job di trasferimento, passa il nome dell'operazione attuale del job a gcloud transfer operations pause.

gcloud transfer operations pause OPERATION_NAME

Per riprendere un job di trasferimento precedentemente messo in pausa, che riavvia il job nella lo stesso punto in cui era in pausa, gcloud transfer operations resume.

gcloud transfer operations resume OPERATION_NAME

Console Google Cloud

Per mettere in pausa un job di trasferimento:

  1. Nella console Google Cloud, vai alla pagina Storage Transfer Service.

    Vai a Storage Transfer Service

  2. Fai clic sulla descrizione del job di trasferimento. Viene visualizzata la pagina Dettagli job.

  3. Fai clic su Metti in pausa esecuzione. Lo stato dell'operazione corrente viene visualizzato come In pausa.

Per riprendere un job di trasferimento precedentemente messo in pausa, riavviandolo nella nello stesso punto in cui si trovava quando era in pausa, procedi nel seguente modo.

  1. Nella console Google Cloud, vai alla pagina Storage Transfer Service.

    Vai a Storage Transfer Service

  2. Fai clic sulla descrizione del job di trasferimento. Viene visualizzata la pagina Dettagli job.

  3. Fai clic su Riprendi esecuzione.

    Lo stato dell'operazione corrente viene visualizzato come In corso.

REST

Per mettere in pausa un job di trasferimento, utilizza la transferOperations.pause .

Disattiva un job di trasferimento

La disattivazione di un job di trasferimento impedisce che il job di trasferimento venga avviato ulteriormente operazioni pianificate o operazioni avviate manualmente dalla console. Non non impedire l'avvio manuale di un job con l'API o con Comando gcloud jobs run.

Interfaccia a riga di comando gcloud

Per disattivare un job di trasferimento, aggiorna lo stato del job in disabled.

gcloud transfer jobs update JOB_NAME --status=disabled

Per riattivare un job, imposta --status=enabled.

Console Google Cloud

Per disattivare un job di trasferimento, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Storage Transfer Service.

    Vai a Storage Transfer Service

  2. Fai clic sulla descrizione del job di trasferimento. Viene visualizzata la pagina Dettagli job.

  3. Fai clic su Disabilita job. Viene visualizzata la finestra di dialogo Disattivare il job di trasferimento?.

  4. Leggi la finestra di dialogo, quindi conferma la disattivazione del job facendo clic su Conferma.

    Nella parte superiore della pagina Dettagli job viene visualizzata una notifica che ti ricorda che il job viene disattivato.

REST

Utilizza la transferJobs.patch per impostare lo stato del job di trasferimento a DISABLED.

Elimina un job di trasferimento

Puoi eliminare i job di trasferimento che non ti servono più. L'eliminazione di un job comporta seguenti:

  • Arresta tutti i trasferimenti esistenti che fanno parte del job.
  • Arresta tutti i trasferimenti ricorrenti che fanno parte del job.
  • Cancella i dettagli di configurazione del job.

L'eliminazione di un job è definitiva. Una volta eliminato, il job di trasferimento viene rimosso. dall'elenco dei job di trasferimento. Le informazioni sul job di trasferimento sono state completamente eliminate da Storage Transfer Service dopo 30 giorni.

In alternativa, puoi disattivare il job di trasferimento, che mantiene il job elencato nella pagina Job e ti consente di riattivarlo modificare il job.

Interfaccia a riga di comando gcloud

Per eliminare un job di trasferimento, utilizza gcloud transfer jobs delete.

gcloud transfer jobs delete JOB_NAME

Console Google Cloud

Per eliminare un job di trasferimento:

  1. Nella console Google Cloud, vai alla pagina Storage Transfer Service.

    Vai a Storage Transfer Service

  2. Seleziona la casella di controllo accanto al job di trasferimento che vuoi eliminare.

  3. Fai clic su Elimina job.

    Viene visualizzata la finestra di dialogo Vuoi eliminare il job di trasferimento?.

  4. Leggi la finestra di dialogo, poi conferma l'eliminazione digitando il nome del job assegnato automaticamente nel campo e fai clic su Elimina.

    Il job viene rimosso dalla pagina Job.

REST

Per eliminare un job di trasferimento utilizzando l'API REST, consulta transferJobs.delete riferimento.

Visualizza dettagli errore

Se riscontri errori durante l'esecuzione di un trasferimento, puoi visualizzare i dettagli dell'errore per per aiutarti a risolvere l'errore.

Per visualizzare i dettagli dell'errore per l'esecuzione di un job di trasferimento, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Storage Transfer Service.

    Vai a Storage Transfer Service

  2. Fai clic sulla descrizione del job di trasferimento. Viene visualizzata la pagina Dettagli job.

  3. Per visualizzare i dettagli del job, esegui una delle seguenti operazioni:

    • Esecuzione del job più recente:fai clic sul pulsante Visualizza dettagli errore. o il link Visualizza dettagli errore. La pagina Dettagli errore è visualizzati.

    • Esecuzione storica del job:

      1. Fai clic su Ora di inizio dell'esecuzione del job.

        Viene visualizzata la pagina Dettagli esecuzione.

      2. Fai clic sul link Visualizza dettagli errore.

        Viene visualizzata la pagina Dettagli errore.

  4. Per visualizzare ulteriori dettagli su ciascun errore visualizzato, fai clic su Espandi altro.

  5. Per filtrare gli errori, inserisci le proprietà da filtrare nella Inserisci il nome o il valore della proprietà.

    Quando posizioni il cursore nel campo, viene visualizzato un menu a discesa con informazioni vengono visualizzate per aiutarti a creare il filtro.