すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:ALIYUN::OSS::Bucket

最終更新日:Feb 06, 2026

ALIYUN::OSS::Bucket リソースタイプは、Object Storage Service (OSS) バケットを作成します。

構文

{
  "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
  }
}

プロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

バケット名

文字列

はい

いいえ

バケットの名前。

名前は 3~63 文字で、先頭と末尾は小文字または数字である必要があります。使用できる文字は小文字、数字、ハイフン (-) のみです。

説明

この名前はグローバルに一意である必要があります。AssociationProperty の AutoCompleteInput を使用すると、ランダムな文字列を自動生成できます。詳細については、「ランダム文字列の長さを制御する方法」をご参照ください。

アクセス制御

文字列

いいえ

はい

バケットへのアクセス権限です。

有効な値:

  • private(デフォルト):非公開

  • public-read:公開読み取り

  • public-read-write:公開読み書き

CORS構成

マップ

いいえ

はい

オリジン間リソース共有 (CORS) 構成です。

詳細については、「CORSConfiguration プロパティ」をご参照ください。

削除強制

ブール値

いいえ

はい

バケット内のオブジェクトを強制削除するかどうかを指定します。

有効な値:

  • true:強制削除

  • false(デフォルト):強制削除しない

EnableOssHdfsService

ブール値

いいえ

はい

OSS-HDFS サービスを有効にするかどうかを指定します。

有効な値:

  • true:OSS-HDFS サービスを有効化

    説明

    このサービスを有効化した後は、無効化できません。

  • false:OSS-HDFS サービスを有効化しない

BlockPublicAccess

Boolean

いいえ

はい

バケットへのパブリックアクセスをブロックするかどうかを指定します。

有効な値:

  • true:パブリックアクセスをブロック

  • false(デフォルト):パブリックアクセスをブロックしない

ライフサイクル設定

マップ

いいえ

はい

バケット内のオブジェクトに対するライフサイクル構成です。

詳細については、「LifecycleConfiguration のプロパティ」をご参照ください。

ログ記録構成

マップ

いいえ

いいえ

ログストレージ構成です。

詳細については、「LoggingConfiguration プロパティ」をご参照ください。

ポリシー

マップ

いいえ

はい

バケットポリシーです。

詳細については、「一般的なバケットポリシーの例」をご参照ください。

冗長性タイプ

文字列

いいえ

いいえ

バケットのデータ冗長タイプです。

有効な値:

  • LRS(デフォルト):ローカル冗長ストレージ (LRS)。データは同一ゾーン内の複数のストレージデバイスに冗長的に保存されます。これにより、最大 2 台のストレージデバイスが同時に故障してもデータ損失から保護されます。

  • ZRS:ゾーン冗長ストレージ (ZRS)。データは同一リージョン内の 3 つのゾーンに冗長的に保存されます。これにより、停電や火災などのイベントによってゾーン全体が停止してもデータ損失から保護されます。

リファラー設定

マップ

いいえ

はい

ホットリンク保護の設定。

詳細については、「RefererConfiguration プロパティ」をご参照ください。

ResourceGroupId

文字列

いいえ

いいえ

リソースグループの ID。

なし

サーバー側暗号化設定

マップ

いいえ

はい

サーバ側暗号化構成です。

詳細については、「ServerSideEncryptionConfiguration プロパティ」をご参照ください。

StorageClass

文字列

いいえ

いいえ

バケットのストレージクラスです。

有効な値:

  • 標準(デフォルト):標準。

  • IA:低頻度アクセス

  • Archive:アーカイブストレージ

タグ

マップ

いいえ

はい

バケットのタグです。各タグはキーと値のペアで構成されます。

最大 20 個のタグを設定できます。

キーの長さは 1~64 文字で、http://https://、または Aliyun で開始してはいけません。

値の長さは 0~128 文字で、UTF-8 でエンコードされている必要があります。

バージョン管理の設定

マップ

いいえ

はい

バージョン管理ステータスを格納するコンテナーです。

詳細については、「VersioningConfiguration のプロパティ」をご参照ください。

WebsiteConfigurationV2

マップ

いいえ

いいえ

Web サイトの設定。

詳細については、「WebsiteConfigurationV2 のプロパティ」をご参照ください。

CORSConfiguration 構文

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

CORSConfiguration プロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

CORSRule

リスト

いいえ

はい

CORS ルールです。

詳細については、「CORSRule プロパティ」をご参照ください。

レスポンス Vary

ブール値

いいえ

はい

Vary: Origin ヘッダーを返すかどうかを指定します。

有効な値:

  • true:Vary: Origin ヘッダーを、クロスオリジンリクエストの送信の有無や成功の有無に関係なく返します。

  • false(デフォルト):Vary: Origin ヘッダーを返しません。

説明

このフィールドは単独では設定できません。このフィールドを有効にするには、少なくとも 1 つの CORS ルールを設定する必要があります。

CORSRule 構文

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

CORSRule プロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

許可されたヘッダー

リスト

いいえ

はい

クロスオリジンリクエストで許可されるヘッダーです。

有効な値:

  • *

  • Cache-Control

  • コンテンツ言語

  • コンテンツタイプ

  • 有効期限

  • 最終更新日

  • プラグマ

許可されたメソッド

リスト

いいえ

はい

クロスオリジンリクエストで許可される HTTP メソッドです。

有効な値:

  • *

  • GET

  • PUT

  • POST

  • 削除

  • HEAD

許可されたオリジン

リスト

いいえ

はい

クロスオリジンリクエストで許可されるオリジンです。

なし

ExposeHeader

リスト

いいえ

はい

ユーザーがアプリケーションからアクセスできるレスポンスヘッダー。

アスタリスク (*) は使用できません。

MaxAgeSeconds

番号

いいえ

はい

ブラウザが特定のリソースに対する OPTIONS リクエストの結果をキャッシュする時間です。

なし

LifecycleConfiguration 構文

"LifecycleConfiguration": {
  "Rule": List
}

LifecycleConfiguration のプロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

ルール

リスト

はい

いいえ

ライフサイクルルールです。

詳細については、「ルールのプロパティ」をご参照ください。

ルール構文

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

ルール プロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

プレフィックス

文字列

はい

いいえ

ルールが適用されるプレフィックス。

名前がこのプレフィックスに一致するオブジェクトのみがルールの影響を受けます。

マルチパートアップロードの中止

マップ

いいえ

いいえ

未完了のマルチパートアップロードの有効期限設定です。

詳細については、「AbortMultipartUpload プロパティ」をご参照ください。

有効期限

マップ

いいえ

いいえ

オブジェクトの有効期限設定です。

詳細については、「有効期限のプロパティ」をご参照ください。

ID

文字列

いいえ

いいえ

ルールの固有 ID。

ID の長さは最大 255 文字です。ID を指定しない場合や空の場合、OSS が自動的に一意な ID を生成します。

ステータス

文字列

いいえ

はい

ルールを有効または無効にします。

有効な値:

  • Enabled:ルールを有効化

  • Disabled:ルールを無効化

フィルタ

マップ

いいえ

いいえ

この除外ルールは 1 つの条件のみをサポートします。

詳細については、「Filter のプロパティ」をご参照ください。

Transition

List

いいえ

いいえ

ストレージ冗長性の移行タスクのリストです。

詳細については、「Transition のプロパティ」をご参照ください。

Transition 構文

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

Transition のプロパティ

プロパティ名

タイプ

必須

更新を許可

説明

制約

CreatedBeforeDate

String

いいえ

いいえ

日付を指定します。OSS は、最終更新時刻がこの日付より前のオブジェクトにライフサイクルルールを適用します。

日付は ISO 8601 形式に従い、UTC 時間の午前 0 時 (00:00:00) である必要があります。
例:2002-10-11T00:00:00.000Z

Days

Integer

いいえ

いいえ

オブジェクトの最終更新後、ライフサイクルルールが適用されるまでの日数を指定します。

有効な値: 30、90、180 などの正の整数。

IsAccessTime

Boolean

いいえ

いいえ

ライフサイクルルールをオブジェクトの最終アクセス時刻に基づいて適用するかどうかを指定します。

  • true:最終アクセス時刻に基づいてルールを適用

  • false:最終アクセス時刻に基づいてルールを適用せず、作成時刻や更新時刻などの他の条件に基づいて適用

ReturnToStdWhenVisit

Boolean

いいえ

いいえ

非標準ストレージクラスのオブジェクトにアクセスされた際に、そのストレージクラスを Standard に戻すかどうかを指定します。

このオプションは、IsAccessTime が true に設定されている場合にのみ有効です。

AllowSmallFile

Boolean

いいえ

いいえ

操作をオブジェクトの最終アクセス時刻に基づくかどうかを指定します。

64 KB 未満のオブジェクトのストレージクラスを IA、Archive、または Cold Archive に変更します。

StorageClass

String

いいえ

いいえ

オブジェクトが変更されるストレージクラスです。

有効な値:

  • IA

  • Archive

  • ColdArchive

  • DeepColdArchive

フィルタ構文

"Filter":{
  "Not": Map
}

Filter のプロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

Not

マップ

いいえ

いいえ

除外ルール。

詳細については、「Not のプロパティ」をご参照ください。

構文ではない

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

プロパティではありません

プロパティ名

種類

必須

更新を許可

説明

制約

タグ

リスト

いいえ

いいえ

除外ルールのタグです。

この除外ルールは、最大で 1 つのオブジェクトタグに適用されます。

プレフィックス

文字列

いいえ

いいえ

ルールのプレフィックスです。

この除外ルールに適用されるオブジェクトプレフィックスの条件は以下のとおりです:

  • Rule ノードでプレフィックスを設定した場合、Not ノードのプレフィックスは Rule ノードで設定されたプレフィックスで始まる必要があります。たとえば、Rule ノードのプレフィックスが dir の場合、Not ノードのプレフィックスは dir で始まる必要があり、dir1dir2 のようになります。

  • Not ノードでタグを設定しない場合、Not ノードのプレフィックスは Rule ノードのプレフィックスと同一であってはなりません。

要するに、除外ルールを設定する際、親ルールでプレフィックスを定義している場合、Not ノードのプレフィックスは親プレフィックスのサブセットまたは特定のインスタンスである必要があります。同一であってはならず、タグを設定した場合を除きます。この設計により、クラウドストレージ、データバックアップ、コンテンツフィルタリングなどのシナリオで、細かい粒度かつ柔軟なファイルまたはオブジェクトのフィルタリングが可能になります。

有効期限の構文

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

有効期限のプロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

作成日以前

文字列

いいえ

いいえ

日付を指定します。OSS は、最終更新時刻がこの日付より前のオブジェクトにルールを適用します。

日付は ISO 8601 形式に従い、UTC 時間の午前 0 時 (00:00:00) である必要があります。例:2002-10-11T00:00:00.000Z

日数

番号

いいえ

いいえ

オブジェクトの最終更新後、ルールが適用されるまでの日数を指定します。

OSS はオブジェクトの最終更新時刻から日数を計算します。指定された日数が経過すると、OSS はオブジェクトを削除します。たとえば、日数を 30 に設定した場合、最終更新日が 2016 年 1 月 1 日のオブジェクトは、2016 年 1 月 31 日に削除されます。

失効オブジェクト削除マーカー

ブール値

いいえ

いいえ

期限切れの削除マーカーを自動的に削除するかどうかを指定します。

有効な値:

  • true:期限切れの削除マーカーを自動的に削除します。true に設定した場合、Days および CreatedBeforeDate はサポートされません。

  • false:期限切れの削除マーカーを自動的に削除しません。false に設定した場合、Days または CreatedBeforeDate のいずれかを指定する必要があります。

AbortMultipartUpload 構文

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

AbortMultipartUpload プロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

作成日以前

文字列

いいえ

いいえ

ルールが適用される日付を指定します。

日付は ISO 8601 形式に従い、UTC 時間の午前 0 時 (00:00:00) である必要があります。例:2002-10-11T00:00:00.000Z

日数

番号

いいえ

いいえ

オブジェクトの最終更新後、ルールが適用されるまでの日数を指定します。

OSS はオブジェクトの最終更新時刻から日数を計算します。指定された日数が経過すると、OSS はオブジェクトを削除します。たとえば、日数を 30 に設定した場合、最終更新日が 2016 年 1 月 1 日のオブジェクトは、2016 年 1 月 31 日に削除されます。

LoggingConfiguration 構文

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

LoggingConfiguration プロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

ターゲットバケット

文字列

No

いいえ

アクセスログが保存されるバケット。

なし

TargetPrefix

文字列

No

いいえ

保存されたアクセスログファイルのプレフィックス。

なし

WebsiteConfigurationV2 構文

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

WebsiteConfigurationV2 プロパティ

プロパティ名

タイプ

必須

更新を許可

説明

制約

ErrorDocument

Map

いいえ

いいえ

バケットにホストされている静的エラーページです。

なし

IndexDocument

Map

いいえ

いいえ

バケットにホストされている静的ホームページです。

なし

RoutingRules

List

いいえ

いいえ

ルーティングルールのリスト。

最大長: 20。

IndexDocument 構文

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

IndexDocument プロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

接尾辞

文字列

はい

いいえ

デフォルトインデックスページです。

デフォルトインデックスページを設定した後、末尾がスラッシュ (/) で終わるオブジェクトにアクセスすると、OSS はこのデフォルトインデックスページを返します。

種類

文字列

いいえ

いいえ

デフォルトインデックスページを設定した後、存在しないオブジェクトにアクセスし、そのオブジェクト名がスラッシュ (/) で終わっていない場合の動作を指定します。

このルールは SupportSubDir が true に設定されている場合にのみ有効であり、RoutingRule の後に、ErrorFile の前に適用されます。デフォルトインデックスページが index.html であると仮定します。bucket.oss-cn-hangzhou.aliyuncs.com/abc にアクセスし、オブジェクト abc が存在しない場合、Type の値ごとの動作は以下のとおりです:

  • 0(デフォルト):abc/index.html が存在するかどうかを確認します(オブジェクト名にスラッシュ (/) とインデックスページ名を追加)。存在する場合、302 リダイレクトステータスコードを返し、Location ヘッダーの URL を /abc/(スラッシュ (/) + オブジェクト名 + スラッシュ (/))に設定します。存在しない場合、404 エラーを返し、ErrorFile の確認を続行します。

  • 1:直接 404 エラーを返します。エラーの種類は NoSuchKey です。その後、ErrorFile の確認を続行します。

  • 2:abc/index.html が存在するかどうかを確認します。存在する場合、オブジェクトの内容を直接返します。存在しない場合、404 エラーを返し、ErrorFile の確認を続行します。

サポートサブディレクトリ

文字列

いいえ

いいえ

サブディレクトリにアクセスした際に、そのサブディレクトリのデフォルトホームページにリダイレクトするかどうかを指定します。

有効な値:

  • true:サブディレクトリのデフォルトホームページにリダイレクト

  • false(デフォルト):サブディレクトリのデフォルトホームページにリダイレクトせず、ルートディレクトリのデフォルトホームページにリダイレクト。たとえば、デフォルトホームページが index.html であると仮定します。bucket.oss-cn-hangzhou.aliyuncs.com/subdir/ にアクセスし、SupportSubDir を false に設定した場合、bucket.oss-cn-hangzhou.aliyuncs.com/index.html にリダイレクトされます。SupportSubDir を true に設定した場合、bucket.oss-cn-hangzhou.aliyuncs.com/subdir/index.html にリダイレクトされます。

RoutingRules 構文

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

ルーティング規則のプロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

リダイレクト

マップ

はい

いいえ

ルールが一致した場合に実行する操作を指定します。

詳細については、「Redirect のプロパティ」をご参照ください。

条件

マップ

はい

いいえ

一致条件です。

このルールは、指定されたすべての条件が満たされた場合にのみ有効になります。このコンテナー内のすべての条件が満たされた場合にのみ、一致が成功します。詳細については、「Condition プロパティ」をご参照ください。

ルール番号

整数

はい

いいえ

一致および実行するルーティングルールのシーケンス番号です。OSS はこのシーケンス番号の順序でルールを一致させます。

一致が成功した場合、OSS はこのルールを実行し、後続のルールの実行を停止します。

条件構文

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

条件のプロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

KeyPrefixEquals

文字列

No

いいえ

一致させるオブジェクト名のプレフィックス。

None.

HttpErrorCodeReturnedEquals

文字列

No

いいえ

指定されたオブジェクトにアクセスした際に返される HTTP ステータスコードが、ルールの一致条件となります。

このフィールドは、ミラーリングベースのオリジンフェッチを使用するリダイレクトルールにおいて、404 である必要があります。

IncludeHeaders

リスト

No

いいえ

リクエストに指定されたヘッダーが含まれ、その値が指定された値と一致する場合にのみ、ルールが一致します。

最大 10 個の条件を設定できます。詳細については、「IncludeHeaders プロパティ」をご参照ください。

KeySuffixEquals

文字列

いいえ

いいえ

一致させるオブジェクト名のサフィックス。

None.

IncludeHeaders 構文

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

IncludeHeaders プロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

等しい

文字列

No

いいえ

ヘッダーの値。

なし

キー

文字列

はい

いいえ

ヘッダーの名前。

なし

RefererConfiguration 構文

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

RefererConfiguration プロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

空の Referer を許可する

ブール値

No

いいえ

Referer ヘッダーが空のリクエストがバケットにアクセスすることを許可するかどうかを指定します。

有効な値:

  • true(デフォルト):許可

  • false:許可しない

リファラーリスト

リスト

No

いいえ

Referer ヘッダーのホワイトリストです。

なし

リダイレクト構文

"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
}

リダイレクトのプロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

MirrorFollowRedirect

ブール値

いいえ

いいえ

ミラーリングベースのオリジンフェッチリクエストの結果が 3xx ステータスコードを返した場合に、指定された Location にリダイレクトを継続してデータを取得するかどうかを指定します。

この設定は RedirectType が Mirror に設定されている場合にのみ有効です。たとえば、オリジンサーバーにリクエストをミラーリングした際に、オリジンサーバーが 302 ステータスコードと Location ヘッダーを返す場合があります。

  • true に設定した場合、OSS は Location ヘッダーで指定されたアドレスへのリクエストを継続します。このプロセスでは最大 10 回のリダイレクトが許可されます。10 回のリダイレクト後にミラーリングベースのオリジンフェッチリクエストが失敗すると、エラーが返されます。

  • false に設定した場合、OSS は 302 ステータスコードを直接返し、Location ヘッダーをクライアントに渡します。クライアントがリダイレクトを継続するかどうかを決定します。

    デフォルト値: true。

MirrorURL

文字列

いいえ

いいえ

ミラーリングベースのオリジンフェッチ用のオリジンサーバー URL です。

この設定は RedirectType が Mirror に設定されている場合にのみ有効です。オリジン URL は http:// または https:// で始まり、スラッシュ (/) で終わる必要があります。OSS はこの URL にオブジェクト名を追加して、最終的な URL を形成します。たとえば、オブジェクト名が myobject で、このパラメーターを http://example.com/ に設定した場合、オリジンフェッチ URL は http://example.com/myobject になります。このパラメーターを http://example.com/dir1/ に設定した場合、オリジンフェッチ URL は http://example.com/dir1/myobject になります。

PassQueryString

ブール値

いいえ

いいえ

リダイレクトまたはミラーリングベースのオリジンフェッチを実行する際に、クエリパラメーターを含めるかどうかを指定します。

たとえば、ユーザーがクエリパラメーター a=b&c=d を使用して OSS にアクセスし、PassQueryString が true に設定されている場合、クエリパラメーターは 302 リダイレクトの Location ヘッダーに追加されます(例:Location: example.com?a=b&c=d)。ルールタイプがミラーリングベースのオリジンフェッチの場合、クエリパラメーターはオリジンフェッチリクエストにも含まれます。有効値:true、false(デフォルト)。

MirrorPassQueryString

ブール値

いいえ

いいえ

PassQueryString と同じですが、PassQueryString よりも優先されます。この設定は RedirectType が Mirror に設定されている場合にのみ有効です。

デフォルト値: false。

置換後のキー

文字列

いいえ

いいえ

Redirect ルールを使用する際、オブジェクト名は ReplaceKeyWith で指定された値に置き換えられます。これにより、変数を使用できます。

サポートされている唯一の変数は {key} で、リクエスト内のオブジェクト名を表します。たとえば、test という名前のオブジェクトにアクセスし、ReplaceKeyWith を prefix/{key} に設定した場合、Location ヘッダーは http://example.com/prefix/test.suffix を指します。

つまり、クライアントが元のオブジェクト(例:test)をリクエストすると、サーバーはリクエストを新しい場所にリダイレクトします。新しい場所のパスは、ReplaceKeyWith で定義されたパターンに基づいて動的に生成されます。この例では、新しいパスに元のオブジェクト名(test)の前に「prefix/」が追加され、最終的なリダイレクト URL は「http://example.com/prefix/test.suffix」となります。「.suffix」の部分は固定されており、「${key}」はオブジェクト名「test」に正常に置き換えられています。

プロトコル

文字列

いいえ

いいえ

リダイレクトに使用するプロトコルです。

このルールは RedirectType が External または AliCDN に設定されている場合にのみ適用されます。たとえば、test という名前のファイルにアクセスし、HTTPS を使用して example.com にリダイレクトしたい場合、HTTP 応答の Location ヘッダーは「https://example.com/test」に設定する必要があります。有効値:http、https。

Httpリダイレクトコード

文字列

いいえ

いいえ

リダイレクト中に返される HTTP ステータスコードです。

これは RedirectType が External または AliCDN に設定されている場合にのみ適用されます。デフォルト値:302。有効値:301、302、307。

ReplaceKeyPrefixWith

文字列

いいえ

いいえ

リダイレクト時にオブジェクト名のプレフィックスを置き換える値です。プレフィックスが空の場合、この文字列がオブジェクト名の前に挿入されます。

説明

ReplaceKeyWith または ReplaceKeyPrefixWith プロパティのいずれか一方のみを使用できます。たとえば、オブジェクト名が ABC/test.TXT で、KeyPrefixEquals が ABC/ に設定されており、ReplaceKeyPrefixWith が def/ に設定されている場合、Location ヘッダーは http://example.com/def/test.txt を指します。

リダイレクトの種類

文字列

はい

いいえ

リダイレクトのタイプです。

有効な値:

  • Mirror:ミラーリングベースのオリジンフェッチ

  • External:外部リダイレクト。OSS は 3xx ステータスコードを返して、クライアントに別のアドレスへのリダイレクトを指示します。

  • AliCDN:Alibaba Cloud CDN リダイレクト。主に Alibaba Cloud のコンテンツ配信ネットワーク (CDN) で使用されます。External とは異なり、OSS は追加のヘッダーを追加します。Alibaba Cloud CDN はこのヘッダーを認識し、指定されたアドレスにリダイレクトしてデータを取得し、ユーザーに返します。ユーザーに 3xx リダイレクトリクエストを返しません。

MirrorHeaders

マップ

いいえ

いいえ

オリジンサーバーにミラーリングするヘッダーです。

この設定は、RedirectType が Mirror に設定されている場合にのみ有効です。詳細については、「MirrorHeaders のプロパティ」をご参照ください。

MirrorCheckMd5

ブール値

いいえ

いいえ

オリジンサーバーから取得したデータの MD5 ハッシュを検証するかどうかを指定します。

この設定は RedirectType が Mirror に設定されている場合にのみ有効です。MirrorCheckMd5 が true に設定されている場合、オリジンサーバーが応答で Content-MD5 ヘッダーを返すと、OSS は取得したデータの MD5 ハッシュがヘッダーと一致するかどうかを検証します。一致しない場合、OSS はデータを OSS に保存しません。デフォルト値:false。

置換プレフィックスの有効化

ブール値

いいえ

いいえ

true に設定すると、オブジェクト名のプレフィックスは ReplaceKeyPrefixWith で指定された値に置き換えられます。このフィールドが指定されていない場合や空の場合、オブジェクト名のプレフィックスは切り捨てられます。

注:ReplaceKeyWith が空でない場合、このフィールドを true に設定することはできません。デフォルト値:false。

ホスト名

文字列

いいえ

いいえ

リダイレクト用のドメイン名です。

ドメイン名はドメイン名規則に従う必要があります。たとえば、ファイル名が test で、プロトコルが https、ホスト名が example.com に設定されている場合、Location ヘッダーは https://example.com/test になります。

MirrorHeaders 構文

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

MirrorHeaders プロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

削除

リスト

いいえ

いいえ

指定されたヘッダーをオリジンサーバーに渡さないようにします。

これは RedirectType が Mirror に設定されている場合にのみ適用されます。各ヘッダーの長さは最大 1,024 バイトで、使用できる文字は 0-9、a-z、A-Z、ハイフン (-) のみです。最大 10 個のヘッダーを指定できます。

PassAll

ブール値

いいえ

いいえ

以下にリストされているヘッダーを除くすべてのヘッダーをオリジンサーバーに渡すかどうかを指定します。

これは RedirectType が Mirror に設定されている場合にのみ適用されます。除外するヘッダーには以下が含まれます:- content-length、authorization2、authorization、range、date などの一般ヘッダー - oss-、x-oss-、x-drs- で始まるヘッダー

デフォルト値: false

つまり、これらの特定のヘッダーはデフォルトでミラーソースに渡されます。この動作を変更するには、この値を true に設定して、これらのヘッダーが渡されないようにします。

セット

リスト

いいえ

いいえ

オリジンサーバーにヘッダーを設定します。このヘッダーは、リクエストに指定されたヘッダーが含まれているかどうかに関係なく、オリジンサーバーへのリクエスト送信時に設定されます。

この機能は RedirectType が Mirror に設定されている場合にのみ適用されます。最大 10 組のヘッダーを設定できます。詳細については、「Sets プロパティ」をご参照ください。

Pass

リスト

いいえ

いいえ

指定されたヘッダーをオリジンサーバーに渡します。

これは、RedirectType が Mirror に設定されている場合にのみ適用されます。各ヘッダーの長さは最大 1,024 バイトで、0-9、a-z、A-Z、およびハイフン (-) の文字のみを含めることができます。最大 10 個のヘッダーを指定できます。

セットの構文

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

プロパティを設定します

プロパティ名

種類

必須

更新を許可

説明

制約

文字列

はい

いいえ

ヘッダー値を、\r\n を除く最大 1,024 バイトで設定します。

この設定は、RedirectType が Mirror に設定されている場合のみ有効です。

キー

文字列

はい

いいえ

ヘッダーのキーを最大 1,024 バイトで設定します。文字セットは Pass と同一です。

この設定は、RedirectType が Mirror に設定されている場合のみ有効です。

ErrorDocument 構文

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

ErrorDocument プロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

キー

文字列

はい

いいえ

デフォルトのエラーページ。

エラーページを指定した場合、OSS はリクエストされたオブジェクトが存在しないときにこのエラーページを返します。

HttpStatus

文字列

いいえ

いいえ

エラーページに対応する HTTP ステータスコードです。

有効な値: 200、404 (デフォルト)。

ServerSideEncryptionConfiguration 構文

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

ServerSideEncryptionConfiguration プロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

SSEアルゴリズム

文字列

はい

いいえ

デフォルトのサーバ側暗号化メソッド。

有効な値:

  • KMS

  • AES256

KMSMasterKeyID

文字列

いいえ

いいえ

キー ID。

SSEAlgorithm が KMS に設定されており、かつ暗号化に指定のキーを使用する場合にのみ必須です。

VersioningConfiguration 構文

"VersioningConfiguration":{
  "Status": String
}

VersioningConfiguration のプロパティ

プロパティ名

種類

必須

更新を許可

説明

制約

ステータス

文字列

はい

いいえ

バージョン管理ステータス。

有効な値:

  • Enabled:バージョン管理を有効にします。

  • Suspended:バージョン管理を一時停止します。

戻り値

Fn::GetAtt

  • 名前:バケットの名前。この名前はグローバルに一意である必要があります。

  • ドメイン名:パブリックネットワーク経由でバケットにアクセスする際に使用されるドメイン名。

  • 内部ドメイン名:内部ネットワーク経由でバケットにアクセスする際に使用されるドメイン名。

  • Arn: Alibaba Cloud リソースネーム (ARN)。

シナリオ 1:OSS バケットの作成

今すぐ作成

ROSTemplateFormatVersion: '2015-09-01'
Description: シンプルな OSS バケットを作成します
Parameters:
  BucketName:
    AssociationProperty: AutoCompleteInput
    AssociationPropertyMetadata:
      Length: 5
      Prefix: simple-oss-bucket
      CharacterClasses:
        - Class: lowercase
          min: 1
    Type: String
    Label:
      en: バケット名
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": "シンプルな OSS バケットを作成します",
  "Parameters": {
    "BucketName": {
      "Type": "String",
      "Label": {
        "en": "バケット名"
      },
      "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"
        ]
      }
    }
  }
}

シナリオ 2:OSS バケットの作成、CDN 加速の有効化、ドメイン名の名前解決設定、およびグローバルアクセスとカスタムキャッシュルールをサポートするファイル配信戦略の最適化

今すぐ作成

ROSTemplateFormatVersion: '2015-09-01'
Description:
  zh-cn: OSS バケットの作成と CDN 加速の有効化、ドメイン名の名前解決設定、およびグローバルアクセスとカスタムキャッシュルールをサポートするファイル配信戦略の最適化
  en: OSS バケットの作成と CDN 加速の有効化、ドメイン名の名前解決設定、およびグローバルアクセスとカスタムキャッシュルールをサポートするファイル配信戦略の最適化
Parameters:
  Scope:
    Type: String
    Label:
      zh-cn: 加速エリア
      en: 加速エリア
    Description:
      zh-cn: 加速エリアを選択します。加速リージョンが中国本土のみまたはグローバルの場合、サービス用ドメイン名には ICP 登録が必要です。
      en: 加速エリアを選択します。加速リージョンが中国本土のみまたはグローバルの場合、サービス用ドメイン名には ICP 登録が必要です。
    Default: domestic
    AllowedValues:
      - domestic
      - overseas
      - global
  DomainName:
    Type: String
    Label:
      zh-cn: CDN ドメイン名
      en: CDN ドメイン名
    Description:
      zh-cn: CDN ドメイン名とは、オリジンサーバーへのアクセスを高速化するために CDN に登録されたドメイン名です。ご利用のアカウントに属するドメイン名を入力してください。
      en: CDN ドメイン名とは、オリジンサイトのアクセスを高速化するために CDN に登録されたドメイン名です。ご利用のアカウントに属するドメイン名を入力してください。
  BucketName:
    Type: String
    Label:
      en: Bucket Name
      zh-cn: Bucket Name
    Description:
      en: 名前の長さは 3~63 文字で、先頭および末尾は小文字または数字である必要があります。使用可能な文字は小文字、数字、およびハイフン (-) のみです。<br/><b>注:<font color='blue'>OSS 内でバケット名はグローバルに一意である必要があります。バケット作成後に名前を変更することはできません。</font>
      zh-cn: 名前の長さは 3~63 文字で、先頭および末尾は小文字または数字である必要があります。使用可能な文字は小文字、数字、およびハイフン (-) のみです。<br/><b>注:<font color='blue'>バケット名はグローバルに一意である必要があります。既存の名前でバケットを作成することはできません。</font>
    AssociationProperty: AutoCompleteInput
    AssociationPropertyMetadata:
      Length: 6
      Prefix: image-example-
      CharacterClasses:
        - Class: lowercase
          min: 1
Resources:
  OssBucket:
    Type: ALIYUN::OSS::Bucket
    DependsOn: AutoEnableOSS
    Properties:
      BucketName:
        Ref: BucketName
      DeletionForce: true
  AutoEnableCDN:
    Type: ALIYUN::ROS::AutoEnableService
    Properties:
      ServiceName: CDN
  AutoEnableOSS:
    Type: ALIYUN::ROS::AutoEnableService
    Properties:
      ServiceName: OSS
  Domain:
    Type: ALIYUN::CDN::Domain
    Properties:
      Sources:
        Fn::Sub:
          - '[{"content":"${content}", "type":"oss", "priority":"20", "port":80, "weight":"10"}]'
          - content:
              Fn::GetAtt:
                - OssBucket
                - DomainName
      CdnType: web
      Scope:
        Ref: Scope
      DomainName:
        Ref: DomainName
    DependsOn: AutoEnableCDN
  DomainRecord:
    Type: ALIYUN::DNS::DomainRecord
    Properties:
      Type: CNAME
      RR:
        Fn::Select:
          - 0
          - Fn::Split:
              - .
              - Ref: DomainName
      Value:
        Fn::GetAtt:
          - Domain
          - Cname
      DomainName:
        Fn::Join:
          - .
          - Fn::Select:
              - '1:'
              - Fn::Split:
                  - .
                  - Ref: DomainName
    DependsOn: Domain
  DomainConfig:
    Type: ALIYUN::CDN::DomainConfig
    Properties:
      FunctionList:
        - FunctionArgs:
            - ArgName: file_type
              ArgValue: jpg,png,jpeg
            - ArgName: weight
              ArgValue: '99'
            - ArgName: ttl
              ArgValue: '7776000'
          FunctionName: filetype_based_ttl_set
        - FunctionArgs:
            - ArgName: private_oss_auth
              ArgValue: 'on'
            - ArgName: perm_private_oss_tbl
              ArgValue: ''
          FunctionName: l2_oss_key
        - FunctionArgs:
            - ArgName: filetype
              ArgValue: jpeg
            - ArgName: webp
              ArgValue: 'off'
            - ArgName: orient
              ArgValue: 'off'
            - ArgName: slim
              ArgValue: '90'
            - ArgName: enable
              ArgValue: 'on'
          FunctionName: image_transform
      DomainNames:
        Ref: Domain
    DependsOn: DomainRecord
Outputs:
  Cname:
    Description: CNAME ドメイン名
    Value:
      Fn::GetAtt:
        - Domain
        - Cname
  DomainName:
    Description: ドメイン名
    Value:
      Ref: Domain
Metadata:
  ALIYUN::ROS::Interface:
    ParameterGroups:
      - Parameters:
          - Scope
          - DomainName
          - BucketName
<br/><br/>
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": {
    "zh-cn": "OSS バケットの作成と CDN 加速の有効化、ドメイン名の名前解決設定、およびグローバルアクセスとカスタムキャッシュルールをサポートするファイル配信戦略の最適化",
    "en": "OSS バケットの作成と CDN 加速の有効化、ドメイン名の名前解決設定、およびグローバルアクセスとカスタムキャッシュルールをサポートするファイル配信戦略の最適化"
  },
  "Parameters": {
    "Scope": {
      "Type": "String",
      "Label": {
        "zh-cn": "加速エリア",
        "en": "加速エリア"
      },
      "Description": {
        "zh-cn": "加速エリアを選択します。加速リージョンが中国本土のみまたはグローバルの場合、サービス用ドメイン名には ICP 登録が必要です。",
        "en": "加速エリアを選択します。加速リージョンが中国本土のみまたはグローバルの場合、サービス用ドメイン名には ICP 登録が必要です。"
      },
      "Default": "domestic",
      "AllowedValues": [
        "domestic",
        "overseas",
        "global"
      ]
    },
    "DomainName": {
      "Type": "String",
      "Label": {
        "zh-cn": "CDN ドメイン名",
        "en": "CDN ドメイン名"
      },
      "Description": {
        "zh-cn": "CDN ドメイン名とは、オリジンサーバーへのアクセスを高速化するために CDN に登録されたドメイン名です。ご利用のアカウントに属するドメイン名を入力してください。",
        "en": "CDN ドメイン名とは、オリジンサイトのアクセスを高速化するために CDN に登録されたドメイン名です。ご利用のアカウントに属するドメイン名を入力してください。"
      }
    },
    "BucketName": {
      "Type": "String",
      "Label": {
        "en": "Bucket Name",
        "zh-cn": "Bucket Name"
      },
      "Description": {
        "en": "名前の長さは 3~63 文字で、先頭および末尾は小文字または数字である必要があります。使用可能な文字は小文字、数字、およびハイフン (-) のみです。<br/><b>注:<font color='blue'>OSS 内でバケット名はグローバルに一意である必要があります。バケット作成後に名前を変更することはできません。</font>",
        "zh-cn": "名前の長さは 3~63 文字で、先頭および末尾は小文字または数字である必要があります。使用可能な文字は小文字、数字、およびハイフン (-) のみです。<br/><b>注:<font color='blue'>バケット名はグローバルに一意である必要があります。既存の名前でバケットを作成することはできません。</font>"
      },
      "AssociationProperty": "AutoCompleteInput",
      "AssociationPropertyMetadata": {
        "Length": 6,
        "Prefix": "image-example-",
        "CharacterClasses": [
          {
            "Class": "lowercase",
            "min": 1
          }
        ]
      }
    }
  },
  "Resources": {
    "OssBucket": {
      "Type": "ALIYUN::OSS::Bucket",
      "DependsOn": "AutoEnableOSS",
      "Properties": {
        "BucketName": {
          "Ref": "BucketName"
        },
        "DeletionForce": true
      }
    },
    "AutoEnableCDN": {
      "Type": "ALIYUN::ROS::AutoEnableService",
      "Properties": {
        "ServiceName": "CDN"
      }
    },
    "AutoEnableOSS": {
      "Type": "ALIYUN::ROS::AutoEnableService",
      "Properties": {
        "ServiceName": "OSS"
      }
    },
    "Domain": {
      "Type": "ALIYUN::CDN::Domain",
      "Properties": {
        "Sources": {
          "Fn::Sub": [
            "[{\"content\":\"${content}\", \"type\":\"oss\", \"priority\":\"20\", \"port\":80, \"weight\":\"10\"}]",
            {
              "content": {
                "Fn::GetAtt": [
                  "OssBucket",
                  "DomainName"
                ]
              }
            }
          ]
        },
        "CdnType": "web",
        "Scope": {
          "Ref": "Scope"
        },
        "DomainName": {
          "Ref": "DomainName"
        }
      },
      "DependsOn": "AutoEnableCDN"
    },
    "DomainRecord": {
      "Type": "ALIYUN::DNS::DomainRecord",
      "Properties": {
        "Type": "CNAME",
        "RR": {
          "Fn::Select": [
            0,
            {
              "Fn::Split": [
                ".",
                {
                  "Ref": "DomainName"
                }
              ]
            }
          ]
        },
        "Value": {
          "Fn::GetAtt": [
            "Domain",
            "Cname"
          ]
        },
        "DomainName": {
          "Fn::Join": [
            ".",
            {
              "Fn::Select": [
                "1:",
                {
                  "Fn::Split": [
                    ".",
                    {
                      "Ref": "DomainName"
                    }
                  ]
                }
              ]
            }
          ]
        }
      },
      "DependsOn": "Domain"
    },
    "DomainConfig": {
      "Type": "ALIYUN::CDN::DomainConfig",
      "Properties": {
        "FunctionList": [
          {
            "FunctionArgs": [
              {
                "ArgName": "file_type",
                "ArgValue": "jpg,png,jpeg"
              },
              {
                "ArgName": "weight",
                "ArgValue": "99"
              },
              {
                "ArgName": "ttl",
                "ArgValue": "7776000"
              }
            ],
            "FunctionName": "filetype_based_ttl_set"
          },
          {
            "FunctionArgs": [
              {
                "ArgName": "private_oss_auth",
                "ArgValue": "on"
              },
              {
                "ArgName": "perm_private_oss_tbl",
                "ArgValue": ""
              }
            ],
            "FunctionName": "l2_oss_key"
          },
          {
            "FunctionArgs": [
              {
                "ArgName": "filetype",
                "ArgValue": "jpeg"
              },
              {
                "ArgName": "webp",
                "ArgValue": "off"
              },
              {
                "ArgName": "orient",
                "ArgValue": "off"
              },
              {
                "ArgName": "slim",
                "ArgValue": "90"
              },
              {
                "ArgName": "enable",
                "ArgValue": "on"
              }
            ],
            "FunctionName": "image_transform"
          }
        ],
        "DomainNames": {
          "Ref": "Domain"
        }
      },
      "DependsOn": "DomainRecord"
    }
  },
  "Outputs": {
    "Cname": {
      "Description": "CNAME ドメイン名",
      "Value": {
        "Fn::GetAtt": [
          "Domain",
          "Cname"
        ]
      }
    },
    "DomainName": {
      "Description": "ドメイン名",
      "Value": {
        "Ref": "Domain"
      }
    }
  },
  "Metadata": {
    "ALIYUN::ROS::Interface": {
      "ParameterGroups": [
        {
          "Parameters": [
            "Scope",
            "DomainName",
            "BucketName"
          ]
        }
      ]
    }
  }
}<br/><br/>

シナリオ 3:ECS インスタンスおよび OSS バケットの作成、アプリケーションのインストール、およびテキストから画像生成およびポートレート強調サービスの実装

今すぐ作成

ROSTemplateFormatVersion: '2015-09-01'
Mappings: {}
Parameters:
  DashScopeApiKey:
    NoEcho: true
    Label:
      zh-cn: DashScope API-KEY
      en: DashScope API-KEY
    Type: String
    Description:
      zh-cn: DashScope を有効化して API キーを取得します。詳細については、「<a href="https://www.alibabacloud.com/help/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key"  target="_blank">DashScope の有効化と API キーの作成</a>」をご参照ください。
      en: DashScope を有効化して API-KEY を取得します。詳しくは、「<a href="https://www.alibabacloud.com/help/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key"  target="_blank">DashScope の有効化と API キーの作成</a>」をご参照ください。
    AssociationProperty: ALIYUN::DashScope::ApiKey
  CommonName:
    Default: wanxiang
    Type: String
  InstancePassword:
    Description:
      zh-cn: サーバーのログインパスワードです。長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。
      en: サーバーのログインパスワードです。長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。
    Default: Null
    Type: String
    Label:
      zh-cn: インスタンスパスワード
      en: インスタンスパスワード
    NoEcho: true
    AssociationProperty: ALIYUN::ECS::Instance::Password
    ConstraintDescription:
      zh-cn: パスワードの長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。
      en: パスワードの長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。
  ZoneId:
    AssociationPropertyMetadata:
      AutoSelectFirst: true
    Default: Null
    Required: true
    Label:
      zh-cn: 可用性ゾーン
      en: 可用性ゾーン
    AssociationProperty: ALIYUN::ECS::Instance::ZoneId
    Type: String
  BucketName:
    AssociationPropertyMetadata:
      Length: 5
      Prefix: drawing-with-tongyi-wanxiang-
      CharacterClasses:
        - Class: lowercase
          min: 1
    Description:
      zh-cn: 名前の長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。<br/>注:<font color='blue'><b>バケット名はグローバルに一意である必要があります。既存の名前でバケットを作成することはできません。</font>
      en: 長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。<br/>注:<font color='blue'><b>ネットワーク全体で一意である必要があります。既存の名前では作成できません。</font>
    MinLength: 3
    Label:
      zh-cn: Bucket Name
      en: Bucket Name
    AllowedPattern: ^[a-z0-9]+[a-z0-9\-]*[a-z0-9]+$
    Type: String
    MaxLength: 63
    AssociationProperty: AutoCompleteInput
    ConstraintDescription:
      zh-cn: 名前の長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。
      en: 長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。
  InstanceType:
    AssociationPropertyMetadata:
      SystemDiskCategory: cloud_essd
      InstanceChargeType: PostPaid
      ZoneId: ${ZoneId}
    Default: Null
    Required: true
    Label:
      zh-cn: インスタンスタイプ
      en: インスタンスタイプ
    AssociationProperty: ALIYUN::ECS::Instance::InstanceType
    Type: String
Outputs:
  EcsLoginAddress:
    Description:
      zh-cn: ECS インスタンスのログインアドレスです。
      en: ECS インスタンスのログインアドレスです。
    Value:
      Fn::Sub: https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs&regionId=${ALIYUN::Region}&instanceId=${EcsInstance}
  ExperienceAddress:
    Description:
      zh-cn: 体験用アドレスです。
      en: 体験用アドレスです。
    Value:
      Fn::Sub:
        - http://${PublicIp}/wanx-demo
        - PublicIp:
            Fn::Select:
              - 0
              - Fn::GetAtt:
                  - EcsInstance
                  - PublicIps
Description:
  zh-cn: 仮想プライベートクラウド (VPC)、Elastic Compute Service (ECS) インスタンス、および Object Storage Service (OSS) バケットを作成します。セキュリティグループおよび Resource Access Management (RAM) 権限を設定し、Java およびアプリケーションをインストールして、テキストから画像生成およびポートレート強調サービスを実装します。
  en: 仮想プライベートクラウド (VPC)、Elastic Compute Service (ECS) インスタンス、Object Storage Service (OSS) バケットを作成し、セキュリティグループおよび Resource Access Management (RAM) 権限を設定し、Java およびアプリケーションをインストールして、テキストから画像生成およびポートレート強調サービスを実装します。
Conditions: {}
Resources:
  CustomPolicy:
    Type: ALIYUN::RAM::ManagedPolicy
    Properties:
      PolicyName:
        Fn::Sub: create_by_solution-${ALIYUN::StackId}
      PolicyDocument:
        Version: '1'
        Statement:
          - Action:
              - oss:GetObject
              - oss:PutObject
            Resource:
              - Fn::Sub: acs:oss:oss-${ALIYUN::Region}:${ALIYUN::TenantId}:${BucketName}/*
            Effect: Allow
  InstallApp:
    Type: ALIYUN::ECS::RunCommand
    Properties:
      CommandContent:
        Fn::Sub: |-
          #!/bin/bash

          cat << EOF >> ~/.bash_profile
          export DASHSCOPE_API_KEY=${DashScopeApiKey}
          export OSS_ACCESS_KEY_ID=${AccessKey.AccessKeyId}
          export OSS_ACCESS_KEY_SECRET=${AccessKey.AccessKeySecret}
          export WANX_DEMO_OSS_BUCKET=${BucketName}
          export WANX_DEMO_OSS_ENDPOINT=https://oss-${ALIYUN::Region}.aliyuncs.com
          EOF

          source ~/.bash_profile 
          wget https://help-static-aliyun-doc.aliyuncs.com/demos/wanx-demo-0.0.1-SNAPSHOT.jar
          nohup java -jar wanx-demo-0.0.1-SNAPSHOT.jar > wanx-demo.log 2>&1 &
      Type: RunShellScript
      Sync: true
      InstanceIds:
        - Ref: EcsInstance
      Timeout: 3600
    DependsOn:
      - ModuleInstallJava.Install
  AccessKey:
    Type: ALIYUN::RAM::AccessKey
    Properties:
      UserName:
        Ref: User
  Bucket:
    Type: ALIYUN::OSS::Bucket
    Properties:
      BucketName:
        Ref: BucketName
      DeletionForce: true
  SecurityGroup:
    Type: ALIYUN::ECS::SecurityGroup
    Properties:
      SecurityGroupIngress:
        - PortRange: 80/80
          SourceCidrIp: 0.0.0.0/0
          IpProtocol: tcp
      VpcId:
        Ref: Vpc
      SecurityGroupName:
        Fn::Sub: ${CommonName}-sg
  ModuleInstallJava.Install:
    Type: ALIYUN::OOS::Execution
    Properties:
      SafetyCheck: Skip
      Parameters:
        action: install
        packageName: ACS-Extension-java-1853370294850618
        regionId:
          Ref: ALIYUN::Region
        targets:
          ResourceIds:
            - Ref: EcsInstance
          RegionId:
            Ref: ALIYUN::Region
          Type: ResourceIds
        parameters: Null
      TemplateName: ACS-ECS-BulkyConfigureOOSPackageWithTemporaryURL
    Metadata:
      ALIYUN::ROS::Module:
        LogicalIdHierarchy: ModuleInstallJava
        TypeHierarchy: MODULE::ACS::OOS::Extension
  User:
    Type: ALIYUN::RAM::User
    Properties:
      UserName:
        Fn::Sub: create_by_solution-${ALIYUN::StackId}
      PolicyAttachments:
        Custom:
          - Ref: CustomPolicy
  Vpc:
    Type: ALIYUN::ECS::VPC
    Properties:
      VpcName:
        Fn::Sub: ${CommonName}-vpc
      CidrBlock: 192.168.0.0/16
  VSwitch:
    Type: ALIYUN::ECS::VSwitch
    Properties:
      VSwitchName:
        Fn::Sub: ${CommonName}-vsw
      VpcId:
        Ref: Vpc
      CidrBlock: 192.168.0.0/24
      ZoneId:
        Ref: ZoneId
  EcsInstance:
    Type: ALIYUN::ECS::InstanceGroup
    Properties:
      SystemDiskCategory: cloud_essd
      VpcId:
        Ref: Vpc
      SecurityGroupId:
        Ref: SecurityGroup
      ImageId: aliyun_3_9_x64_20G_alibase_
      InternetMaxBandwidthOut: 5
      VSwitchId:
        Ref: VSwitch
      Password:
        Ref: InstancePassword
      InstanceName:
        Fn::Sub: ${CommonName}-ecs
      InstanceType:
        Ref: InstanceType
      ZoneId:
        Ref: ZoneId
      MaxAmount: 1
Metadata:
  ALIYUN::ROS::Interface:
    ParameterGroups:
      - Parameters:
          - DashScopeApiKey
          - BucketName
          - ZoneId
          - InstanceType
          - InstancePassword
    Hidden:
      - CommonName
<br/><br/>
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Mappings": {},
  "Parameters": {
    "DashScopeApiKey": {
      "NoEcho": true,
      "Label": {
        "zh-cn": "DashScope API-KEY",
        "en": "DashScope API-KEY"
      },
      "Type": "String",
      "Description": {
        "zh-cn": "DashScope を有効化して API キーを取得します。詳細については、「<a href=\"https://www.alibabacloud.com/help/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key\"  target=\"_blank\">DashScope の有効化と API キーの作成</a>」をご参照ください。",
        "en": "DashScope を有効化して API-KEY を取得します。詳しくは、「<a href=\"https://www.alibabacloud.com/help/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key\"  target=\"_blank\">DashScope の有効化と API キーの作成</a>」をご参照ください。"
      },
      "AssociationProperty": "ALIYUN::DashScope::ApiKey"
    },
    "CommonName": {
      "Default": "wanxiang",
      "Type": "String"
    },
    "InstancePassword": {
      "Description": {
        "zh-cn": "サーバーのログインパスワードです。長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。",
        "en": "サーバーのログインパスワードです。長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。"
      },
      "Default": null,
      "Type": "String",
      "Label": {
        "zh-cn": "インスタンスパスワード",
        "en": "インスタンスパスワード"
      },
      "NoEcho": true,
      "AssociationProperty": "ALIYUN::ECS::Instance::Password",
      "ConstraintDescription": {
        "zh-cn": "パスワードの長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。",
        "en": "パスワードの長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。"
      }
    },
    "ZoneId": {
      "AssociationPropertyMetadata": {
        "AutoSelectFirst": true
      },
      "Default": null,
      "Required": true,
      "Label": {
        "zh-cn": "可用性ゾーン",
        "en": "可用性ゾーン"
      },
      "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
      "Type": "String"
    },
    "BucketName": {
      "AssociationPropertyMetadata": {
        "Length": 5,
        "Prefix": "drawing-with-tongyi-wanxiang-",
        "CharacterClasses": [
          {
            "Class": "lowercase",
            "min": 1
          }
        ]
      },
      "Description": {
        "zh-cn": "名前の長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。<br/>注:<font color='blue'><b>バケット名はグローバルに一意である必要があります。既存の名前でバケットを作成することはできません。</font>",
        "en": "長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。<br/>注:<font color='blue'><b>ネットワーク全体で一意である必要があります。既存の名前では作成できません。</font>"
      },
      "MinLength": 3,
      "Label": {
        "zh-cn": "Bucket Name",
        "en": "Bucket Name"
      },
      "AllowedPattern": "^[a-z0-9]+[a-z0-9\\-]*[a-z0-9]+$",
      "Type": "String",
      "MaxLength": 63,
      "AssociationProperty": "AutoCompleteInput",
      "ConstraintDescription": {
        "zh-cn": "名前の長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。",
        "en": "長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。"
      }
    },
    "InstanceType": {
      "AssociationPropertyMetadata": {
        "SystemDiskCategory": "cloud_essd",
        "InstanceChargeType": "PostPaid",
        "ZoneId": "${ZoneId}"
      },
      "Default": null,
      "Required": true,
      "Label": {
        "zh-cn": "インスタンスタイプ",
        "en": "インスタンスタイプ"
      },
      "AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
      "Type": "String"
    }
  },
  "Outputs": {
    "EcsLoginAddress": {
      "Description": {
        "zh-cn": "ECS インスタンスのログインアドレスです。",
        "en": "ECS インスタンスのログインアドレスです。"
      },
      "Value": {
        "Fn::Sub": "https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs&regionId=${ALIYUN::Region}&instanceId=${EcsInstance}"
      }
    },
    "ExperienceAddress": {
      "Description": {
        "zh-cn": "体験用アドレスです。",
        "en": "体験用アドレスです。"
      },
      "Value": {
        "Fn::Sub": [
          "http://${PublicIp}/wanx-demo",
          {
            "PublicIp": {
              "Fn::Select": [
                0,
                {
                  "Fn::GetAtt": [
                    "EcsInstance",
                    "PublicIps"
                  ]
                }
              ]
            }
          }
        ]
      }
    }
  },
  "Description": {
    "zh-cn": "仮想プライベートクラウド (VPC)、Elastic Compute Service (ECS) インスタンス、および Object Storage Service (OSS) バケットを作成します。セキュリティグループおよび Resource Access Management (RAM) 権限を設定し、Java およびアプリケーションをインストールして、テキストから画像生成およびポートレート強調サービスを実装します。",
    "en": "仮想プライベートクラウド (VPC)、Elastic Compute Service (ECS) インスタンス、Object Storage Service (OSS) バケットを作成し、セキュリティグループおよび Resource Access Management (RAM) 権限を設定し、Java およびアプリケーションをインストールして、テキストから画像生成およびポートレート強調サービスを実装します。"
  },
  "Conditions": {},
  "Resources": {
    "CustomPolicy": {
      "Type": "ALIYUN::RAM::ManagedPolicy",
      "Properties": {
        "PolicyName": {
          "Fn::Sub": "create_by_solution-${ALIYUN::StackId}"
        },
        "PolicyDocument": {
          "Version": "1",
          "Statement": [
            {
              "Action": [
                "oss:GetObject",
                "oss:PutObject"
              ],
              "Resource": [
                {
                  "Fn::Sub": "acs:oss:oss-${ALIYUN::Region}:${ALIYUN::TenantId}:${BucketName}/*"
                }
              ],
              "Effect": "Allow"
            }
          ]
        }
      }
    },
    "InstallApp": {
      "Type": "ALIYUN::ECS::RunCommand",
      "Properties": {
        "CommandContent": {
          "Fn::Sub": "#!/bin/bash\n\ncat << EOF >> ~/.bash_profile\nexport DASHSCOPE_API_KEY=${DashScopeApiKey}\nexport OSS_ACCESS_KEY_ID=${AccessKey.AccessKeyId}\nexport OSS_ACCESS_KEY_SECRET=${AccessKey.AccessKeySecret}\nexport WANX_DEMO_OSS_BUCKET=${BucketName}\nexport WANX_DEMO_OSS_ENDPOINT=https://oss-${ALIYUN::Region}.aliyuncs.com\nEOF\n\nsource ~/.bash_profile \nwget https://help-static-aliyun-doc.aliyuncs.com/demos/wanx-demo-0.0.1-SNAPSHOT.jar\nnohup java -jar wanx-demo-0.0.1-SNAPSHOT.jar > wanx-demo.log 2>&1 &"
        },
        "Type": "RunShellScript",
        "Sync": true,
        "InstanceIds": [
          {
            "Ref": "EcsInstance"
          }
        ],
        "Timeout": 3600
      },
      "DependsOn": [
        "ModuleInstallJava.Install"
      ]
    },
    "AccessKey": {
      "Type": "ALIYUN::RAM::AccessKey",
      "Properties": {
        "UserName": {
          "Ref": "User"
        }
      }
    },
    "Bucket": {
      "Type": "ALIYUN::OSS::Bucket",
      "Properties": {
        "BucketName": {
          "Ref": "BucketName"
        },
        "DeletionForce": true
      }
    },
    "SecurityGroup": {
      "Type": "ALIYUN::ECS::SecurityGroup",
      "Properties": {
        "SecurityGroupIngress": [
          {
            "PortRange": "80/80",
            "SourceCidrIp": "0.0.0.0/0",
            "IpProtocol": "tcp"
          }
        ],
        "VpcId": {
          "Ref": "Vpc"
        },
        "SecurityGroupName": {
          "Fn::Sub": "${CommonName}-sg"
        }
      }
    },
    "ModuleInstallJava.Install": {
      "Type": "ALIYUN::OOS::Execution",
      "Properties": {
        "SafetyCheck": "Skip",
        "Parameters": {
          "action": "install",
          "packageName": "ACS-Extension-java-1853370294850618",
          "regionId": {
            "Ref": "ALIYUN::Region"
          },
          "targets": {
            "ResourceIds": [
              {
                "Ref": "EcsInstance"
              }
            ],
            "RegionId": {
              "Ref": "ALIYUN::Region"
            },
            "Type": "ResourceIds"
          },
          "parameters": null
        },
        "TemplateName": "ACS-ECS-BulkyConfigureOOSPackageWithTemporaryURL"
      },
      "Metadata": {
        "ALIYUN::ROS::Module": {
          "LogicalIdHierarchy": "ModuleInstallJava",
          "TypeHierarchy": "MODULE::ACS::OOS::Extension"
        }
      }
    },
    "User": {
      "Type": "ALIYUN::RAM::User",
      "Properties": {
        "UserName": {
          "Fn::Sub": "create_by_solution-${ALIYUN::StackId}"
        },
        "PolicyAttachments": {
          "Custom": [
            {
              "Ref": "CustomPolicy"
            }
          ]
        }
      }
    },
    "Vpc": {
      "Type": "ALIYUN::ECS::VPC",
      "Properties": {
        "VpcName": {
          "Fn::Sub": "${CommonName}-vpc"
        },
        "CidrBlock": "192.168.0.0/16"
      }
    },
    "VSwitch": {
      "Type": "ALIYUN::ECS::VSwitch",
      "Properties": {
        "VSwitchName": {
          "Fn::Sub": "${CommonName}-vsw"
        },
        "VpcId": {
          "Ref": "Vpc"
        },
        "CidrBlock": "192.168.0.0/24",
        "ZoneId": {
          "Ref": "ZoneId"
        }
      }
    },
    "EcsInstance": {
      "Type": "ALIYUN::ECS::InstanceGroup",
      "Properties": {
        "SystemDiskCategory": "cloud_essd",
        "VpcId": {
          "Ref": "Vpc"
        },
        "SecurityGroupId": {
          "Ref": "SecurityGroup"
        },
        "ImageId": "aliyun_3_9_x64_20G_alibase_",
        "InternetMaxBandwidthOut": 5,
        "VSwitchId": {
          "Ref": "VSwitch"
        },
        "Password": {
          "Ref": "InstancePassword"
        },
        "InstanceName": {
          "Fn::Sub": "${CommonName}-ecs"
        },
        "InstanceType": {
          "Ref": "InstanceType"
        },
        "ZoneId": {
          "Ref": "ZoneId"
        },
        "MaxAmount": 1
      }
    }
  },
  "Metadata": {
    "ALIYUN::ROS::Interface": {
      "ParameterGroups": [
        {
          "Parameters": [
            "DashScopeApiKey",
            "BucketName",
            "ZoneId",
            "InstanceType",
            "InstancePassword"
          ]
        }
      ],
      "Hidden": [
        "CommonName"
      ]
    }
  }
}<br/><br/>

詳細については、「このリソースを含むパブリックテンプレート」をご参照ください。