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, serta 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 tindakan 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 Konfigurasi. Konfigurasi tugas transfer akan ditampilkan.

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

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

REST

Untuk mengedit konfigurasi transfer, gunakan metode transferJobs.patch.

Menjalankan tugas transfer dari konfigurasi yang ada

Anda dapat menjalankan tugas transfer yang ada. Hal ini memungkinkan Anda memulai tugas yang tidak memiliki jadwal, atau memulai tugas di luar jadwalnya.

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 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. Untuk memulai tugas transfer, klik Mulai operasi.

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 dihitung.

Cloud Monitoring

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

Melihat 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 mencantumkan 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, dipisahkan koma, sebagai nilai --job-names. Hapus --job-names untuk melihat operasi untuk semua tugas.

Konsol Google Cloud

Anda dapat melihat detail tugas berikut dari konsol Google Cloud:

  • Deskripsi dan nama pekerjaan
  • Jenis dan lokasi sumber
  • 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 Waktu mulai untuk operasi tugas. Informasi tugas berikut tersedia:

  • 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 yang lebih 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 yang lebih 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 melanjutkannya nanti. Saat transfer dijeda, jadwal tidak akan memicu tugas untuk dijalankan 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 akan memulai ulang tugas di tempat yang sama seperti saat dijeda, gunakan gcloud transfer operations resume.

gcloud transfer operations resume OPERATION_NAME

Konsol Google Cloud

Untuk menjeda tugas transfer, lakukan tindakan 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, mulai ulang tugas di tempat yang sama seperti saat 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 Lanjutkan operasi.

    Status untuk operasi saat ini ditampilkan sebagai Sedang berlangsung.

REST

Untuk menjeda tugas transfer, gunakan metode transferOperations.pause.

Menonaktifkan tugas transfer

Menonaktifkan tugas transfer akan mencegah tugas transfer 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, tetapkan --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 Disable transfer job? akan ditampilkan.

  4. Baca dialog, lalu konfirmasi penonaktifan tugas dengan mengklik Konfirmasi.

    Pemberitahuan di bagian atas halaman Detail tugas akan ditampilkan, yang mengingatkan Anda bahwa tugas telah 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 akan dihapus sepenuhnya dari Storage Transfer Service setelah 30 hari.

Atau, Anda dapat menonaktifkan tugas transfer, yang akan membuat tugas tetap 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-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 tugas.

    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 Hapus.

    Tugas akan dihapus dari halaman Tugas.

REST

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

Lihat detail kesalahan

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

Untuk melihat detail error untuk tugas transfer yang dijalankan, 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. Lakukan salah satu tindakan berikut untuk menampilkan detail tugas:

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

    • Jalankan tugas historis:

      1. Klik Waktu mulai untuk menjalankan tugas.

        Halaman Run details akan ditampilkan.

      2. Klik link Lihat detail error.

        Halaman Error details akan ditampilkan.

  4. Untuk menampilkan detail tambahan tentang setiap error yang ditampilkan, klik Luaskan lebih lanjut.

  5. Untuk memfilter error, masukkan properti yang akan difilter di kolom Masukkan nama atau nilai properti.

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