全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::OSS::Bucket

更新时间:Nov 11, 2025

Gunakan ALIYUN::OSS::Bucket untuk membuat bucket OSS.

Sintaksis

{
  "Type": "ALIYUN::OSS::Bucket",
  "Properties": {
    "AccessControl": String,
    "RefererConfiguration": Map,
    "ServerSideEncryptionConfiguration": Map,
    "CORSConfiguration": Map,
    "Tags": Map,
    "LoggingConfiguration": Map,
    "LifecycleConfiguration": Map,
    "StorageClass": String,
    "DeletionForce": Boolean,
    "Policy": Map,
    "BucketName": String,
    "RedundancyType": String,
    "VersioningConfiguration": Map,
    "ResourceGroupId": String,
    "EnableOssHdfsService": Boolean,
    "WebsiteConfigurationV2": Map,
    "BlockPublicAccess": Boolean
  }
}

Properti

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

BucketName

String

Ya

Tidak

Nama bucket.

Nama harus terdiri dari 3 hingga 63 karakter. Nama harus dimulai dan diakhiri dengan huruf kecil atau angka, serta hanya boleh berisi huruf kecil, angka, dan tanda hubung (-).

Catatan

Nama harus unik secara global. Anda dapat menggunakan AutoCompleteInput dalam AssociationProperty untuk menghasilkan string acak secara otomatis. Untuk informasi selengkapnya, lihat Bagaimana cara mengontrol panjang string acak?.

AccessControl

String

Tidak

Ya

Izin akses.

Nilai yang valid:

  • private (default)

  • public-read

  • public-read-write

CORSConfiguration

Map

Tidak

Ya

Konfigurasi permintaan lintas asal.

Untuk informasi lebih lanjut, lihat Properti CORSConfiguration.

DeletionForce

Boolean

Tidak

Ya

Menentukan apakah akan memaksa penghapusan file dalam bucket OSS.

Nilai yang valid:

  • true: Memaksa penghapusan.

  • false (default): Tidak memaksa penghapusan.

EnableOssHdfsService

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan layanan OSS-HDFS.

Nilai yang valid:

  • true: Mengaktifkan layanan OSS-HDFS.

    Catatan

    Setelah diaktifkan, tidak dapat dinonaktifkan kembali.

  • false: Tidak mengaktifkan layanan OSS-HDFS. 

BlockPublicAccess

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan Blokir Akses Publik untuk bucket.

Nilai yang valid:

  • true: Mengaktifkan Blokir Akses Publik.

  • false (default): Menonaktifkan Blokir Akses Publik.

LifecycleConfiguration

Map

Tidak

Ya

Konfigurasi siklus hidup file.

Untuk informasi selengkapnya, lihat Properti LifecycleConfiguration.

LoggingConfiguration

Map

Tidak

Tidak

Konfigurasi penyimpanan log.

Untuk informasi lebih lanjut, lihat Properti LoggingConfiguration.

Policy

Map

Tidak

Ya

Kebijakan bucket.

Untuk informasi selengkapnya, lihat Contoh umum kebijakan bucket.

RedundancyType

String

Tidak

Tidak

Jenis redundansi data bucket.

Nilai yang valid:

  • LRS (default): Penyimpanan redundan lokal (LRS). Data Anda disimpan secara redundan pada perangkat penyimpanan berbeda dalam zona yang sama. Hal ini memastikan daya tahan dan ketersediaan data meskipun dua perangkat penyimpanan rusak secara bersamaan.

  • ZRS: Penyimpanan redundan antar zona (ZRS). Mekanisme multi-zona digunakan untuk menyimpan data Anda secara redundan di tiga zona dalam wilayah yang sama. Hal ini memastikan data Anda tetap dapat diakses meskipun seluruh zona tidak tersedia karena kejadian seperti pemadaman listrik atau kebakaran.

RefererConfiguration

Map

Tidak

Ya

Konfigurasi perlindungan hotlink.

Untuk informasi lebih lanjut, lihat Properti RefererConfiguration.

ResourceGroupId

String

Tidak

Tidak

ID grup sumber daya.

Tidak ada

ServerSideEncryptionConfiguration

Map

Tidak

Ya

Konfigurasi aturan enkripsi sisi server.

Untuk informasi lebih lanjut, lihat Properti ServerSideEncryptionConfiguration.

StorageClass

String

Tidak

Tidak

Kelas penyimpanan bucket.

Nilai yang valid:

  • Standard (default)

  • IA: Akses Jarang

  • Archive: Archive Storage

Tags

Map

Tidak

Ya

Tag bucket. Tag adalah pasangan key-value.

Anda dapat menambahkan hingga 20 tag.

Kunci harus terdiri dari 1 hingga 64 karakter dan tidak boleh dimulai dengan http://, https://, atau Aliyun.

Nilai dapat terdiri dari 0 hingga 128 karakter dan harus dalam format UTF-8.

VersioningConfiguration

Map

Tidak

Ya

Kontainer yang menyimpan status pengendalian versi.

Untuk informasi selengkapnya, lihat Properti VersioningConfiguration.

WebsiteConfigurationV2

Map

Tidak

Tidak

Konfigurasi situs web.

Untuk informasi selengkapnya, lihat Properti WebsiteConfigurationV2.

Sintaksis CORSConfiguration

"CORSConfiguration": {
  "CORSRule": List,
  "ResponseVary": Boolean
}

Properti CORSConfiguration

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

CORSRule

List

Tidak

Ya

Aturan permintaan lintas asal.

Untuk informasi lebih lanjut, lihat Properti CORSRule.

ResponseVary

Boolean

Tidak

Ya

Menentukan apakah akan mengembalikan header Vary: Origin.

Nilai yang valid:

  • true: Mengembalikan header Vary: Origin terlepas dari apakah permintaan lintas asal dikirim atau berhasil.

  • false (default): Tidak mengembalikan header Vary: Origin dalam kondisi apa pun.

Catatan

Catatan: Kolom ini tidak dapat dikonfigurasi sendiri. Setidaknya satu aturan lintas asal harus dikonfigurasi agar kolom ini berlaku.

Sintaksis CORSRule

"CORSRule": [
  {
    "MaxAgeSeconds": Number,
    "AllowedMethod": List,
    "ExposeHeader": List,
    "AllowedOrigin": List,
    "AllowedHeader": List
  }
]

Properti CORSRule

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

AllowedHeader

List

Tidak

Ya

Header yang diizinkan untuk permintaan lintas asal.

Nilai yang valid:

  • *

  • Cache-Control

  • Content-Language

  • Content-Type

  • Expires

  • Last-Modified

  • Pragma

AllowedMethod

List

Tidak

Ya

Metode yang diizinkan untuk permintaan lintas asal.

Nilai yang valid:

  • *

  • GET

  • PUT

  • POST

  • DELETE

  • HEAD

AllowedOrigin

List

Tidak

Ya

Asal yang diizinkan untuk permintaan lintas asal.

Tidak ada

ExposeHeader

List

Tidak

Ya

Header respons yang dapat diakses pengguna dari aplikasi.

Jangan gunakan tanda bintang (*).

MaxAgeSeconds

Number

Tidak

Ya

Durasi cache untuk respons terhadap permintaan OPTIONS untuk sumber daya tertentu.

Tidak ada

Sintaksis LifecycleConfiguration

"LifecycleConfiguration": {
  "Rule": List
}

Properti LifecycleConfiguration

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

Rule

List

Ya

Tidak

Aturan siklus hidup.

Untuk informasi lebih lanjut, lihat Properti Rule.

Sintaksis Rule

"Rule": [
  {
    "Status": String,
    "AbortMultipartUpload": Map,
    "Expiration": Map,
    "Prefix": String,
    "ID": String,
    "Filter": Map,
    "Transition": List
  }
]

Properti Rule

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

Prefix

String

Ya

Tidak

Awalan tempat aturan ini berlaku.

Hanya objek yang cocok dengan awalan ini yang dapat dipengaruhi oleh aturan ini.

AbortMultipartUpload

Map

Tidak

Tidak

Properti kedaluwarsa unggah multi-bagian yang tidak lengkap.

Untuk informasi lebih lanjut, lihat Properti AbortMultipartUpload.

Expiration

Map

Tidak

Tidak

Properti kedaluwarsa aturan objek.

Untuk informasi lebih lanjut, lihat Properti Expiration.

ID

String

Tidak

Tidak

ID unik untuk aturan.

ID dapat terdiri dari maksimal 255 karakter. Jika Anda tidak menentukan ID atau ID kosong, OSS akan menghasilkan nilai unik secara otomatis.

Status

String

Tidak

Ya

Mengaktifkan atau menonaktifkan aturan.

Nilai yang valid:

  • Enabled: Mengaktifkan aturan.

  • Disabled: Menonaktifkan aturan.

Filter

Map

Tidak

Tidak

Aturan pengecualian ini dapat memiliki paling banyak satu aturan bersyarat.

Untuk informasi selengkapnya, lihat Properti Filter.

Transition

List

Tidak

Tidak

Daftar tugas transisi kelas penyimpanan.

Untuk informasi selengkapnya, lihat Properti Transition.

Sintaks Transition

"Transition": [
    {
      "CreatedBeforeDate": String,
      "Days": Integer,
      "IsAccessTime": Boolean,
      "ReturnToStdWhenVisit": Boolean,
      "AllowSmallFile": Boolean,
      "StorageClass": String
    }
 ]

Properti Transition

Properti

Tipe

Wajib

Pembaruan diizinkan

Deskripsi

Batasan

CreatedBeforeDate

String

Tidak

Tidak

Menentukan tanggal. OSS menerapkan aturan siklus hidup ke data yang terakhir dimodifikasi sebelum tanggal ini.

Tanggal harus dalam format ISO 8601 dan harus dalam UTC pada tengah malam (00:00:00).
Contoh: 2002-10-11T00:00:00.000Z

Days

Integer

Tidak

Tidak

Menentukan jumlah hari setelah objek terakhir diperbarui sehingga aturan siklus hidup berlaku.

Nilai yang valid: bilangan bulat positif, seperti 30, 90, dan 180.

IsAccessTime

Boolean

Tidak

Tidak

Menentukan apakah akan menerapkan aturan siklus hidup berdasarkan waktu akses terakhir objek.

  • true: Aturan berlaku berdasarkan waktu akses terakhir objek.

  • false: Aturan berlaku berdasarkan kondisi selain waktu akses terakhir, seperti waktu pembuatan atau waktu modifikasi.

ReturnToStdWhenVisit

Boolean

Tidak

Tidak

Menentukan apakah akan mengubah kelas penyimpanan objek non-Standard menjadi Standard setelah objek diakses.

Opsi ini hanya berlaku ketika IsAccessTime diatur ke true.

AllowSmallFile

Boolean

Tidak

Tidak

Menunjukkan apakah akan menggunakan waktu akses terakhir objek.

Pengaturan ini berlaku untuk objek yang lebih kecil dari 64 KB. Kelas penyimpanan tujuan yang valid adalah IA, Archive, dan Cold Archive.

StorageClass

String

Tidak

Tidak

Kelas penyimpanan tempat objek ditransisikan.

Nilai yang valid:

  • IA

  • Archive

  • ColdArchive

  • DeepColdArchive

Sintaksis Filter

"Filter":{
  "Not": Map
}

Properti Filter

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

Not

Map

Tidak

Tidak

Aturan pengecualian.

Untuk informasi selengkapnya, lihat Bukan properti.

Bukan sintaksis

"Not":{
  "Tag": List,
  "Prefix": String
}

Bukan properti

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

Tag

List

Tidak

Tidak

Tag aturan pengecualian.

Aturan pengecualian ini berlaku untuk paling banyak satu tag objek.

Prefix

String

Tidak

Tidak

Awalan aturan.

Awalan nama objek tempat aturan pengecualian ini berlaku. Awalan harus memenuhi kondisi berikut:

  • Jika awalan dikonfigurasi di node `Rule`, awalan di node `Not` harus dimulai dengan awalan yang dikonfigurasi di node `Rule`. Misalnya, jika awalan di node `Rule` adalah dir, awalan di node `Not` harus dimulai dengan dir, seperti dir1 atau dir2.

  • Jika tidak ada tag yang dikonfigurasi di node `Not`, awalan di node `Not` tidak boleh sama dengan awalan di node `Rule`.

Pada dasarnya, aturan ini menentukan bahwa untuk aturan pengecualian, jika aturan induk menentukan awalan, maka awalan turunan apa pun harus merupakan subset atau versi yang lebih spesifik dari awalan induk tersebut. Awalan turunan tidak boleh identik dengan awalan induk kecuali jika konfigurasi tag digunakan. Desain ini memungkinkan logika penyaringan yang lebih granular dan fleksibel untuk file dan objek, terutama dalam skenario seperti penyimpanan cloud, pencadangan data, atau penyaringan konten.

Sintaksis Expiration

"Expiration":{
  "Days": Number,
  "CreatedBeforeDate": String,
  "ExpiredObjectDeleteMarker": Boolean
}

Properti Expiration

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

CreatedBeforeDate

String

Tidak

Tidak

Menentukan tanggal. OSS menjalankan aturan untuk data yang tanggal pembaruan terakhirnya lebih awal dari tanggal ini.

Tanggal harus dalam format ISO 8601 dan harus dalam UTC pada tengah malam. Contoh: 2002-10-11T00:00:00.000Z.

Days

Number

Tidak

Tidak

Jumlah hari setelah aturan berlaku sejak objek terakhir dimodifikasi.

Aturan dijalankan untuk menghapus objek setelah jumlah hari yang ditentukan berlalu sejak waktu modifikasi terakhir. Jika Anda mengatur waktu menjadi 30 hari, objek yang terakhir dimodifikasi pada 1 Januari 2016 akan dihapus oleh program backend pada 31 Januari 2016.

ExpiredObjectDeleteMarker

Boolean

Tidak

Tidak

Menentukan apakah penanda hapus yang kedaluwarsa harus dihapus secara otomatis.

Nilai yang valid:

  • true: Penanda hapus yang kedaluwarsa dihapus secara otomatis. Saat diatur ke true, menentukan Days atau CreatedBeforeDate tidak didukung.

  • false: Penanda hapus yang kedaluwarsa tidak dihapus secara otomatis. Saat diatur ke false, Anda harus menentukan Days atau CreatedBeforeDate.

Sintaksis AbortMultipartUpload

"AbortMultipartUpload": {
  "CreatedBeforeDate": String,
  "Days": Number
}

Properti AbortMultipartUpload

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

CreatedBeforeDate

String

Tidak

Tidak

Waktu sebelum aturan berlaku.

Tanggal dalam format ISO 8601 dan nilainya harus dalam UTC pada tengah malam. Contoh: 2002-10-11T00:00:00.000Z.

Days

Number

Tidak

Tidak

Jumlah hari setelah aturan berlaku sejak objek terakhir dimodifikasi.

Aturan dijalankan untuk menghapus objek setelah jumlah hari yang ditentukan berlalu sejak waktu modifikasi terakhir. Jika Anda mengatur waktu menjadi 30 hari, objek yang terakhir dimodifikasi pada 1 Januari 2016 akan dihapus oleh program backend pada 31 Januari 2016.

Sintaksis LoggingConfiguration

"LoggingConfiguration": {
  "TargetBucket": String,
  "TargetPrefix": String
}

Properti LoggingConfiguration

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

TargetBucket

String

Tidak

Tidak

Bucket tempat log akses disimpan.

Tidak ada

TargetPrefix

String

Tidak

Tidak

Awalan untuk file log akses yang disimpan.

Tidak ada

Sintaksis WebsiteConfigurationV2

"WebsiteConfiguration":{
  "RoutingRules": List,
  "IndexDocument": Map,
  "ErrorDocument": Map
}

Properti WebsiteConfigurationV2

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

ErrorDocument

Map

Tidak

Tidak

Halaman kesalahan statis yang dihosting.

Tidak ada

IndexDocument

Map

Tidak

Tidak

Halaman utama statis yang dihosting.

Tidak ada

RoutingRules

List

Tidak

Tidak

Daftar aturan routing.

Panjang maksimum: 20.

Sintaksis IndexDocument

"IndexDocument":{
  "Suffix": String,
  "Type": String,
  "SupportSubDir": String
}

Properti IndexDocument

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

Suffix

String

Ya

Tidak

Halaman utama default.

Setelah Anda menetapkan halaman utama default, OSS akan mengembalikan halaman utama default ini jika Anda mengakses objek yang diakhiri dengan garis miring (/).

Type

String

Tidak

Tidak

Perilaku saat Anda mencoba mengakses objek yang tidak ada dan tidak diakhiri dengan garis miring (/), setelah halaman utama default ditetapkan.

Aturan ini hanya berlaku ketika `SupportSubDir` diatur ke `true`. Aturan ini diterapkan setelah `RoutingRule` dan sebelum `ErrorFile`. Misalkan halaman utama default adalah `index.html`. Saat Anda mengakses `bucket.oss-cn-hangzhou.aliyuncs.com/abc` dan objek `abc` tidak ada, perilaku bervariasi berdasarkan nilai `Type`:

  • `0` (default): Memeriksa apakah `abc/index.html` ada. Jika ada, OSS mengembalikan pengalihan 302 dengan header `Location` diatur ke `/abc/`. Jika tidak ada, OSS mengembalikan kesalahan 404 lalu memeriksa `ErrorFile`.

  • `1`: Langsung mengembalikan kesalahan 404 dengan tipe kesalahan `NoSuchKey`, lalu memeriksa `ErrorFile`.

  • `2`: Memeriksa apakah `abc/index.html` ada. Jika ada, OSS mengembalikan konten objek tersebut. Jika tidak ada, OSS mengembalikan kesalahan 404 lalu memeriksa `ErrorFile`.

SupportSubDir

String

Tidak

Tidak

Menentukan apakah akan mengalihkan ke halaman utama default subdirektori saat subdirektori diakses.

Nilai yang valid:

  • true: Mengalihkan ke halaman utama default di subdirektori.

  • false (default): Tidak mengalihkan ke halaman utama default di subdirektori. Sebagai gantinya, menuju halaman utama default di direktori root. Misalkan halaman utama default adalah index.html. Jika Anda mengakses bucket.oss-cn-hangzhou.aliyuncs.com/subdir/ dan mengatur SupportSubDir ke false, Anda akan dialihkan ke bucket.oss-cn-hangzhou.aliyuncs.com/index.html. Jika Anda mengatur SupportSubDir ke true, Anda akan dialihkan ke bucket.oss-cn-hangzhou.aliyuncs.com/subdir/index.html.

Sintaksis RoutingRules

"RoutingRules":[{
  "Redirect": Map,
  "Condition": Map,
  "RuleNumber": Integer
}]

Properti RoutingRules

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

Redirect

Map

Ya

Tidak

Menentukan operasi yang akan dilakukan saat aturan ini cocok.

Untuk informasi selengkapnya, lihat Properti Redirect.

Condition

Map

Ya

Tidak

Kondisi pencocokan.

Aturan ini hanya dijalankan jika semua item yang ditentukan terpenuhi. Pencocokan dianggap berhasil hanya jika semua kondisi untuk setiap node di bawah kontainer ini terpenuhi. Untuk informasi selengkapnya, lihat Properti Condition.

RuleNumber

Integer

Ya

Tidak

Nomor seri untuk mencocokkan dan menjalankan RoutingRule. OSS mencocokkan aturan berdasarkan nomor seri ini.

Jika pencocokan berhasil, aturan ini dijalankan dan aturan berikutnya tidak lagi dijalankan.

Sintaksis Condition

"Condition":{
  "KeyPrefixEquals": String,
  "HttpErrorCodeReturnedEquals": String,
  "IncludeHeaders": List,
  "KeySuffixEquals": String
}

Properti Condition

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

KeyPrefixEquals

String

Tidak

Tidak

Awalan nama objek yang akan dicocokkan.

Tidak ada.

HttpErrorCodeReturnedEquals

String

Tidak

Tidak

Status ini harus dikembalikan saat mengakses objek yang ditentukan agar aturan ini terpenuhi.

Saat aturan pengalihan bertipe pengembalian ke sumber berbasis mirroring, kolom ini harus bernilai 404.

IncludeHeaders

List

Tidak

Tidak

Aturan ini hanya cocok jika permintaan berisi header yang ditentukan dan nilainya sesuai dengan nilai yang ditentukan.

Anda dapat mengatur hingga 10 kondisi seperti ini. Untuk informasi selengkapnya, lihat Properti IncludeHeaders.

KeySuffixEquals

String

Tidak

Tidak

Akhiran nama objek yang akan dicocokkan.

Tidak ada.

Sintaksis IncludeHeaders

"IncludeHeaders": [
  {
    "Equals": String,
    "Key": String
  }
]

Properti IncludeHeaders

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

Equals

String

Tidak

Tidak

Nilai header.

Tidak ada

Key

String

Ya

Tidak

Nama header.

Tidak ada

Sintaksis RefererConfiguration

"RefererConfiguration":{
  "AllowEmptyReferer": String,
  "RefererList": List
}

Properti RefererConfiguration

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

AllowEmptyReferer

Boolean

Tidak

Tidak

Menentukan apakah akan mengizinkan akses dari permintaan dengan kolom Referer kosong.

Nilai yang valid:

  • true (default): Izinkan.

  • false: Jangan izinkan.

RefererList

List

Tidak

Tidak

Daftar putih kolom Referer yang diizinkan.

Tidak ada

Sintaksis Redirect

"Redirect":{
  "MirrorFollowRedirect": Boolean,
  "MirrorURL": String,
  "PassQueryString": Boolean,
  "MirrorPassQueryString": Boolean,
  "ReplaceKeyWith": String,
  "Protocol": String,
  "HttpRedirectCode": String,
  "ReplaceKeyPrefixWith": String,
  "RedirectType": String,
  "MirrorHeaders": Map,
  "MirrorCheckMd5": Boolean,
  "EnableReplacePrefix": Boolean,
  "HostName": String
}

Properti Redirect

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

MirrorFollowRedirect

Boolean

Tidak

Tidak

Menentukan apakah akan melanjutkan pengalihan ke Location yang ditentukan untuk mendapatkan data jika hasil pengembalian ke sumber berbasis mirroring adalah kode status 3xx.

Pengaturan ini hanya berlaku ketika RedirectType diatur ke Mirror. Misalnya, saat kami mencerminkan permintaan kembali ke server asal, server asal mengembalikan kode status 302 dengan informasi Location.

  • Jika diatur ke true, OSS akan terus meminta alamat yang ditunjuk oleh Location. Proses ini dapat dialihkan hingga 10 kali. Setelah 10 kali, pengembalian ke sumber berbasis mirroring akan gagal dan mengembalikan kesalahan.

  • Jika diatur ke false, OSS akan langsung mengembalikan kode status 302 dan meneruskan informasi Location ke klien, yang akan memutuskan apakah akan melanjutkan pengalihan.

    Nilai default: true.

MirrorURL

String

Tidak

Tidak

Alamat server asal untuk pengembalian ke sumber berbasis mirroring.

Pengaturan ini hanya berlaku ketika RedirectType diatur ke Mirror. URL asal harus dimulai dengan http:// atau https:// dan diakhiri dengan garis miring (/). OSS menambahkan nama objek ke URL ini untuk membentuk URL yang akan dikembalikan. Misalnya, jika objek yang akan diakses bernama myobject, dan Anda mengatur ini ke http://example.com/, URL pengembalian ke asal akan menjadi http://example.com/myobject. Jika Anda mengatur ke http://example.com/dir1/, URL pengembalian ke asal akan menjadi http://example.com/dir1/myobject.

PassQueryString

Boolean

Tidak

Tidak

Menentukan apakah akan membawa parameter permintaan saat melakukan pengalihan atau pengembalian ke sumber berbasis mirroring.

Jika pengguna mengakses OSS dengan parameter permintaan seperti a=b&c=d dan PassQueryString diatur ke true, parameter permintaan ini akan ditambahkan ke header Location pengalihan jika tipe aturan adalah pengalihan 302, misalnya, Location: example.com?a=b&c=d. Jika tipe aturan adalah pengembalian ke sumber berbasis mirroring, parameter permintaan ini juga akan dibawa dalam permintaan pengembalian ke asal yang dimulai. Nilai yang valid: true, false (default).

MirrorPassQueryString

Boolean

Tidak

Tidak

Sama seperti PassQueryString, tetapi memiliki prioritas lebih tinggi daripada PassQueryString. Pengaturan ini hanya berlaku ketika RedirectType diatur ke Mirror.

Nilai default: false.

ReplaceKeyWith

String

Tidak

Tidak

Saat menggunakan aturan Redirect, nama objek diganti dengan nilai yang ditentukan oleh ReplaceKeyWith, yang memungkinkan Anda mengatur variabel.

Variabel {key} yang menentukan nama objek dalam permintaan didukung. Contohnya, nama objek yang ingin Anda akses adalah test. Jika Anda menyetel ReplaceKeyWith ke prefix/{key}.suffix saat mengakses objek test, alamat yang ditentukan oleh Location adalah http://example.com/prefix/test.suffix.

Jika klien meminta objek asli, seperti test, server menggunakan aturan Redirect untuk mengalihkan permintaan ke lokasi baru dengan path yang dihasilkan secara dinamis dari pola yang ditentukan oleh ReplaceKeyWith. Dalam contoh ini, path baru dibuat dengan menambahkan nama objek asli, test, ke "prefix/", dan URL yang dialihkan akhirnya adalah "http://example.com/prefix/test.suffix". Dalam URL ini, ".suffix" adalah akhiran tetap, dan "${key}" diganti dengan nama objek "test".

Protocol

String

Tidak

Tidak

Spesifikasi protokol untuk pengalihan.

Aturan ini hanya berlaku jika RedirectType diatur ke External atau AliCDN. Jika Anda ingin mengakses file bernama "test" dan mengalihkannya ke "example.com" dengan protokol https, header Location dalam respons HTTP harus diatur ke "https://example.com/test". Nilai protokol opsional adalah: http, https.

HttpRedirectCode

String

Tidak

Tidak

Kode status yang dikembalikan selama pengalihan.

Hanya berlaku ketika RedirectType diatur ke External atau AliCDN. Nilai default: 302. Nilai opsional: 301, 302, 307.

ReplaceKeyPrefixWith

String

Tidak

Tidak

Nilai ini menggantikan awalan nama objek dalam pengalihan. Jika awalan kosong, string ini dimasukkan sebelum nama objek.

Catatan

Catatan: Hanya node ReplaceKeyWith atau ReplaceKeyPrefixWith yang diizinkan. Misalkan objek yang akan diakses adalah ABC/test.TXT. Jika KeyPrefixEquals diatur ke ABC/ dan ReplaceKeyPrefixWith diatur ke def/, Location akan mengarah ke http://example.com/def/test.txt.

RedirectType

String

Ya

Tidak

Menentukan jenis pengalihan.

Nilai yang valid:

  • Mirror: Pengembalian ke sumber berbasis mirroring, yang mencerminkan kembali ke server asal.

  • External: Cabang eksternal, di mana OSS mengembalikan permintaan kode status 3xx, yang menunjukkan cabang ke alamat lain.

  • AliCDN: Pengalihan CDN Alibaba Cloud, terutama untuk jaringan pengiriman konten Alibaba Cloud. Berbeda dengan "External", OSS menambahkan header tambahan. Saat Alibaba Cloud CDN mengenali header ini, CDN tersebut secara aktif mengalihkan ke alamat yang ditentukan dan mengembalikan data yang diambil ke pengguna, bukan mengembalikan permintaan pengalihan 3xx ke pengguna.

MirrorHeaders

Map

Tidak

Tidak

Menentukan header yang dicerminkan saat diteruskan kembali ke asal.

Pengaturan ini hanya berlaku ketika RedirectType diatur ke Mirror. Untuk informasi selengkapnya, lihat Properti MirrorHeaders.

MirrorCheckMd5

Boolean

Tidak

Tidak

Menentukan apakah akan memeriksa MD5 pada pengembalian ke asal.

Konfigurasi ini hanya berlaku ketika RedirectType diatur ke Mirror. Saat MirrorCheckMd5 diatur ke true, jika respons dari server asal berisi header Content-Md5, OSS memeriksa apakah MD5 data yang ditarik cocok dengan header ini. Jika tidak cocok, data tidak akan disimpan ke OSS. Nilai default: false.

EnableReplacePrefix

Boolean

Tidak

Tidak

Jika kolom ini diatur ke true, awalan objek akan diganti dengan nilai yang ditentukan oleh ReplaceKeyPrefixWith. Jika kolom ini tidak ditentukan atau kosong, berarti awalan objek akan dipotong.

Catatan: Kolom ini tidak dapat diatur ke true saat kolom ReplaceKeyWith tidak kosong. Nilai default: false.

HostName

String

Tidak

Tidak

Nama domain untuk pengalihan.

Nama domain harus mengikuti spesifikasi nama domain. Jika file yang akan diakses bernama test, protokol diatur ke https, dan hostname diatur ke example.com, header Location harus menjadi https://example.com/test.

Sintaksis MirrorHeaders

"MirrorHeaders":{
  "Remove": List,
  "PassAll": Boolean,
  "Sets": List,
  "Pass": List
}

Properti MirrorHeaders

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

Hapus

Daftar

Tidak

Tidak

Menonaktifkan transmisi langsung header yang ditentukan ke asal.

Hanya berlaku ketika RedirectType diatur ke Mirror. Setiap header dapat memiliki panjang hingga 1.024 byte, dan set karakter mencakup 0-9, a-z, A-Z, dan tanda hubung (-). Anda dapat menentukan hingga 10 header untuk kolom ini.

LewatiSemua

Boolean

Tidak

Tidak

Menentukan apakah akan meneruskan header selain yang dikecualikan ke asal.

Hanya berlaku ketika RedirectType diatur ke Mirror. Header yang dikecualikan meliputi: - content-length, authorization2, authorization, range, date, dan header umum lainnya - header khusus yang dimulai dengan oss- / x-oss- / x-drs-

Nilai default: false

Artinya, secara default, header khusus ini diteruskan ke sumber cermin. Untuk mengubah perilaku ini, Anda dapat mengatur nilai ini ke true untuk mencegah header tersebut diteruskan.

Himpunan

Daftar

Tidak

Tidak

Menetapkan header ke server asal. Saat permintaan diteruskan kembali ke server asal, header ini ditetapkan, terlepas dari apakah header yang ditentukan termasuk dalam permintaan.

Fitur ini hanya berlaku ketika RedirectType diatur ke Mirror. Kontainer ini dapat menetapkan hingga 10 grup header dengan cara ini. Untuk informasi selengkapnya, lihat Properti Sets.

Lewati

Daftar

Tidak

Tidak

Meneruskan informasi header yang ditentukan ke sumber.

Operasi ini hanya berlaku ketika RedirectType diatur ke Mirror. Setiap header dapat memiliki panjang hingga 1.024 byte dan hanya boleh berisi set karakter 0-9, a-z, A-Z, dan tanda hubung (-). Anda dapat menentukan hingga 10 header untuk kolom ini.

Sintaks Sets

"Sets": [
  {
    "Value": String,
    "Key": String
  }
]

Menetapkan properti

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

Nilai

String

Ya

Tidak

Atur nilai header hingga maksimal 1024 byte, tidak termasuk \r\n.

Pengaturan ini hanya berlaku ketika RedirectType diatur ke Mirror.

Kunci

String

Ya

Tidak

Atur kunci header hingga maksimal 1024 byte, menggunakan set karakter yang sama seperti Pass.

Pengaturan ini hanya berlaku ketika RedirectType diatur ke Mirror.

Sintaksis ErrorDocument

"ErrorDocument":{
  "Key": String,
  "HttpStatus": String
}

Properti ErrorDocument

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

Key

String

Ya

Tidak

Halaman kesalahan default.

Saat halaman kesalahan ditentukan, halaman kesalahan ini dikembalikan jika objek yang diakses tidak ada.

HttpStatus

String

Tidak

Tidak

Kode status HTTP halaman kesalahan.

Nilai yang valid: 200, 404 (default).

Sintaksis ServerSideEncryptionConfiguration

"ServerSideEncryptionConfiguration":{
  "KMSMasterKeyID": String,
  "SSEAlgorithm": String
}

Properti ServerSideEncryptionConfiguration

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

SSEAlgorithm

String

Ya

Tidak

Metode enkripsi sisi server default.

Nilai yang valid:

  • KMS

  • AES256

KMSMasterKeyID

String

Tidak

Tidak

ID kunci.

Anda harus menentukan ID kunci hanya ketika SSEAlgorithm adalah KMS dan Anda menggunakan kunci tertentu untuk enkripsi.

Sintaksis VersioningConfiguration

"VersioningConfiguration":{
  "Status": String
}

Properti VersioningConfiguration

Properti

Tipe

Diperlukan

Pembaruan diizinkan

Deskripsi

Batasan

Status

String

Ya

Tidak

Status versioning.

Nilai yang valid:

  • Enabled: Mengaktifkan pengendalian versi.

  • Suspended: Menangguhkan pengendalian versi.

Nilai Pengembalian

Fn::GetAtt

  • Name: Nama bucket yang unik secara global.

  • DomainName: Nama domain publik bucket.

  • InternalDomainName: Nama domain internal bucket.

  • Arn: Nama Sumber Daya Alibaba Cloud (ARN).

Contoh

ROSTemplateFormatVersion: '2015-09-01'
Description: Membuat bucket oss sederhana
Parameters:
  BucketName:
    AssociationProperty: AutoCompleteInput
    AssociationPropertyMetadata:
      Length: 5
      Prefix: simple-oss-bucket
      CharacterClasses:
        - Class: lowercase
          min: 1
    Type: String
    Label:
      en: Bucket Name
Outputs:
  BucketDomainName:
    Value:
      Fn::GetAtt:
        - MyBucket
        - DomainName
Resources:
  MyBucket:
    Type: ALIYUN::OSS::Bucket
    Properties:
      AccessControl: private
      BucketName:
        Ref: BucketName
Metadata: {}
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Membuat bucket oss sederhana",
  "Parameters": {
    "BucketName": {
      "Type": "String",
      "Label": {
        "en": "Bucket Name"
      },
      "AssociationProperty": "AutoCompleteInput",
      "AssociationPropertyMetadata": {
        "Length": 5 ,
        "Prefix": "simple-oss-bucket",
        "CharacterClasses": [
          {
            "Class": "lowercase",
            "min": 1
          }
        ]
      }
    }
  },
  "Metadata": {
  },
  "Resources": {
    "MyBucket": {
      "Type": "ALIYUN::OSS::Bucket",
      "Properties": {
        "AccessControl": "private",
        "BucketName": {
          "Ref": "BucketName"
        }
      }
    }
  },
  "Outputs": {
    "BucketDomainName": {
      "Value": {
        "Fn::GetAtt": [
          "MyBucket",
          "DomainName"
        ]
      }
    }
  }
}