ALIYUN::OSS::Bucket

更新时间: 2023-12-27 15:57:25

ALIYUN::OSS::Bucket类型用于创建OSS存储空间。

语法

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

属性

属性名称

类型

必须

允许更新

描述

约束

BucketName

String

存储空间名称。

长度为3~63个字符。必须以小写英文字母或数字开头和结尾,可包含小写英文字母、数字和短划线(-)。

AccessControl

String

访问权限。

取值:

  • private(默认值):私有。

  • public-read:公共读。

  • public-read-write:公共读写。

CORSConfiguration

Map

跨域访问配置。

更多信息,请参见CORSConfiguration属性

LifecycleConfiguration

Map

文件生命周期配置。

更多信息,请参见LifecycleConfiguration属性

LoggingConfiguration

Map

日志存储配置。

更多信息,请参见LoggingConfiguration属性

RefererConfiguration

Map

防盗链配置。

更多信息,请参见RefererConfiguration属性

DeletionForce

Boolean

是否强制删除OSS中的文件。

取值:

  • true:强制删除。

  • false(默认值):不强制删除。

WebsiteConfiguration

Map

静态托管页配置。

更多信息,请参见WebsiteConfiguration属性

ServerSideEncryptionConfiguration

Map

服务端加密规则配置。

更多信息,请参见ServerSideEncryptionConfiguration属性

Tags

Map

存储空间标签。Key-Value形式的键值对。

最多设置20个标签。

Key长度为1~64个字符,不能以http://https://Aliyun开头。

Value长度为0~128个字符,必须为UTF-8编码。

StorageClass

String

存储空间类型。

取值:

  • Standard(默认值):标准存储。

  • IA:低频访问。

  • Archive:归档存储。

Policy

Map

存储空间策略。

更多信息,请参见Bucket Policy常见示例

RedundancyType

String

Bucket的数据容灾类型。

取值:

  • LRS(默认) :本地冗余LRS,将您的数据冗余存储在同一个可用区的不同存储设备上,可支持两个存储设备并发损坏时,仍维持数据不丢失,可正常访问。

  • ZRS:同城冗余ZRS,采用多可用区(AZ)机制,将您的数据冗余存储在同一地域(Region)的3个可用区。可支持单个可用区(机房)整体故障时(例如断电、火灾等),仍然能够保障数据的正常访问。

VersioningConfiguration

Map

保存版本控制状态的容器。

更多信息,请参见VersioningConfiguration属性

ResourceGroupId

String

资源组ID。

EnableOssHdfsService

Boolean

是否开启OSS-HDFS服务。

取值:

  • true:开启OSS-HDFS服务。

    说明

    一旦启用,它不能再被禁用。

  • false:不开启OSS-HDFS服务。 

CORSConfiguration语法

"CORSConfiguration": {
  "CORSRule": List
}

CORSConfiguration属性

属性名称

类型

必须

允许更新

描述

约束

CORSRule

List

跨域访问规则。

更多信息,请参见CORSRule属性

CORSRule语法

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

CORSRule属性

属性名称

类型

必须

允许更新

描述

约束

AllowedHeader

List

允许的跨域请求Header。

取值:

  • *

  • Cache-Control

  • Content-Language

  • Content-Type

  • Expires

  • Last-Modified

  • Pragma

AllowedMethod

List

允许的跨域请求的方法。

取值:

  • *

  • GET

  • PUT

  • POST

  • DELETE

  • HEAD

AllowedOrigin

List

允许的跨域请求的来源。

ExposeHeader

List

允许用户从应用程序中访问的响应头。

不允许使用星号(*)。

MaxAgeSeconds

Number

浏览器对特定资源的OPTIONS请求返回结果的缓存时间。

LifecycleConfiguration语法

"LifecycleConfiguration": {
  "Rule": List
}

LifecycleConfiguration属性

属性名称

类型

必须

允许更新

描述

约束

Rule

List

生命周期规则。

更多信息,请参见Rule属性

Rule语法

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

Rule属性

属性名称

类型

必须

允许更新

描述

约束

ID

String

规则的唯一ID。

最长为255字符。当没有指定ID或者ID为空时,OSS会自动生成一个唯一值。

Prefix

String

规则所适用的前缀。

只有匹配前缀的对象才可能被该规则所影响。

Status

String

启用或停用规则。

取值:

  • Enabled:启用规则。

  • Disabled:停用规则。

Expiration

Map

对象规则的过期属性。

更多信息,请参见Expiration属性

AbortMultipartUpload

Map

未完成分片上传的过期属性。

更多信息,请参见AbortMultipartUpload属性

Expiration语法

"Expiration":{
  "Days": Number,
  "CreatedBeforeDate": String,
  "Date": String
}

Expiration属性

属性名称

类型

必须

允许更新

描述

约束

Days

Number

对象最后修改后,规则将在多少天后生效。

以文件最后修改时间为起点开始计算,超过设定天数时即执行规则,则将对象删除。如果设置时间为30天,则最后修改日期为2016年01月01日的对象会在2016年01月31日被后端程序删除。

CreatedBeforeDate

String

指定一个日期,OSS会对最后更新日期早于该日期的数据执行规则。

日期必须服从ISO8601的格式,且要求是UTC的零点。例如:2002-10-11T00:00:00.000Z

AbortMultipartUpload语法

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

AbortMultipartUpload属性

属性名称

类型

必须

允许更新

描述

约束

Days

Number

对象最后修改后,规则会在多少天后生效。

以文件最后修改时间为起点开始计算,超过设定天数时即执行规则,则将对象删除。如果设置时间为30天,则最后修改日期为2016年01月01日的对象会在2016年01月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

Boolean

是否允许referer字段为空的请求访问。

取值:

  • true(默认值):允许。

  • false:不允许。

RefererList

List

允许referer字段的白名单。

ServerSideEncryptionConfiguration语法

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

ServerSideEncryptionConfiguration属性

属性名称

类型

必须

允许更新

描述

约束

KMSMasterKeyID

String

密钥ID。

只有当SSEAlgorithm值为KMS,且使用指定的密钥加密时,才需指定密钥ID。

SSEAlgorithm

String

服务端默认加密方式。

取值:

  • KMS

  • AES256

VersioningConfiguration语法

"VersioningConfiguration":{
  "Status": String
}

VersioningConfiguration属性

属性名称

类型

必须

允许更新

描述

约束

Status

String

版本控制状态。

取值:

  • Enabled:开启版本控制状态

  • Suspended:暂停版本控制状态

返回值

Fn::GetAtt

  • Name:存储空间名称,全局唯一。

  • DomainName:通过公网访问存储空间的域名。

  • InternalDomainName:通过内网访问存储空间的域名。

示例

  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Description: Creates a simple oss bucket
    Parameters: {}
    Metadata: {}
    Resources:
      MyBucket:
        Type: ALIYUN::OSS::Bucket
        Properties:
          AccessControl: private
          BucketName: simple-oss-bucket
    Outputs:
      BucketDomainName:
        Value:
          Fn::GetAtt:
            - MyBucket
            - DomainName
  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Description": "Creates a simple oss bucket",
      "Parameters": {
      },
      "Metadata": {
      },
      "Resources": {
        "MyBucket": {
          "Type": "ALIYUN::OSS::Bucket",
          "Properties": {
            "AccessControl": "private",
            "BucketName": "simple-oss-bucket"
          }
        }
      },
      "Outputs": {
        "BucketDomainName": {
          "Value": {
            "Fn::GetAtt": [
              "MyBucket",
              "DomainName"
            ]
          }
        }
      }
    }

更多示例,请参见:JSON示例YAML示例

阿里云首页 资源编排 相关技术圈