ALIYUN::OSS::Bucket 型は、OSS バケットを作成する場合に使用します。

構文

  1. { Type : ALIYUN::OSS::Bucket”, Properties : { BucketName : String, AccessControl : String, CORSConfiguration : Map, LifecycleConfiguration : Map, LoggingConfiguration : Map, RefererConfiguration : Map, WebsiteConfiguration : Map }}

プロパティ

名前 データ型 必須/省略可能 説明 制約
BucketName String 省略可能 バケット名 バケット名は 3 - 63 文字の文字列で、指定できるのは小文字、数字、およびアンダースコア (_) だけです。 先頭および末尾の文字は、小文字または数字にします。
AccessControl String 省略可能 アクセス許可 値のオプション : private、public-read、および public-read-write
CORSConfiguration Map 省略可能 クロスオリジンアクセス設定 なし
LifecycleConfiguration Map 省略可能 ファイルのライフサイクル設定 なし
LoggingConfiguration Map 省略可能 ログストレージ設定 なし
RefererConfiguration Map 省略可能 リファラーの設定 なし
WebsiteConfiguration Map 省略可能 静的ホスティングページの設定 なし

CORSConfiguration の構文

  1. CORSConfiguration”: { CORSRule”: [ { AllowedHeader : String, AllowedMethod : List, AllowedOrigin : List, ExposeHeader : List, MaxAgeSeconds : Integer } ]}

CORSConfiguration のプロパティ

名前 データ型 必須/省略可能 説明 制約
CORSRule List 省略可能 複数のクロスオリジンアクセスルール なし
AllowedHeader String 省略可能 クロスオリジンアクセスリクエストヘッダー 値のオプション : 、Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、および Pragma
AllowedMethod List 省略可能 クロスオリジンアクセスリクエスト方法 値のオプション : 、GET、PUT、POST、DELETE、HEAD
AllowedOrigin List 省略可能 クロスオリジンアクセスリクエスト元 なし
ExposeHeader List 省略可能 ユーザーがアプリケーションからのアクセスを許可されているレスポンスヘッダー (JavaScript XMLHttpRequest オブジェクトなど) なし
MaxAgeSeconds integer 省略可能 特定のリソースに対するブラウザプリフェッチ (OPTIONS) リクエストの結果が返されるまでのキャッシュ時間 なし

LifecycleConfiguration の構文

  1. LifecycleConfiguration”: { Rule”: [ { ID”: String, Prefix : String, Status : String, Expiration :{ Days : Integer, CreatedBeforeDate : String }, AbortMultipartUpload : { CreatedBeforeDate”: String, Days : String } } ]}

LifecycleConfiguration のプロパティ

名前 データ型 必須/省略可能 説明 制約
Rule List 省略可能 ライフサイクルルール なし
ID String 省略可能 一意のルール ID ID は最大 255 バイトです。 このパラメーターが指定されていないか NULL の場合、OSS は一意のルール ID を生成します。
Prefix String 省略可能 ライフサイクルルールに適用可能なプレフィックス このルールが有効なのはプレフィックスと一致するオブジェクトの場合だけです。 重複するプレフィックスは許可されません。
Status String 省略可能 ライフサイクルルールの有効化/無効化 値のオプション : [Enable] および [Disable]
Expiration Map 省略可能 オブジェクトルールの有効期限属性 なし
Days String 省略可能 最後のオブジェクト変更時刻以降にルールが有効になるまでの日数 オブジェクトの最終変更時刻以降の経過日数が指定の日数を超えると、ルールが実行されてオブジェクトが削除されます。 たとえば日数が 30 日に設定されている場合、最後の変更日付が 2016 年 1 月 1 日のオブジェクトは 2016 年 1 月 31 日にバックエンドプログラムによりスキャンされ削除されます。
CreatedBeforeDate String 省略可能 ルールが有効になる前の日付 日付は ISO8601 形式に従い、常に UTC 00:00 AM、たとえば 2002-10-11 T00:00:00.000Z とする必要があります。
AbortMultipartUpload Map 省略可能 有効期限 なし

LoggingConfiguration の構文

  1. LoggingConfiguration”: { TargetBucket”: String, TargetPrefix”: String}

LoggingConfiguration のプロパティ

名前 データ型 必須/省略可能 説明 制約
TargetBucket String 省略可能 アクセスログを保存するバケット なし
TargetPrefix String 省略可能 最終的に保存されたアクセスログファイルの名前のプレフィックス なし

WebsiteConfiguration の構文

  1. WebsiteConfiguration”:{ IndexDocument”: String, ErrorDocument”: String}

WebsiteConfiguration のプロパティ

名前 データ型 必須/省略可能 説明 制約
IndexDocument String 省略可能 静的ホームページ なし
ErrorDocument String 省略可能 静的エラーページ なし

RefererConfiguration の構文

  1. RefererConfiguration”:{ AllowEmptyReferer”: String, RefererList”: List}

RefererConfiguration プロパティ

名前 データ型 必須/省略可能 説明 制約
AllowEmptyReferer String 省略可能 リファラーフィールドが NULL のアクセスリクエストを許可するかどうか なし
RefererList List 省略可能 許可されているリファラーのホワイトリスト 許可されているリファラーのホワイトリスト

レスポンス値

Fn::GetAtt

  • Name: グローバルに一意のバケット名
  • DomainName: バケットアクセスで使用されるドメイン名
  • InternalDomainName: 内部ネットワークを介したバケットアクセスで使用されるドメイン名

コーディング例

  1. { 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”]} } }}
  1. </article>
  2. </main>