Object Storage Service (OSS) di CloudBox memungkinkan Anda memantau dan memproses data lokal. OSS di CloudBox cocok untuk skenario yang memerlukan latensi rendah dan manajemen terpadu dari beberapa cabang. Topik ini menjelaskan operasi dasar OSS di CloudBox, termasuk membuat bucket OSS di CloudBox serta mengunggah dan mengunduh objek ke dan dari bucket tersebut.
Prasyarat
OSS di CloudBox hanya didukung di wilayah Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Shenzhen), Tiongkok (Heyuan), Tiongkok (Beijing), dan Tiongkok (Chengdu).
Sebuah CloudBox telah dibeli. Untuk informasi lebih lanjut, lihat Membeli CloudBox.
Sebuah Virtual Private Cloud (VPC) dan vSwitch telah dibuat di OSS di CloudBox. Untuk informasi lebih lanjut, lihat Membuat VPC dan vSwitch.
Jaringan internal VPC telah disiapkan, dan terowongan tunggal dikonfigurasi untuk menyediakan koneksi aman. Untuk mengajukan fitur ini, silakan hubungi Dukungan Teknis.
Langkah 1: Membuat bucket OSS di CloudBox
Menggunakan Konsol OSS
Masuk ke Konsol OSS.
Di panel navigasi sebelah kiri, pilih Data Service > OSS on CloudBox Buckets.
Di halaman Buckets OSS di CloudBox, klik Create Bucket di pojok kiri atas.
Di panel Create Bucket, tentukan nama bucket OSS di CloudBox, pertahankan pengaturan default untuk parameter lainnya, lalu klik OK.
Nama bucket OSS di CloudBox harus memenuhi persyaratan berikut:
Nama yang ditentukan untuk bucket OSS di CloudBox tidak boleh sama dengan nama bucket OSS di CloudBox yang sudah ada di CloudBox.
- Nama dapat berisi hanya huruf kecil, angka, dan tanda hubung (-).
- Nama harus dimulai dan diakhiri dengan huruf kecil atau angka.
- Nama harus memiliki panjang 3 hingga 63 karakter.
Menggunakan OSS SDK untuk Java
Anda hanya dapat membuat bucket OSS di CloudBox menggunakan OSS SDK untuk Java. Versi OSS SDK untuk Java harus 3.15.0 atau lebih baru.
// Komentar dalam kode tetap dalam bahasa Inggris karena merupakan bagian dari sintaks teknis.Menggunakan ossutil
Anda dapat menggunakan ossutil untuk membuat bucket OSS di CloudBox. Untuk informasi lebih lanjut, lihat put-bucket.
Menggunakan API OSS
Jika bisnis Anda memerlukan tingkat penyesuaian yang tinggi, Anda dapat langsung memanggil API RESTful. Untuk memanggil API RESTful secara langsung, Anda harus menyertakan perhitungan tanda tangan dalam kode Anda. Untuk informasi lebih lanjut, lihat PutBucket.
Langkah 2: Mengunggah objek
Menggunakan OSS SDK untuk Java
Anda hanya dapat menggunakan OSS SDK untuk Java untuk mengunggah file lokal ke bucket OSS di CloudBox. Versi OSS SDK untuk Java harus 3.15.0 atau lebih baru. Contoh kode berikut menunjukkan cara menggunakan OSS SDK untuk Java untuk mengunggah file lokal ke bucket OSS di CloudBox:
import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.PutObjectRequest;
import java.io.File;
import com.aliyun.oss.common.auth.DefaultCredentialProvider;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.ClientBuilderConfiguration;
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
public class Demo {
public static void main(String[] args) throws Exception {
// Tentukan titik akhir data bucket OSS pada CloudBox.
String endpoint = "https://cb-f8z7yvzgwfkl9q0h****.cn-hangzhou.oss-cloudbox.aliyuncs.com";
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// Tentukan nama bucket OSS pada CloudBox. Contoh: examplebucket.
String bucketName = "examplebucket";
// Tentukan wilayah tempat bucket OSS pada CloudBox berada.
String region = "cn-hangzhou";
// Tentukan ID kotak awan.
String cloudBoxId = "cb-f8z7yvzgwfkl9q0h****";
// Tentukan jalur lengkap objek. Jangan sertakan nama bucket dalam jalur lengkap. Contoh: exampledir/exampleobject.txt.
String objectName = "exampledir/exampleobject.txt";
// Tentukan jalur lengkap file lokal yang ingin Anda unggah. Contoh: D:\\localpath\\examplefile.txt.
// Jika jalur file lokal tidak ditentukan, file lokal akan diunggah dari jalur proyek tempat program contoh ini berada.
String filePath= "D:\\localpath\\examplefile.txt";
// Buat instance OSSClient.
// Panggil metode shutdown untuk melepaskan sumber daya ketika OSSClient tidak lagi digunakan.
ClientBuilderConfiguration conf = new ClientBuilderConfiguration();
conf.setSignatureVersion(SignVersion.V4);
OSS ossClient = OSSClientBuilder.create()
.endpoint(endpoint)
.credentialsProvider(new DefaultCredentialProvider(credentialsProvider.getCredentials()))
.clientConfiguration(conf)
.region(region)
.cloudBoxId(cloudBoxId)
.build();
try {
// Buat objek PutObjectRequest.
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, new File(filePath));
// Kode contoh berikut memberikan contoh cara menentukan kelas penyimpanan dan daftar kontrol akses (ACL) objek saat Anda mengunggah objek:
// ObjectMetadata metadata = new ObjectMetadata();
// metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString());
// metadata.setObjectAcl(CannedAccessControlList.Private);
// putObjectRequest.setMetadata(metadata);
// Unggah file lokal.
ossClient.putObject(putObjectRequest);
} catch (OSSException oe) {
System.out.println("Tangkap OSSException, yang berarti permintaan Anda sampai ke OSS, "
+ "tetapi ditolak dengan respons kesalahan karena alasan tertentu.");
System.out.println("Pesan Kesalahan:" + oe.getErrorMessage());
System.out.println("Kode Kesalahan:" + oe.getErrorCode());
System.out.println("ID Permintaan:" + oe.getRequestId());
System.out.println("ID Host:" + oe.getHostId());
} catch (ClientException ce) {
System.out.println("Tangkap ClientException, yang berarti klien mengalami "
+ "masalah internal serius saat mencoba berkomunikasi dengan OSS, "
+ "seperti tidak dapat mengakses jaringan.");
System.out.println("Pesan Kesalahan:" + ce.getMessage());
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
}
}Menggunakan ossutil
Anda dapat menggunakan ossutil untuk mengunggah objek ke bucket OSS di CloudBox dengan menggunakan unggahan sederhana. Untuk informasi lebih lanjut, lihat cp.
Menggunakan API OSS
Jika bisnis Anda memerlukan tingkat penyesuaian yang tinggi, Anda dapat langsung memanggil API RESTful. Untuk memanggil API secara langsung, Anda harus menyertakan perhitungan tanda tangan dalam kode Anda. Untuk informasi lebih lanjut, lihat PutObject.
Langkah 3: Mengunduh objek
Menggunakan OSS SDK untuk Java
Anda dapat mengunduh objek dari bucket OSS di CloudBox hanya dengan menggunakan OSS SDK untuk Java. Versi OSS SDK untuk Java harus 3.15.0 atau lebih baru. Contoh kode berikut menunjukkan cara mengunduh objek menggunakan OSS SDK untuk Java:
// Komentar dalam kode tetap dalam bahasa Inggris karena merupakan bagian dari sintaks teknis.Menggunakan ossutil
Anda dapat menggunakan ossutil untuk mengunggah objek ke bucket OSS di CloudBox dengan metode unggahan sederhana. Untuk informasi lebih lanjut, lihat Download objects.
Menggunakan API OSS
Jika bisnis Anda memerlukan tingkat penyesuaian yang tinggi, Anda dapat langsung memanggil API RESTful. Untuk memanggil API secara langsung, Anda harus menyertakan perhitungan tanda tangan dalam kode Anda. Untuk informasi lebih lanjut, lihat GetObject.