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

Resource Orchestration Service:ALIYUN::ROS::CustomResource

最終更新日:Dec 05, 2025

ALIYUN::ROS::CustomResource を使用して、カスタムリソースを作成できます。

Resource Orchestration Service (ROS) テンプレートでは、ALIYUN::ROS::CustomResource または Custom::String リソースタイプを使用してカスタムリソースを定義できます。

カスタムリソースを使用すると、ROS テンプレートにカスタム構成ロジックを記述できます。ROS は、スタックの作成、更新、削除などのスタック操作中にこのロジックを実行します。詳細については、「カスタムリソースの概要」をご参照ください。

カスタムリソースは、事前署名付きレスポンス URL にレスポンスを送信する必要があります。ROS がレスポンスを受信しない場合、スタック操作は失敗します。ResponseURL はパブリックネットワーク経由のレスポンスを有効にし、InnerResponseURL は Alibaba Cloud プライベートネットワーク経由のレスポンスを有効にします。

構文

{
  "Type": "ALIYUN::ROS::CustomResource",
  "Properties": {
    "ServiceToken": String,
    "Timeout": Number,
    "Parameters": Map
  }
}

プロパティ

プロパティ

タイプ

必須

更新の有効化

説明

制約

ServiceToken

String

はい

いいえ

サービスプロバイダーがテンプレート開発者にサービスのアクセス権限を付与するために提供するサービストークンです。

現在、Function Compute 関数、SMQ (

Simple Message Queue (formerly MNS)

) トピック、SMQ キュー、HTTP & HTTPS がサポートされています。

最大 512 文字まで指定できます。

有効な値:

  • FC 2.0: acs:fc:<region_id>:<account_id>:services/<service_name>/functions/<function_name>

  • FC 3.0: acs:fc:<region_id>:<account_id>:functions/<function_name>

  • SMQ キュー: acs:mns:<region_id>:<account_id>:queues/<queue_name>

  • SMQ トピック: acs:mns:<region_id>:<account_id>:topics/<topic_name>

  • HTTP & HTTPS: web[options]:<url>

    options はオプションのパラメーターです。有効な値は syncidempotent です。両方の値をカンマ (,) で区切って指定できます。

    sync:同期リクエストを指定します。ROS はリクエストからの直接のレスポンスを使用し、事前署名付き URL へのコールバックを待ちません。デフォルトでは、リクエストは非同期であり、事前署名付き URL のコールバックを待ちます。

    idempotent:作成リクエストをべき等にします。ネットワークエラーまたは 500 エラーが発生した場合、ROS はリクエストを再試行します。デフォルトでは、作成リクエストはべき等ではありません。更新リクエストと削除リクエストは常にべき等である必要があります。

例:

  • acs:fc:cn-hangzhou:123456789:services/test-service/functions/test-function

  • acs:mns:cn-hangzhou:123456789:queues/test-queue

  • acs:mns:cn-hangzhou:123456789:topics/test-topic

  • web:https://example.com

  • web[sync]:http://example.com

  • web[sync,idempotent]:https://example.com

Timeout

Number

はい

はい

カスタムサービスプロバイダーが応答するまでのタイムアウト期間です。単位:秒。

  • ServiceToken が FC 関数、SMQ トピック、SMQ キュー、または非同期の HTTP/HTTPS リクエストを指定する場合、Timeout のデフォルト値は 60 です。値の範囲は 1~43200 です。

  • ServiceToken が同期の HTTP/HTTPS リクエストを指定する場合、Timeout は無視されます。タイムアウト期間は常に 10 秒です。

Parameters

Map

いいえ

はい

カスタムサービスプロバイダーに渡すパラメーターです。カスタムサービスプロバイダーの仕様に従って、このプロパティを指定してください。

なし。

戻り値

Fn::GetAtt

  • Outputs:カスタムサービスプロバイダーによって返されるデータで、マップオブジェクトです。

  • *:Outputs マップ内のキー。

ROSTemplateFormatVersion: '2015-09-01'
Resources:
  CustomResource:
    Type: ALIYUN::ROS::CustomResource
    Properties:
      ServiceToken: acs:fc:cn-hangzhou:123456789:services/test-service/functions/test-function
      Parameters:
        Key1: Value1
        Key2: Value2
      Timeout: 60
Parameters:
  Parameters:
    Type: Json
    Description: サービスプロバイダーに渡されるパラメーター。
Outputs:
  Outputs:
    Description: サービスプロバイダーから受信した出力データ。
    Value:
      Fn::GetAtt:
        - CustomResource
        - Outputs
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Resources": {
    "CustomResource": {
      "Type": "ALIYUN::ROS::CustomResource",
      "Properties": {
        "ServiceToken": "acs:fc:cn-hangzhou:123456789:services/test-service/functions/test-function",
        "Parameters": {
          "Key1": "Value1",
          "Key2": "Value2"
        },
        "Timeout": 60
      }
    }
  },
  "Parameters": {
    "Parameters": {
      "Type": "Json",
      "Description": "サービスプロバイダーに渡されるパラメーター。"
    }
  },
  "Outputs": {
    "Outputs": {
      "Description": "サービスプロバイダーから受信した出力データ。",
      "Value": {
        "Fn::GetAtt": [
          "CustomResource",
          "Outputs"
        ]
      }
    }
  }
}

備考

  • カスタムリソースタイプの名前の指定

    カスタムリソースでは、リソースタイプとして ALIYUN::ROS::CustomResource を使用するか、独自のリソースタイプ名を指定できます。たとえば、ALIYUN::ROS::CustomResource の代わりに Custom::MyCustomResourceTypeName を使用できます。

    カスタムリソースタイプの名前には、文字、数字、および次の特殊文字を含めることができます:_@-。名前の長さは最大 68 文字です。更新中にタイプを変更することはできません。

    独自のリソースタイプ名を使用すると、スタック内のカスタムリソースのタイプをすばやく区別できます。たとえば、2 つの異なる ping テストを実行する 2 つのカスタムリソースがある場合、リソースタイプを ALIYUN::ROS::CustomResource ではなく Custom::PingTester として指定することで、それらを ping テスターとして簡単に識別できます。

  • 更新時のカスタムリソースの置換

    ROS の更新中にリソースの PhysicalResourceId を置き換えることはできません。

  • 戻り値の取得

    カスタムリソースの場合、戻り値はカスタムサービスプロバイダーによって定義されます。Fn::GetAtt を呼び出すことで、プロバイダーが定義したプロパティからこれらの値を取得できます。