Anda dapat mengonfigurasi bucket untuk melakukan hosting situs web statis. Setelah konfigurasi selesai, permintaan ke titik akhir website akan menyajikan konten dari bucket tersebut, serta secara otomatis mengarahkan Anda ke halaman utama default dan halaman 404 default yang telah ditentukan.
Catatan penggunaan
Topik ini menggunakan titik akhir publik wilayah China (Hangzhou). Jika Anda mengakses OSS dari layanan Alibaba Cloud lainnya dalam wilayah yang sama dengan OSS, gunakan titik akhir internal. Untuk informasi selengkapnya mengenai wilayah dan titik akhir OSS, lihat Regions and endpoints.
Pada topik ini, instans OSSClient dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Initialization (C# SDK V1).
Untuk menyiapkan hosting situs web statis, Anda harus memiliki izin
oss:PutBucketWebsite. Untuk mengambil konfigurasi hosting situs web statis, Anda harus memiliki izinoss:GetBucketWebsite. Untuk menghapus konfigurasi hosting situs web statis, Anda harus memiliki izinoss:DeleteBucketWebsite. Untuk informasi selengkapnya, lihat Grant custom access policies to a RAM user.
Menyiapkan static website hosting
Kode berikut menunjukkan cara mengonfigurasi static website hosting:
using Aliyun.OSS;
using Aliyun.OSS.Common;
// Ganti yourEndpoint dengan Endpoint wilayah tempat bucket berada. Misalnya, untuk wilayah China (Hangzhou), atur Endpoint menjadi https://oss-cn-hangzhou.aliyuncs.com.
var endpoint = "yourEndpoint";
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Tentukan nama bucket.
var bucketName = "examplebucket";
// Tentukan wilayah tempat bucket berada. Misalnya, untuk wilayah China (Hangzhou), atur wilayah menjadi cn-hangzhou.
const string region = "cn-hangzhou";
// Buat instans ClientConfiguration dan ubah parameter default sesuai kebutuhan.
var conf = new ClientConfiguration();
// Gunakan Signature V4.
conf.SignatureVersion = SignatureVersion.V4;
// Buat instans OssClient.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
// Atur halaman utama default menjadi index.html dan halaman 404 default menjadi error.html untuk static website hosting.
var request = new SetBucketWebsiteRequest(bucketName, "index.html", "error.html");
client.SetBucketWebsite(request);
Console.WriteLine("Set bucket:{0} Website succeeded ", bucketName);
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error message: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
catch (Exception ex)
{
Console.WriteLine("Failed with error message: {0}", ex.Message);
}Menampilkan konfigurasi static website hosting
Kode berikut menunjukkan cara melihat konfigurasi static website hosting:
using Aliyun.OSS;
using Aliyun.OSS.Common;
// Ganti yourEndpoint dengan Endpoint wilayah tempat bucket berada. Misalnya, untuk wilayah China (Hangzhou), atur Endpoint menjadi https://oss-cn-hangzhou.aliyuncs.com.
var endpoint = "yourEndpoint";
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Tentukan nama bucket.
var bucketName = "examplebucket";
// Tentukan wilayah tempat bucket berada. Misalnya, untuk wilayah China (Hangzhou), atur wilayah menjadi cn-hangzhou.
const string region = "cn-hangzhou";
// Buat instans ClientConfiguration dan ubah parameter default sesuai kebutuhan.
var conf = new ClientConfiguration();
// Gunakan Signature V4.
conf.SignatureVersion = SignatureVersion.V4;
// Buat instans OssClient.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
// Tampilkan konfigurasi static website hosting.
var result = client.GetBucketWebsite(bucketName);
Console.WriteLine("Get bucket:{0} Website succeeded, index doc:{1}, error doc:{2}",
bucketName, result.IndexDocument, result.ErrorDocument);
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error message: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
catch (Exception ex)
{
Console.WriteLine("Failed with error message: {0}", ex.Message);
}Menghapus konfigurasi static website hosting
Kode berikut menunjukkan cara menghapus konfigurasi static website hosting:
using Aliyun.OSS;
using Aliyun.OSS.Common;
// Ganti yourEndpoint dengan Endpoint wilayah tempat bucket berada. Misalnya, untuk wilayah China (Hangzhou), atur Endpoint menjadi https://oss-cn-hangzhou.aliyuncs.com.
var endpoint = "yourEndpoint";
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Tentukan nama bucket.
var bucketName = "examplebucket";
// Tentukan wilayah tempat bucket berada. Misalnya, untuk wilayah China (Hangzhou), atur wilayah menjadi cn-hangzhou.
const string region = "cn-hangzhou";
// Buat instans ClientConfiguration dan ubah parameter default sesuai kebutuhan.
var conf = new ClientConfiguration();
// Gunakan Signature V4.
conf.SignatureVersion = SignatureVersion.V4;
// Buat instans OssClient.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
// Hapus konfigurasi static website hosting.
client.DeleteBucketWebsite(bucketName);
Console.WriteLine("Delete bucket:{0} Website succeeded ", bucketName);
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error message: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
catch (Exception ex)
{
Console.WriteLine("Failed with error message: {0}", ex.Message);
}Referensi
Untuk kode contoh lengkap mengenai static website hosting, lihat contoh di GitHub.
Untuk informasi selengkapnya mengenai operasi API untuk mengonfigurasi static website hosting, lihat PutBucketWebsite.
Untuk informasi selengkapnya mengenai operasi API untuk melihat konfigurasi static website hosting, lihat GetBucketWebsite.
Untuk informasi selengkapnya mengenai operasi API untuk menghapus konfigurasi static website hosting, lihat DeleteBucketWebsite.