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

Resource Orchestration Service:ALIYUN::APIG::ルート

最終更新日:Mar 17, 2025

ALIYUN::APIG::Route は、HTTP API のルートを作成するために使用されます。

構文

{
  "Type": "ALIYUN::APIG::Route",
  "Properties": {
    "Backend": Map,
    "EnvironmentInfo": Map,
    "HttpApiId": String,
    "Match": Map,
    "RouteName": String,
    "Description": String,
    "DomainInfos": List,
    "DomainIds": List
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Backend

Map

はい

はい

ルートのバックエンド サービス構成。

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

EnvironmentInfo

Map

はい

いいえ

環境構成。

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

HttpApiId

String

はい

いいえ

ルートを作成する対象の HTTP API の ID。

なし。

Match

Map

はい

はい

ルートを照合するためのルール。

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

RouteName

String

はい

いいえ

ルートの名前。

なし。

Description

String

いいえ

はい

ルートの説明。

なし。

DomainInfos

List

いいえ

はい

ドメインの詳細。

なし。

DomainIds

List

いいえ

いいえ

ドメインの ID。

なし。

構文

"Backend": {
  "Services": リスト,
  "Scene": 文字列
}

プロパティ

プロパティ

種類

必須

編集可能

説明

制約

サービス

リスト

はい

はい

バックエンド サービス。

最大 10 個のバックエンド サービスを指定できます。詳細については、「サービスのプロパティ」をご参照ください。

シナリオ

文字列

はい

はい

バックエンド サービスのシナリオ。

有効な値:

  • SingleService

  • MultiServiceByRatio

  • Mock

  • Redirect

サービス構文

"Services": [
  {
    "Version": String,
    "Port": Integer,
    "Protocol": String,
    "Weight": Integer,
    "Name": String,
    "ServiceId": String
  }
]

サービスのプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

名前

文字列

いいえ

いいえ

サービスの名前。

なし。

ポート

整数

いいえ

いいえ

サービスのポート。

なし。

プロトコル

文字列

いいえ

いいえ

サービスのプロトコル。

有効な値:

  • HTTP

  • HTTPS

ServiceId

文字列

いいえ

はい

サービスの ID。

なし。

バージョン

文字列

いいえ

いいえ

サービスのバージョン。

なし。

重み

整数

いいえ

はい

トラフィックのパーセント値。

有効な値: 0 ~ 100。

EnvironmentInfo の構文

"EnvironmentInfo": {
  "GatewayInfo": Map,
  "EnvironmentId": String,
  "Alias": String,
  "SubDomains": List,
  "Name": String
}

EnvironmentInfo プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

EnvironmentId

String

はい

いいえ

環境の ID。

なし。

Alias

String

いいえ

いいえ

環境のエイリアス。

なし。

GatewayInfo

Map

いいえ

いいえ

ゲートウェイ構成。

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

Name

String

いいえ

いいえ

環境の名前。

なし。

SubDomains

List

いいえ

いいえ

サブドメイン。

最大 10 個のサブドメインを指定できます。 詳細については、「GatewayInfo プロパティ」をご参照ください。

GatewayInfo 構文

"GatewayInfo": {
  "GatewayId": String,
  "Name": String
}

GatewayInfo プロパティ

プロパティ

必須

編集可能

説明

制約

GatewayId

String

いいえ

いいえ

ゲートウェイの ID です。

なし。

Name

String

いいえ

いいえ

ゲートウェイの名前です。

なし。

SubDomains 構文

"SubDomains": [
  {
    "DomainId": 文字列,
    "NetworkType": 文字列,
    "Protocol": 文字列,
    "Name": 文字列
  }
]

サブドメインのプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

DomainId

String

いいえ

いいえ

サブドメインの ID です。

なし。

NetworkType

String

いいえ

いいえ

ネットワークアクセス タイプです。

なし。

Name

String

いいえ

いいえ

サブドメインです。

なし。

Protocol

String

いいえ

いいえ

サブドメインでサポートされているネットワーク プロトコルです。

有効な値:

  • HTTP

  • HTTPS

DomainInfos 構文

"DomainInfos": [
  {
    "DomainId": 文字列,
    "Protocol": 文字列,
    "Name": 文字列
  }
]

DomainInfos プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

DomainId

String

いいえ

はい

ドメインの ID です。

なし。

Name

String

いいえ

いいえ

ドメイン。

なし。

Protocol

String

いいえ

いいえ

ドメインでサポートされているネットワークプロトコル。

有効な値:

  • HTTP

  • HTTPS

一致構文

"Match": {
  "Path": Map,
  "Headers": List,
  "QueryParams": List,
  "Methods": List,
  "IgnoreUriCase": Boolean
}

一致プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

パス

マップ

はい

はい

パスに基づいて一致させるためのルール。

なし。

ヘッダー

リスト

いいえ

はい

HTTP リクエストヘッダーに基づいて一致させるためのルール。

最大 10 個のルールを指定できます。

IgnoreUriCase

ブール値

いいえ

はい

パスで大文字と小文字を区別するかどうかを指定します。

なし。

メソッド

リスト

いいえ

はい

リクエストメソッド。

なし。

QueryParams

リスト

いいえ

はい

クエリ リクエストパラメータに基づいて一致させるためのルール。

最大 10 個のルールを指定できます。

パスの構文

"Path": {
  "Type": String,
  "Value": String
}

パスのプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

タイプ

文字列

はい

はい

パスに基づく一致のタイプ。

有効な値:

  • 完全一致

  • プレフィックス

  • 正規表現

文字列

はい

はい

パス。

なし。

ヘッダーの構文

"Headers": [
  {
    "Type": String,
    "Value": String,
    "Name": String
  }
]

ヘッダーのプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

名前

文字列

いいえ

はい

ヘッダーの名前。

なし。

タイプ

文字列

いいえ

はい

ヘッダーに基づく一致のタイプ。

有効な値:

  • 完全一致

  • プレフィックス

  • 正規表現

文字列

いいえ

はい

ヘッダーの値。

なし。

Backend 構文

"QueryParams": [
  {
    "Type": 文字列,
    "Value": 文字列,
    "Name": 文字列
  }
]

QueryParams プロパティ

プロパティ

種類

必須

編集可能

説明

制約

Name

String

いいえ

はい

クエリ パラメーターの名前。

なし。

Type

String

いいえ

はい

クエリ パラメーターに基づく一致の種類。

有効な値:

  • Exact

  • Prefix

  • Regex

Value

String

いいえ

はい

クエリ パラメーターの値。

なし。

戻り値

Fn::GetAtt

  • Backend: ルートのバックエンド サービス構成。

  • Description: ルートの説明。

  • EnvironmentInfo: 環境構成。

  • RouteName: ルートの名前。

  • DomainInfos: ドメインの詳細。

  • RouteId: ルートの ID。

  • Match: ルートを照合するためのルール。

Backend プロパティ

ROSTemplateFormatVersion: '2015-09-01'
Parameters: {}
Resources:
  ExtensionResource:
    Type: ALIYUN::APIG::Route
    Properties:
      HttpApiId: api-xxx
      EnvironmentInfo:
        EnvironmentId: env-xxxx
      RouteName: test123
      DomainIds:
        - d-xxxx
      Match:
        Path:
          Type: Prefix
          Value: /user
      Backend:
        Scene: SingleService
        Services:
          - Name: test1
            ServiceId: svc-xxxxx
            Port: 443
            Protocol: HTTPS
            Version: base
Outputs:
  Backend:
    Description: バックエンド サービス。
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Backend
  Description:
    Description: ルート リソースの説明。
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Description
  EnvironmentInfo:
    Description: 環境情報。
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - EnvironmentInfo
  RouteName:
    Description: ルートの名前。
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - RouteName
  DomainInfos:
    Description: ドメイン項目。
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - DomainInfos
  RouteId:
    Description: ルート リソースの ID。
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - RouteId
  Match:
    Description: ルート リソースの一致ルール。
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Match
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
  },
  "Resources": {
    "ExtensionResource": {
      "Type": "ALIYUN::APIG::Route",
      "Properties": {
        "HttpApiId": "api-xxx",
        "EnvironmentInfo": {
          "EnvironmentId": "env-xxxx"
        },
        "RouteName": "test123",
        "DomainIds": [
          "d-xxxx"
        ],
        "Match": {
          "Path": {
            "Type": "Prefix",
            "Value": "/user"
          }
        },
        "Backend": {
          "Scene": "SingleService",
          "Services": [
            {
              "Name": "test1",
              "ServiceId": "svc-xxxxx",
              "Port": 443,
              "Protocol": "HTTPS",
              "Version": "base"
            }
          ]
        }
      }
    }
  },
  "Outputs": {
    "Backend": {
      "Description": "バックエンド サービス。",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Backend"
        ]
      }
    },
    "Description": {
      "Description": "ルート リソースの説明。",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Description"
        ]
      }
    },
    "EnvironmentInfo": {
      "Description": "環境情報。",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "EnvironmentInfo"
        ]
      }
    },
    "RouteName": {
      "Description": "ルート名。",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "RouteName"
        ]
      }
    },
    "DomainInfos": {
      "Description": "ドメイン項目。",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "DomainInfos"
        ]
      }
    },
    "RouteId": {
      "Description": "ルート リソースの ID。",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "RouteId"
        ]
      }
    },
    "Match": {
      "Description": "ルート リソースの一致ルール。",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Match"
        ]
      }
    }
  }
}