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.

Modifica una configurazione di trasferimento

Puoi modificare le seguenti proprietà di un trasferimento esistente:

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

Interfaccia a riga di comando gcloud

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

gcloud transfer jobs update \
  JOB_NAME \
  [options]

Dove:

  • JOB_NAME è il nome univoco del job da aggiornare.

  • Le opzioni che possono essere aggiornate sono elencate eseguendo gcloud transfer jobs update --help.

Ad esempio, per aggiornare l'origine e la destinazione di un job e per rimuovere la relativa 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 elemento, fai clic su Modifica accanto all'elemento in questione.

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

REST

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

Esecuzione di un job di trasferimento da una configurazione esistente

Puoi eseguire un job di trasferimento esistente. Ciò ti consente di avviare job senza pianificazione o di avviarne uno al di fuori della 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

Il flag facoltativo --no-async può essere specificato per bloccare altre attività nel 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 il metodo transferJobs.run.

Monitorare 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 attuale, l'ora di inizio del job e la quantità di dati trasferiti. Vengono conteggiati anche i byte ignorati e gli errori.

Cloud Monitoring

Per maggiori dettagli sull'utilizzo di Cloud Monitoring con Storage Transfer Service, consulta Monitorare i job di trasferimento.

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 di latestOperationName al comando operations describe:

gcloud transfer operations describe OPERATION_NAME

Per elencare tutte le operazioni di trasferimento di un job, utilizza il comando gcloud transfer operations list:

gcloud transfer operations list --job-names=JOB_NAME

Puoi visualizzare le operazioni per più job elencandoli, separati da virgole, come 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, 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.

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

  • Stato del trasferimento
  • Orari 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 il metodo transferJobs.get per restituire informazioni su un job di trasferimento specifico, come il suo ID operazione.

Librerie client

Una risorsa TransferJob viene restituita quando utilizzi transferJobs.create.

Puoi verificare lo stato del trasferimento dopo aver creato il job utilizzando transferJobs.get. Se l'operazione del job di trasferimento è stata avviata, verrà restituito un valore TransferJob contenente un campo latestOperationName completato. Altrimenti, se l'operazione del job di trasferimento non è iniziata, il campo latestOperationName è vuoto.

Per controllare lo stato di un job di trasferimento

REST

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

Go

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

Stai cercando anteprime meno recenti? Consulta la 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

Stai cercando anteprime meno recenti? Consulta la 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 un trasferimento è in pausa, la pianificazione non attiverà nuovamente il job.

Interfaccia a riga di comando gcloud

Per mettere in pausa un job di trasferimento, passa il nome attuale dell'operazione 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 nello stesso punto in cui era in pausa, utilizza 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, riavviando il job nello stesso punto in cui era in pausa, segui questa procedura.

  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 è visualizzato come In corso.

REST

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

Disattivare un job di trasferimento

La disattivazione di un job di trasferimento impedisce al job di trasferimento di avviare ulteriori operazioni pianificate o operazioni avviate manualmente dalla console. Non impedisce l'avvio manuale di un job con l'API o con il comando gcloud jobs run.

Interfaccia a riga di comando gcloud

Per disattivare un job di trasferimento, aggiorna lo stato del job impostandolo su 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:

  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 Vuoi disabilitare il job di trasferimento?.

  4. Leggi la finestra di dialogo e 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 è disattivato.

REST

Utilizza il metodo transferJobs.patch per impostare lo stato del job di trasferimento su DISABLED.

Elimina un job di trasferimento

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

  • Interrompe tutti i trasferimenti esistenti che fanno parte del job.
  • Interrompe 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 del job di trasferimento vengono 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 o modificarlo.

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, quindi conferma l'eliminazione del job digitando nel campo il nome assegnato automaticamente al job e fai clic su Elimina.

    Il job viene rimosso dalla pagina Job.

REST

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

Visualizza dettagli errore

Se si verificano errori durante l'esecuzione di un trasferimento, puoi visualizzare i dettagli dell'errore per risolverlo.

Per visualizzare i dettagli dell'errore relativi all'esecuzione di 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. Esegui una delle seguenti operazioni per visualizzare i dettagli del job:

    • Esecuzione del job più recente: fai clic sul pulsante Visualizza dettagli errore o Visualizza dettagli errore. Viene visualizzata la pagina Dettagli errore.

    • Esecuzione storica del job:

      1. Fai clic sull'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 ogni errore visualizzato, fai clic su Espandi di più.

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

    Quando posizioni il cursore nel campo, viene visualizzato un menu a discesa con le opzioni pertinenti per creare il filtro.