Untuk memastikan kualitas tinggi dan konsisten dengan library Cloud kami yang lain, dokumentasi untuk Layanan Transfer Penyimpanan kini menggunakan Library Klien Cloud, bukan Library Klien Google API. Lihat Penjelasan library klien untuk mengetahui informasi selengkapnya tentang kedua opsi tersebut.
Library Klien Google API terus menerima update, tetapi tidak lagi direferensikan dalam dokumentasi.
Panduan ini membahas perbedaan utama yang berlaku untuk penggunaan Storage Transfer Service, dan memberikan petunjuk tentang cara mengupdate klien saat bermigrasi ke Library Klien Cloud.
Java
Memperbarui dependensi
Untuk beralih ke library baru, ganti dependensi Anda pada
google-api-services-storagetransfer
dengan google-cloud-storage-transfer
.
<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-storage-transfer</artifactId> <version>0.2.3</version> </dependency>
Jika Anda menggunakan Gradle tanpa BOM, tambahkan kode ini ke dependensi Anda:
implementation 'com.google.cloud:google-cloud-storage-transfer:0.2.3'
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>libraries-bom</artifactId>
<version>24.1.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage-transfer</artifactId>
</dependency>
Sebagian besar kode dapat dikonversi dengan cukup mudah dari Library Klien API ke Library Klien Cloud. Berikut adalah beberapa perbedaan utama antara kedua klien Java
Pembuatan instance klien
Library Klien Cloud mengurangi banyak boilerplate yang terkait dengan pembuatan instance klien dengan menanganinya di balik layar.
Library Klien API
GoogleCredentials credential = GoogleCredentials.getApplicationDefault();
if (credential.createScopedRequired()) {
credential = credential.createScoped(StoragetransferScopes.all());
}
Storagetransfer storageTransfer = new Storagetransfer.Builder(Utils.getDefaultTransport(),
Utils.getDefaultJsonFactory(), new HttpCredentialsAdapter(credential))
.build();
Library Klien Cloud
StorageTransferServiceClient storageTransfer = StorageTransferServiceClient.create();
Builder untuk class model
Class model di Library Klien Cloud menggunakan builder, bukan konstruktor.
Library Klien API
TransferJob transferJob =
new TransferJob()
.setStatus("ENABLED");
Library Klien Cloud
TransferJob transferJob =
TransferJob.newBuilder()
.setStatus(Status.ENABLED)
.build();
Operasi daftar menampilkan iterabel
Operasi daftar di Library Klien Cloud menampilkan iterasi sederhana, bukan hasil yang di-pagination di Library Klien API.
Library Klien API
public class StoragetransferExample {
public static void main(String args[]) throws IOException, GeneralSecurityException {
Storagetransfer storagetransferService = createStoragetransferService();
Storagetransfer.TransferJobs.List request = storagetransferService.transferJobs().list();
ListTransferJobsResponse response;
do {
response = request.execute();
if (response.getTransferJobs() == null) {
continue;
}
for (TransferJob transferJob : response.getTransferJobs()) {
System.out.println(transferJob);
}
request.setPageToken(response.getNextPageToken());
} while (response.getNextPageToken() != null);
}
public static Storagetransfer createStoragetransferService()
throws IOException, GeneralSecurityException {
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
GoogleCredential credential = GoogleCredential.getApplicationDefault();
}
return new Storagetransfer.Builder(httpTransport, jsonFactory, credential)
.build();
}
}
Library Klien Cloud
public class StoragetransferExample {
public static void main(String args[]) throws Exception {
StorageTransferServiceClient storageTransfer = StorageTransferServiceClient.create();
ListTransferJobsRequest request = ListTransferJobsRequest.newBuilder().build();
for (TransferJob job : client.listTransferJobs(request).iterateAll()) {
System.out.println(job);
}
}
}
Contoh perbandingan
Di sini, kami menyertakan contoh Library Klien API lama, dibandingkan dengan contoh yang setara menggunakan Library Klien Cloud. Jika sebelumnya Anda menggunakan contoh ini, Anda dapat menggunakan perbandingan ini untuk memahami cara memindahkan kode ke Library Klien Cloud yang baru.
Mentransfer dari Amazon S3
Library Klien API
Library Klien Cloud
Mentransfer ke nearline
Library Klien API
Library Klien Cloud
Memeriksa operasi transfer terbaru
Library Klien API
Library Klien Cloud
Python
Memperbarui dependensi
Untuk menggunakan library baru, tambahkan dependensi pada google-cloud-storage-transfer
.
Ini akan digunakan sebagai ganti klien penemuan dari
google-api-python-client
.
pip install --upgrade google-cloud-storage-transfer
Pembuatan instance klien
Gunakan modul storage_transfer
, bukan googleapiclient.discovery
.
Library Klien API
Library Klien Cloud
Contoh perbandingan
Untuk mengilustrasikan perbedaan antara kedua library, berikut adalah Contoh Klien API lama yang berdampingan dengan yang setara di Library Klien Cloud.
Mentransfer dari Amazon S3
Library Klien API
Library Klien Cloud
Mentransfer ke nearline
Library Klien API
Library Klien Cloud
Perhatikan impor google.protobuf.duration_pb2.Duration
.
Memeriksa operasi transfer terbaru
Library Klien API
Library Klien Cloud
Perhatikan penggunaan storage_transfer.TransferOperation.deserialize