Mengelola transfer

Halaman ini menunjukkan cara mengelola tugas dan operasi transfer yang ada.

Untuk membuat tugas transfer baru, lihat Membuat transfer.

Mengedit konfigurasi transfer

Anda dapat mengedit properti transfer yang ada berikut:

  • Deskripsi tugas transfer
  • Kredensial sumber Microsoft Azure Blob Storage atau Amazon S3
  • Filter apa pun yang diterapkan ke tugas transfer
  • Opsi untuk menimpa atau menghapus file
  • Jadwal tugas transfer

gcloud CLI

Untuk mengedit konfigurasi transfer yang ada, gunakan perintah gcloud transfer jobs update.

gcloud transfer jobs update \
  JOB_NAME \
  [options]

Dengan keterangan:

  • JOB_NAME adalah nama unik tugas yang akan diperbarui.

  • Opsi yang dapat diperbarui dicantumkan dengan menjalankan gcloud transfer jobs update --help.

Misalnya, untuk memperbarui sumber dan tujuan tugas, dan untuk menghapus deskripsinya, jalankan perintah berikut:

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

Konsol Google Cloud

Untuk mengedit tugas transfer, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman Storage Transfer Service.

    Buka Storage Transfer Service

  2. Klik deskripsi tugas transfer. Halaman Detail tugas akan ditampilkan.

  3. Klik Configuration. Konfigurasi tugas transfer ditampilkan.

  4. Untuk mengubah item, klik Edit di samping item tersebut.

  5. Untuk memulai tugas dengan hasil edit, klik Mulai lari.

REST

Untuk mengedit konfigurasi transfer, gunakan metode transferJobs.patch.

Menjalankan tugas transfer dari konfigurasi yang ada

Anda dapat menjalankan tugas transfer yang sudah ada. Cara ini memungkinkan Anda memulai pekerjaan yang tidak memiliki jadwal, atau memulai pekerjaan di luar jadwal.

gcloud CLI

Untuk menjalankan transfer dari konfigurasi yang ada, gunakan gcloud transfer jobs run:

gcloud transfer jobs run JOB_NAME

Flag --no-async opsional dapat ditentukan untuk memblokir tugas lain di terminal Anda hingga operasi transfer selesai.

Konsol Google Cloud

Untuk menjalankan transfer dari konfigurasi yang ada, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman Storage Transfer Service.

    Buka Storage Transfer Service

  2. Klik deskripsi tugas transfer. Halaman Detail tugas akan ditampilkan.

  3. Untuk memulai tugas transfer, klik Mulai run.

REST

Untuk menjalankan tugas transfer, gunakan metode transferJobs.run.

Memantau tugas transfer

gcloud CLI

Untuk memantau progres tugas secara real time, gunakan gcloud transfer jobs monitor.

gcloud transfer jobs monitor JOB_NAME

Respons menunjukkan operasi saat ini, waktu mulai tugas, dan jumlah data yang ditransfer. Byte yang dilewati dan error juga akan dihitung.

Cloud Monitoring

Lihat Memantau tugas transfer untuk mengetahui detail tentang cara menggunakan Cloud Monitoring dengan Storage Transfer Service.

Lihat detail tugas transfer

gcloud CLI

Untuk melihat detail tugas transfer, gunakan gcloud transfer jobs describe:

gcloud transfer jobs describe JOB_NAME

Untuk melihat operasi terbaru tugas ini, teruskan nilai latestOperationName ke perintah operations describe:

gcloud transfer operations describe OPERATION_NAME

Untuk menampilkan daftar semua operasi transfer tugas, gunakan perintah gcloud transfer operations list:

gcloud transfer operations list --job-names=JOB_NAME

Anda dapat melihat operasi untuk beberapa tugas dengan mencantumkannya, yang dipisahkan koma, sebagai nilai --job-names. Hapus --job-names untuk melihat operasi pada semua tugas.

Konsol Google Cloud

Anda dapat melihat detail tugas berikut dari konsol Google Cloud:

  • Deskripsi dan nama pekerjaan
  • Jenis sumber dan lokasi
  • Lokasi tujuan
  • Frekuensi tugas
  • Statistik tugas

Untuk melihat detail tugas transfer, lakukan langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Storage Transfer Service.

    Buka Storage Transfer Service

  2. Klik deskripsi tugas transfer. Halaman Detail tugas akan ditampilkan.

Untuk menampilkan detail operasi tertentu, klik Start time untuk tugas run tersebut. Tersedia informasi pekerjaan berikut:

  • Status transfer
  • Waktu mulai dan berhenti
  • Durasi
  • Progres
  • Data yang ditransfer
  • Jumlah error
  • Data yang dilewati
  • Perkiraan kecepatan rata-rata

REST

Untuk melihat detail tugas transfer, gunakan metode transferJobs.get untuk menampilkan informasi tentang tugas transfer tertentu seperti ID operasinya.

Library klien

Resource TransferJob ditampilkan saat Anda menggunakan transferJobs.create.

Anda dapat memeriksa status transfer setelah membuat tugas menggunakan transferJobs.get. Jika operasi tugas transfer telah dimulai, tindakan ini akan menampilkan TransferJob yang berisi kolom latestOperationName yang terisi. Jika tidak, jika operasi tugas transfer belum dimulai, kolom latestOperationName akan kosong.

Untuk memeriksa status tugas transfer

REST

Minta menggunakan 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

Mencari sampel lama? Lihat Panduan Migrasi 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

Mencari sampel lama? Lihat Panduan Migrasi 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.")

Menjeda tugas transfer

Anda dapat menjeda transfer yang sedang berlangsung. Saat Anda menjeda transfer, status tugas akan dipertahankan, dan Anda dapat membatalkan jedanya nanti. Saat transfer dijeda, jadwal tidak akan memicu tugas untuk berjalan lagi.

gcloud CLI

Untuk menjeda tugas transfer, teruskan nama operasi tugas saat ini ke gcloud transfer operations pause.

gcloud transfer operations pause OPERATION_NAME

Untuk melanjutkan tugas transfer yang sebelumnya dijeda, yang memulai ulang tugas di tempat yang sama saat tugas dijeda, gunakan gcloud transfer operations resume.

gcloud transfer operations resume OPERATION_NAME

Konsol Google Cloud

Untuk menjeda tugas transfer, lakukan langkah berikut:

  1. Di konsol Google Cloud, buka halaman Storage Transfer Service.

    Buka Storage Transfer Service

  2. Klik deskripsi tugas transfer. Halaman Detail tugas akan ditampilkan.

  3. Klik Pause run. Status untuk operasi saat ini ditampilkan sebagai Dijeda.

Untuk melanjutkan tugas transfer yang sebelumnya dijeda, memulai ulang tugas di tempat yang sama saat tugas dijeda, ikuti langkah-langkah berikut.

  1. Di konsol Google Cloud, buka halaman Storage Transfer Service.

    Buka Storage Transfer Service

  2. Klik deskripsi tugas transfer. Halaman Detail tugas akan ditampilkan.

  3. Klik Resume run.

    Status untuk operasi saat ini akan ditampilkan sebagai Dalam proses.

REST

Untuk menjeda tugas transfer, gunakan metode transferOperations.pause.

Menonaktifkan tugas transfer

Jika tugas transfer dinonaktifkan, tugas transfer tidak akan memulai operasi terjadwal lebih lanjut, atau operasi yang dimulai secara manual dari konsol. Hal ini tidak mencegah tugas dimulai secara manual dengan API atau dengan perintah gcloud jobs run.

gcloud CLI

Untuk menonaktifkan tugas transfer, perbarui status tugas menjadi disabled.

gcloud transfer jobs update JOB_NAME --status=disabled

Untuk mengaktifkan kembali tugas, setel --status=enabled.

Konsol Google Cloud

Untuk menonaktifkan tugas transfer, lakukan langkah berikut:

  1. Di konsol Google Cloud, buka halaman Storage Transfer Service.

    Buka Storage Transfer Service

  2. Klik deskripsi tugas transfer. Halaman Detail tugas akan ditampilkan.

  3. Klik Nonaktifkan tugas. Dialog Nonaktifkan tugas transfer? akan ditampilkan.

  4. Baca dialognya, lalu konfirmasi penonaktifan tugas dengan mengklik Confirm.

    Pemberitahuan di bagian atas halaman Detail tugas akan ditampilkan, yang mengingatkan Anda bahwa tugas dinonaktifkan.

REST

Gunakan metode transferJobs.patch untuk menetapkan status tugas transfer ke DISABLED.

Menghapus tugas transfer

Anda dapat menghapus tugas transfer yang tidak lagi diperlukan. Menghapus tugas akan melakukan hal berikut:

  • Menghentikan transfer yang ada yang merupakan bagian dari tugas.
  • Menghentikan transfer berulang yang merupakan bagian dari tugas.
  • Menghapus detail konfigurasi tugas.

Penghapusan tugas bersifat permanen. Setelah Anda menghapus tugas transfer, tugas tersebut akan dihapus dari daftar tugas transfer. Informasi tugas transfer sepenuhnya dihapus dari Storage Transfer Service setelah 30 hari.

Atau, Anda dapat menonaktifkan tugas transfer, yang akan mempertahankan tugas tersebut tercantum di halaman Tugas dan memungkinkan Anda mengaktifkan kembali atau mengubah tugas.

gcloud CLI

Untuk menghapus tugas transfer, gunakan gcloud transfer jobs delete.

gcloud transfer jobs delete JOB_NAME

Konsol Google Cloud

Untuk menghapus tugas transfer, lakukan langkah berikut:

  1. Di konsol Google Cloud, buka halaman Storage Transfer Service.

    Buka Storage Transfer Service

  2. Centang kotak di samping tugas transfer yang ingin Anda hapus.

  3. Klik Hapus lowongan.

    Dialog Hapus tugas transfer? akan ditampilkan.

  4. Baca dialog, lalu konfirmasi penghapusan tugas dengan mengetik nama tugas yang ditetapkan secara otomatis di kolom, lalu klik Delete.

    Tugas akan dihapus dari halaman Tugas.

REST

Untuk menghapus tugas transfer menggunakan REST API, baca referensi transferJobs.delete.

Lihat detail error

Jika mengalami error selama proses transfer, Anda dapat melihat detail error untuk membantu memecahkan masalah error tersebut.

Untuk melihat detail error saat tugas transfer dijalankan, lakukan langkah berikut:

  1. Di konsol Google Cloud, buka halaman Storage Transfer Service.

    Buka Storage Transfer Service

  2. Klik deskripsi tugas transfer. Halaman Detail tugas akan ditampilkan.

  3. Lakukan salah satu hal berikut untuk menampilkan detail pekerjaan:

    • Tugas terbaru yang dijalankan: Klik tombol Lihat detail error atau link Lihat detail error. Halaman Detail error akan ditampilkan.

    • Tugas historis yang dijalankan:

      1. Klik Start time untuk menjalankan tugas.

        Halaman Run details akan ditampilkan.

      2. Klik link Lihat detail error.

        Halaman Detail error akan ditampilkan.

  4. Untuk menampilkan detail tambahan tentang setiap error yang ditampilkan, klik Expand more.

  5. Untuk memfilter error, masukkan properti untuk memfilter di kolom Masukkan nama atau nilai properti.

    Saat Anda menempatkan kursor di kolom tersebut, menu drop-down dengan opsi yang relevan akan ditampilkan untuk membantu Anda membuat filter.