ALIYUN::OSS::Bucket 型は、OSS バケットを作成する場合に使用します。
構文
{ “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 の構文
“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 の構文
“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 の構文
“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 | 省略可能 | リファラーフィールドが NULL のアクセスリクエストを許可するかどうか | なし |
RefererList | List | 省略可能 | 許可されているリファラーのホワイトリスト | 許可されているリファラーのホワイトリスト |
レスポンス値
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”]} } }}