ALIYUN::OSS::Bucket类型用于创建OSS存储空间。
语法
{
"Type": "ALIYUN::OSS::Bucket",
"Properties": {
"BucketName": String,
"AccessControl": String,
"CORSConfiguration": Map,
"LifecycleConfiguration": Map,
"LoggingConfiguration": Map,
"RefererConfiguration": Map,
"WebsiteConfiguration": Map,
"ServerSideEncryptionConfiguration": Map,
"Tags": Map,
"StorageClass": String,
"Policy": Map
}
}
属性
属性名称 |
类型 |
必须 |
允许更新 |
描述 |
约束 |
BucketName |
String |
是 |
否 |
存储空间名称。 |
长度为3~63 个字符。必须以小写字母或数字开头和结尾,可以包含小写字母、数字和连字符(-)。 |
AccessControl |
String |
否 |
否 |
访问权限。 |
取值:private、public-read、public-read-write。 |
CORSConfiguration |
Map |
否 |
否 |
跨域访问配置。 |
无。 |
LifecycleConfiguration |
Map |
否 |
否 |
文件生命周期配置。 |
无。 |
LoggingConfiguration |
Map |
否 |
否 |
日志存储配置。 |
无。 |
RefererConfiguration |
Map |
否 |
否 |
防盗链配置。 |
无。 |
WebsiteConfiguration |
Map |
否 |
否 |
静态托管页配置。 |
无。 |
ServerSideEncryptionConfiguration |
Map |
否 |
否 |
服务端加密规则配置。 |
无。 |
Tags |
Map |
否 |
否 |
存储空间标签。 |
Key-Value形式的键值对。最多设置20个标签。Key长度为1~64个字节,不能以http:// 、https:// 或Aliyun 开头。Value长度为0~128个字节,必须为UTF-8编码。
|
StorageClass |
String |
否 |
否 |
存储空间类型。 |
取值:Standard、IA、Archive。 |
Policy |
Map |
否 |
否 |
存储空间策略。 |
无。 |
CORSConfiguration语法
"CORSConfiguration": {
"CORSRule": [
{
"AllowedHeader": String,
"AllowedMethod": List,
"AllowedOrigin": List,
"ExposeHeader": List,
"MaxAgeSeconds": Integer
}
]
}
CORSConfiguration属性
属性名称 |
类型 |
必须 |
允许更新 |
描述 |
约束 |
CORSRule |
List |
否 |
否 |
跨域访问规则。 |
无。 |
AllowedHeader |
String |
否 |
否 |
允许的跨域请求Header。 |
取值:*、Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma。 |
AllowedMethod |
List |
否 |
否 |
允许的跨域请求的方法。 |
取值:*、GET、PUT、POST、DELETE、HEAD。 |
AllowedOrigin |
List |
否 |
否 |
允许的跨域请求的来源。 |
无。 |
ExposeHeader |
List |
否 |
否 |
允许用户从应用程序中访问的响应头 。 |
不允许使用星号通配符(*)。 |
MaxAgeSeconds |
Integer |
否 |
否 |
浏览器对特定资源的OPTIONS请求返回结果的缓存时间。 |
无。 |
LifecycleConfiguration语法
"LifecycleConfiguration": {
"Rule": [
{
"ID": String,
"Prefix": String,
"Status": String,
"Expiration": Map,
"AbortMultipartUpload": Map
}
]
}
LifecycleConfiguration属性
属性名称 |
类型 |
必须 |
允许更新 |
描述 |
约束 |
Rule |
List |
否 |
否 |
生命周期规则。 |
无。 |
ID |
String |
否 |
否 |
规则的唯一 ID。 |
最长为255字节。当没有指定ID或者ID为空时,OSS会自动生成一个唯一值。 |
Prefix |
String |
否 |
否 |
规则所适用的前缀。 |
只有匹配前缀的对象才可能被该规则所影响。 |
Status |
String |
否 |
否 |
启用或停用规则。 |
取值: Enable、Disable。 |
Expiration |
Map |
否 |
否 |
对象规则的过期属性。 |
无。 |
AbortMultipartUpload |
Map |
否 |
否 |
未完成分片上传的过期属性。 |
无。 |
Expiration语法
"Expiration":{
"Days": Number,
"CreatedBeforeDate": String
}
Expiration属性
属性名称 |
类型 |
必须 |
允许更新 |
描述 |
约束 |
Days |
Number |
否 |
否 |
对象最后修改后,规则会在多少天后生效。 |
以文件最后修改时间为起始计算,超过设定天数时即执行规则,则将对象删除。如果设置时间为30天,则最后修改日期为2016年1月1号的对象会在2016年1月31号被后端程序删除。
|
CreatedBeforeDate |
String |
否 |
否 |
规则在何时之前生效。 |
日期为ISO8601的格式,并且值为UTC的零点。例如:2002-10-11T00:00:00.000Z。 |
AbortMultipartUpload语法
"AbortMultipartUpload": {
"CreatedBeforeDate": String,
"Days": Number
}
AbortMultipartUpload属性
属性名称 |
类型 |
必须 |
允许更新 |
描述 |
约束 |
Days |
Number |
否 |
否 |
对象最后修改后,规则会在多少天后生效。 |
以文件最后修改时间为起始计算,超过设定天数时即执行规则,则将对象删除。如果设置时间为30天,则最后修改日期为2016年1月1号的对象会在2016年1月31号被后端程序删除。
|
CreatedBeforeDate |
String |
否 |
否 |
规则在何时之前生效。 |
日期为ISO8601的格式,并且值为UTC的零点。例如:2002-10-11T00:00:00.000Z。 |
LoggingConfiguration语法
"LoggingConfiguration": {
"TargetBucket": String,
"TargetPrefix": String
}
LoggingConfiguration属性
属性名称 |
类型 |
必须 |
允许更新 |
描述 |
约束 |
TargetBucket |
String |
否 |
否 |
存放访问日志的存储空间。 |
无。 |
TargetPrefix |
String |
否 |
否 |
最终被保存的访问日志文件前缀。 |
无。 |
WebsiteConfiguration语法
"WebsiteConfiguration":{
"IndexDocument": String,
"ErrorDocument": String
}
WebsiteConfiguration属性
属性名称 |
类型 |
必须 |
允许更新 |
描述 |
约束 |
IndexDocument |
String |
否 |
否 |
托管的静态首页。 |
无。 |
ErrorDocument |
String |
否 |
否 |
托管的静态错误页。 |
无。 |
RefererConfiguration语法
"RefererConfiguration":{
"AllowEmptyReferer": String,
"RefererList": List
}
RefererConfiguration属性
属性名称 |
类型 |
必须 |
允许更新 |
描述 |
约束 |
AllowEmptyReferer |
String |
否 |
否 |
是否允许referer字段为空的请求访问。 |
无。 |
RefererList |
List |
否 |
否 |
允许referer字段的白名单。 |
无。 |
ServerSideEncryptionConfiguration语法
"ServerSideEncryptionConfiguration":{
"KMSMasterKeyID": String,
"SSEAlgorithm": String
}
属性
属性名称 |
类型 |
必须 |
允许更新 |
描述 |
约束 |
KMSMasterKeyID |
String |
否 |
否 |
密钥ID。 |
只有当SSEAlgorithm值为KMS,且使用指定的密钥加密时,才需输入密钥ID。 |
SSEAlgorithm |
String |
是 |
否 |
服务端默认加密方式。 |
取值:KMS、AES256。 |
返回值
Fn::GetAtt
- Name:存储空间名称,全局唯一。
- DomainName:通过公网访问存储空间的域名。
- InternalDomainName:通过内网访问存储空间的域名。
示例
{
"ROSTemplateFormatVersion": "2015-09-01",
"Resources": {
"Bucket": {
"Type": "ALIYUN::OSS::Bucket",
"Properties": {
"AccessControl": "private",
"BucketName": "rostest",
"WebsiteConfiguration":{
"IndexDocument": "index1.html",
"ErrorDocument": "error404.html"
},
"LoggingConfiguration": {
"TargetBucket": "cos-mirror",
"TargetPrefix": "test404"
},
"CORSConfiguration": {
"CORSRule": [{
"AllowedHeader": ["*"],
"AllowedMethod": ["GET", "PUT"],
"AllowedOrigin": ["*"],
"ExposeHeader": ["Date"],
"MaxAgeSeconds": 3600
}]
},
"LifecycleConfiguration": {
"Rule": [{
"ID": "deleteRule",
"Prefix": "test/",
"Status": "Enabled",
"Expiration":{
"Days": 2
},
"AbortMultipartUpload":{
"CreatedBeforeDate": "2014-10-11T00:00:00.000Z"
}
}]
},
"RefererConfiguration": {
"AllowEmptyReferer": true,
"RefererList": ["http://www.aliyun.com", "https://www.?.aliyuncs.com"]
}
}
}
},
"Outputs": {
"Name": {
"Value": {"Fn::GetAtt": ["Bucket","Name"]}
},
"DomainName": {
"Value": {"Fn::GetAtt": ["Bucket","DomainName"]}
}
}
}
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/33429.html