Adiciona uma rota de gateway.
Sintaxe
{
"Type": "ALIYUN::MSE::GatewayRoute",
"Properties": {
"DomainIdList": List,
"GatewayUniqueId": String,
"Name": String,
"Description": String,
"DestinationType": String,
"DomainId": Integer,
"DirectResponseJSON": Map,
"FallbackServices": List,
"Fallback": Boolean,
"GatewayId": Integer,
"Policies": String,
"Predicates": Map,
"RouteType": String,
"RouteOrder": Integer,
"RedirectJSON": Map,
"Services": List
}
}
Propriedades
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
DomainIdList |
List |
Sim |
Sim |
Lista de IDs de domínio. |
Nenhuma |
|
GatewayUniqueId |
String |
Sim |
Não |
ID exclusivo do gateway. |
Nenhuma |
|
Name |
String |
Sim |
Sim |
Nome da rota. |
Nenhuma |
|
Description |
String |
Não |
Sim |
Descrição da rota. |
Nenhuma |
|
DestinationType |
String |
Não |
Sim |
Tipo do serviço de destino. |
Valores válidos:
|
|
DomainId |
Integer |
Não |
Sim |
ID do domínio. |
Nenhuma |
|
DirectResponseJSON |
Map |
Não |
Sim |
Configurações de resposta mock. |
Para obter mais informações, consulte Propriedades de DirectResponseJSON. |
|
FallbackServices |
List |
Não |
Sim |
Serviços de fallback. |
Para obter mais informações, consulte Propriedades de FallbackServices. |
|
Fallback |
Boolean |
Não |
Sim |
Indica se o serviço de fallback está ativado. |
Nenhuma |
|
GatewayId |
Integer |
Não |
Sim |
ID do gateway. |
Nenhuma |
|
Policies |
String |
Não |
Sim |
Política de roteamento em formato de string JSON. |
Nenhuma |
|
Predicates |
Map |
Não |
Sim |
Regras de correspondência. |
Para obter mais informações, consulte Propriedades de Predicates. |
|
RouteType |
String |
Não |
Sim |
Tipo da rota. |
Valores válidos:
|
|
RouteOrder |
Integer |
Não |
Sim |
Ordem da rota. |
Quanto menor o valor, maior a prioridade. |
|
RedirectJSON |
Map |
Não |
Sim |
Configurações de redirecionamento. |
Para obter mais informações, consulte Propriedades de RedirectJSON. |
|
Services |
List |
Não |
Sim |
Lista de serviços. |
Especifique este parâmetro quando o destino for um serviço único, vários serviços ou roteamento baseado em tag. Para obter mais informações, consulte Propriedades de Services. |
Sintaxe de Services
"Services": [
{
"AgreementType": String,
"GroupName": String,
"ServicePort": Integer,
"Percent": Integer,
"Version": String,
"SourceType": String,
"HttpDubboTranscoder": Map,
"Namespace": String,
"Name": String,
"ServiceId": Integer
}
]
Propriedades de Services
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
AgreementType |
String |
Não |
Não |
Tipo de protocolo. |
Nenhuma |
|
GroupName |
String |
Não |
Não |
Nome do grupo de serviços. |
Nenhuma |
|
HttpDubboTranscoder |
Map |
Não |
Não |
Transformador de protocolo Dubbo. |
Para obter mais informações, consulte Propriedades de HttpDubboTranscoder. |
|
Namespace |
String |
Não |
Não |
Namespace onde o serviço reside. |
Nenhuma |
|
Name |
String |
Não |
Não |
Nome do serviço. |
Nenhuma |
|
Percent |
Integer |
Não |
Não |
Porcentagem de tráfego roteado para o serviço ou versão atual. |
Especifique este parâmetro apenas ao usar vários serviços ou roteamento baseado em tag. |
|
ServicePort |
Integer |
Não |
Sim |
Porta do serviço. |
Nenhuma |
|
SourceType |
String |
Não |
Não |
Tipo de origem. |
Nenhuma |
|
ServiceId |
Integer |
Não |
Não |
ID do serviço. |
Nenhuma |
|
Version |
String |
Não |
Não |
Versão do serviço. |
Especifique este parâmetro apenas ao usar roteamento baseado em tag. |
Sintaxe de HttpDubboTranscoder
"HttpDubboTranscoder": {
"DubboServiceName": String,
"MothedMapList": List,
"DubboServiceGroup": String,
"DubboServiceVersion": String
}
Propriedades de HttpDubboTranscoder
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
DubboServiceName |
String |
Não |
Não |
Nome do serviço Dubbo. |
Nenhuma |
|
DubboServiceGroup |
String |
Não |
Não |
Grupo de serviços. |
Nenhuma |
|
DubboServiceVersion |
String |
Não |
Não |
Versão do serviço Dubbo. |
Nenhuma |
|
MothedMapList |
List |
Não |
Não |
Lista de regras de encaminhamento Dubbo. |
Para obter mais informações, consulte Propriedades de MothedMapList. |
Sintaxe de MothedMapList
"MothedMapList": [
{
"DubboMothedName": String,
"Mothedpath": String,
"PassThroughList": List,
"HttpMothed": String,
"ParamMapsList": List,
"PassThroughAllHeaders": String
}
]
Propriedades de MothedMapList
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
DubboMothedName |
String |
Não |
Não |
Nome do método Dubbo. |
Nenhuma |
|
HttpMothed |
String |
Não |
Não |
Método HTTP. |
Métodos HTTP compatíveis. Valores válidos:
|
|
Mothedpath |
String |
Não |
Não |
Caminho de correspondência do método. |
Nenhuma |
|
PassThroughList |
List |
Não |
Não |
Lista de cabeçalhos de repasse (pass-through). |
Nenhuma |
|
ParamMapsList |
List |
Não |
Não |
Lista de mapeamentos de parâmetros. |
Para obter mais informações, consulte Propriedades de ParamMapsList. |
|
PassThroughAllHeaders |
String |
Não |
Não |
Tipo de repasse de cabeçalho. |
Valores válidos:
|
Sintaxe de ParamMapsList
"ParamMapsList": [
{
"MappingType": String,
"ExtractKeySpec": String,
"ExtractKey": String
}
]
Propriedades de ParamMapsList
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
ExtractKeySpec |
String |
Não |
Não |
Posição do parâmetro de solicitação. |
Valores válidos:
|
|
ExtractKey |
String |
Não |
Não |
Chave usada para extrair o parâmetro de solicitação. |
Nenhuma |
|
MappingType |
String |
Não |
Não |
Tipo do parâmetro de backend. |
Nenhuma |
Sintaxe de RedirectJSON
"RedirectJSON": {
"Path": String,
"Host": String,
"Code": Integer
}
Propriedades de RedirectJSON
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
Code |
Integer |
Não |
Não |
Código de status da resposta. |
Nenhuma |
|
Host |
String |
Não |
Não |
Nome do host de redirecionamento. |
Nenhuma |
|
Path |
String |
Não |
Não |
Caminho de redirecionamento. |
Nenhuma |
Sintaxe de DirectResponseJSON
"DirectResponseJSON": {
"Body": String,
"Code": Integer
}
Propriedades de DirectResponseJSON
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
Body |
String |
Não |
Não |
Corpo da resposta mock. |
Nenhuma |
|
Code |
Integer |
Não |
Não |
Código de status da resposta mock. |
Nenhuma |
Sintaxe de FallbackServices
"FallbackServices": [
{
"AgreementType": String,
"GroupName": String,
"ServicePort": Integer,
"Percent": Integer,
"Version": String,
"SourceType": String,
"Namespace": String,
"Name": String,
"ServiceId": Integer
}
]
Propriedades de FallbackServices
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
AgreementType |
String |
Não |
Não |
Tipo de protocolo. |
Nenhuma |
|
GroupName |
String |
Não |
Não |
Nome do grupo de serviços. |
Nenhuma |
|
Namespace |
String |
Não |
Não |
Namespace onde o serviço reside. |
Nenhuma |
|
Name |
String |
Não |
Não |
Nome. |
Nenhuma |
|
Percent |
Integer |
Não |
Não |
Porcentagem de tráfego roteado para o serviço ou versão atual. |
Especifique este parâmetro apenas ao usar vários serviços ou roteamento baseado em tag. |
|
ServicePort |
Integer |
Não |
Não |
Porta do serviço. |
Nenhuma |
|
SourceType |
String |
Não |
Não |
Tipo de origem. |
Nenhuma |
|
ServiceId |
Integer |
Não |
Não |
ID do serviço. |
Nenhuma |
|
Version |
String |
Não |
Não |
Versão do serviço. |
Nenhuma |
Sintaxe de Predicates
"Predicates": {
"HeaderPredicates": List,
"MethodPredicates": List,
"QueryPredicates": List,
"PathPredicates": Map
}
Propriedades de Predicates
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
HeaderPredicates |
List |
Não |
Não |
Regras de correspondência de cabeçalho de solicitação. |
Para obter mais informações, consulte Propriedades de HeaderPredicates. |
|
MethodPredicates |
List |
Não |
Não |
Regras de correspondência de método. |
{'Length': {'Max': 20}} |
|
PathPredicates |
Map |
Não |
Não |
Regras de correspondência de caminho. |
Para obter mais informações, consulte Propriedades de PathPredicates. |
|
QueryPredicates |
List |
Não |
Não |
Regras de correspondência de parâmetro de URL. |
Para obter mais informações, consulte Propriedades de QueryPredicates. |
Sintaxe de HeaderPredicates
"HeaderPredicates": [
{
"Type": String,
"Value": String,
"Key": String
}
]
Propriedades de HeaderPredicates
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
Key |
String |
Não |
Não |
Chave do cabeçalho de solicitação. |
Nenhuma |
|
Type |
String |
Não |
Não |
Tipo de correspondência. |
Nenhuma |
|
Value |
String |
Não |
Não |
Valor correspondente. |
Nenhuma |
Sintaxe de QueryPredicates
"QueryPredicates": [
{
"Type": String,
"Value": String,
"Key": String
}
]
Propriedades de QueryPredicates
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
Key |
String |
Não |
Não |
Nome do parâmetro. |
Nenhuma |
|
Type |
String |
Não |
Não |
Tipo de correspondência. |
Nenhuma |
|
Value |
String |
Não |
Não |
Valor a ser correspondido. |
Nenhuma |
Sintaxe de PathPredicates
"PathPredicates": {
"Path": String,
"Type": String,
"IgnoreCase": Boolean
}
Propriedades de PathPredicates
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
IgnoreCase |
Boolean |
Não |
Não |
Indica se a diferenciação entre maiúsculas e minúsculas é ignorada na correspondência de caminhos. |
Nenhuma |
|
Path |
String |
Não |
Não |
Caminho. |
Nenhuma |
|
Type |
String |
Não |
Não |
Tipo de correspondência de caminho. |
Valores válidos:
|
Valores de retorno
Fn::GetAtt
RouteId: ID da rota.
Exemplos
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
Name:
Required: true
Type: String
Description:
en: The name of the route.
DomainIdList:
AssociationProperty: List[Parameter]
AssociationPropertyMetadata:
Parameter:
Default: Null
Required: false
Type: String
Description:
en: The domain ID in JSON format.
Required: true
Type: Json
Description:
en: The list of domain IDs in JSON format.
GatewayUniqueId:
Required: true
Type: String
Description:
en: The unique ID of the gateway.
Resources:
GatewayRoute:
Type: ALIYUN::MSE::GatewayRoute
Properties:
Name:
Ref: Name
DomainIdList:
Ref: DomainIdList
GatewayUniqueId:
Ref: GatewayUniqueId
Outputs:
RouteId:
Description: The ID of the route.
Value:
Fn::GetAtt:
- GatewayRoute
- RouteId
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"Name": {
"Required": true,
"Type": "String",
"Description": {
"en": "The name of the route."
}
},
"DomainIdList": {
"AssociationProperty": "List[Parameter]",
"AssociationPropertyMetadata": {
"Parameter": {
"Default": null,
"Required": false,
"Type": "String",
"Description": {
"en": "The domain ID in JSON format."
}
}
},
"Required": true,
"Type": "Json",
"Description": {
"en": "The list of domain IDs in JSON format."
}
},
"GatewayUniqueId": {
"Required": true,
"Type": "String",
"Description": {
"en": "The unique ID of the gateway."
}
}
},
"Resources": {
"GatewayRoute": {
"Type": "ALIYUN::MSE::GatewayRoute",
"Properties": {
"Name": {
"Ref": "Name"
},
"DomainIdList": {
"Ref": "DomainIdList"
},
"GatewayUniqueId": {
"Ref": "GatewayUniqueId"
}
}
}
},
"Outputs": {
"RouteId": {
"Description": "The ID of the route.",
"Value": {
"Fn::GetAtt": [
"GatewayRoute",
"RouteId"
]
}
}
}
}