Crie uma rota para uma API HTTP.
Sintaxe
{
"Type": "ALIYUN::APIG::Route",
"Properties": {
"Backend": Map,
"EnvironmentInfo": Map,
"HttpApiId": String,
"Match": Map,
"RouteName": String,
"Description": String,
"DomainInfos": List,
"DomainIds": List
}
}
Propriedades
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Backend |
Map |
Sim |
Sim |
Configurações do serviço de backend. |
Para mais informações, consulte Propriedades de Backend. |
|
EnvironmentInfo |
Map |
Sim |
Não |
Configurações do ambiente. |
Para mais informações, consulte Propriedades de EnvironmentInfo. |
|
HttpApiId |
String |
Sim |
Não |
ID da API HTTP para a qual a rota será criada. |
Nenhuma. |
|
Match |
Map |
Sim |
Sim |
Regras de correspondência da rota. |
Para mais informações, consulte Propriedades de Match. |
|
RouteName |
String |
Sim |
Não |
Nome da rota. |
Nenhuma. |
|
Description |
String |
Não |
Sim |
Descrição da rota. |
Nenhuma. |
|
DomainInfos |
List |
Não |
Sim |
Detalhes dos domínios. |
Nenhuma. |
|
DomainIds |
List |
Não |
Não |
IDs dos domínios. |
Nenhuma. |
Sintaxe de Backend
"Backend": {
"Services": List,
"Scene": String
}
Propriedades de Backend
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Services |
List |
Sim |
Sim |
Serviços de backend. |
Especifique até 10 serviços de backend. Para mais informações, consulte Propriedades de Services. |
|
Scene |
String |
Sim |
Sim |
Cenário do serviço de backend. |
Valores válidos:
|
Sintaxe de Services
"Services": [
{
"Version": String,
"Port": Integer,
"Protocol": String,
"Weight": Integer,
"Name": String,
"ServiceId": String
}
]
Propriedades de Services
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Name |
String |
Não |
Não |
Nome do serviço. |
Nenhuma. |
|
Port |
Integer |
Não |
Não |
Porta do serviço. |
Nenhuma. |
|
Protocol |
String |
Não |
Não |
Protocolo do serviço. |
Valores válidos:
|
|
ServiceId |
String |
Não |
Sim |
ID do serviço. |
Nenhuma. |
|
Version |
String |
Não |
Não |
Versão do serviço. |
Nenhuma. |
|
Weight |
Integer |
Não |
Sim |
Percentual de peso do tráfego. |
Valores válidos: 0 a 100. |
Sintaxe de EnvironmentInfo
"EnvironmentInfo": {
"GatewayInfo": Map,
"EnvironmentId": String,
"Alias": String,
"SubDomains": List,
"Name": String
}
Propriedades de EnvironmentInfo
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
EnvironmentId |
String |
Sim |
Não |
ID do ambiente. |
Nenhuma. |
|
Alias |
String |
Não |
Não |
Alias do ambiente. |
Nenhuma. |
|
GatewayInfo |
Map |
Não |
Não |
Configurações do gateway. |
Para mais informações, consulte Propriedades de GatewayInfo. |
|
Name |
String |
Não |
Não |
Nome do ambiente. |
Nenhuma. |
|
SubDomains |
List |
Não |
Não |
Subdomínios. |
Especifique até 10 subdomínios. Para mais informações, consulte Propriedades de GatewayInfo. |
Sintaxe de GatewayInfo
"GatewayInfo": {
"GatewayId": String,
"Name": String
}
Propriedades de GatewayInfo
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
GatewayId |
String |
Não |
Não |
ID do gateway. |
Nenhuma. |
|
Name |
String |
Não |
Não |
Nome do gateway. |
Nenhuma. |
Sintaxe de SubDomains
"SubDomains": [
{
"DomainId": String,
"NetworkType": String,
"Protocol": String,
"Name": String
}
]
Propriedades de SubDomains
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
DomainId |
String |
Não |
Não |
ID do subdomínio. |
Nenhuma. |
|
NetworkType |
String |
Não |
Não |
Tipo de acesso à rede. |
Nenhuma. |
|
Name |
String |
Não |
Não |
Subdomínio. |
Nenhuma. |
|
Protocol |
String |
Não |
Não |
Protocolo compatível com o subdomínio. |
Valores válidos:
|
Sintaxe de DomainInfos
"DomainInfos": [
{
"DomainId": String,
"Protocol": String,
"Name": String
}
]
Propriedades de DomainInfos
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
DomainId |
String |
Não |
Sim |
ID do domínio. |
Nenhuma. |
|
Name |
String |
Não |
Não |
Domínio. |
Nenhuma. |
|
Protocol |
String |
Não |
Não |
Protocolo compatível com o domínio. |
Valores válidos:
|
Sintaxe de Match
"Match": {
"Path": Map,
"Headers": List,
"QueryParams": List,
"Methods": List,
"IgnoreUriCase": Boolean
}
Propriedades de Match
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Path |
Map |
Sim |
Sim |
Regras de correspondência baseadas em caminho. |
Nenhuma. |
|
Headers |
List |
Não |
Sim |
Regras de correspondência baseadas em cabeçalho. |
Especifique até 10 regras. |
|
IgnoreUriCase |
Boolean |
Não |
Sim |
Define se a correspondência de caminho diferencia maiúsculas de minúsculas. |
Nenhuma. |
|
Methods |
List |
Não |
Sim |
Métodos de requisição. |
Nenhuma. |
|
QueryParams |
List |
Não |
Sim |
Regras de correspondência baseadas em parâmetro de consulta. |
Especifique até 10 regras. |
Sintaxe de Path
"Path": {
"Type": String,
"Value": String
}
Propriedades de Path
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Type |
String |
Sim |
Sim |
Tipo de correspondência de caminho. |
Valores válidos:
|
|
Value |
String |
Sim |
Sim |
Caminho. |
Nenhuma. |
Sintaxe de Headers
"Headers": [
{
"Type": String,
"Value": String,
"Name": String
}
]
Propriedades de Headers
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Name |
String |
Não |
Sim |
Nome do cabeçalho. |
Nenhuma. |
|
Type |
String |
Não |
Sim |
Tipo de correspondência de cabeçalho. |
Valores válidos:
|
|
Value |
String |
Não |
Sim |
Valor do cabeçalho. |
Nenhuma. |
Sintaxe de QueryParams
"QueryParams": [
{
"Type": String,
"Value": String,
"Name": String
}
]
Propriedades de QueryParams
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Name |
String |
Não |
Sim |
Nome do parâmetro de consulta. |
Nenhuma. |
|
Type |
String |
Não |
Sim |
Tipo de correspondência do parâmetro de consulta. |
Valores válidos:
|
|
Value |
String |
Não |
Sim |
Valor do parâmetro de consulta. |
Nenhuma. |
Valores de retorno
Fn::GetAtt
Backend: configurações do serviço de backend.
Description: descrição da rota.
EnvironmentInfo: configurações do ambiente.
RouteName: nome da rota.
DomainInfos: detalhes do domínio.
RouteId: ID da rota.
Match: regras de correspondência da rota.
Exemplos
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: Backend services.
Value:
Fn::GetAtt:
- ExtensionResource
- Backend
Description:
Description: The description of route resource.
Value:
Fn::GetAtt:
- ExtensionResource
- Description
EnvironmentInfo:
Description: Environment information.
Value:
Fn::GetAtt:
- ExtensionResource
- EnvironmentInfo
RouteName:
Description: The name of the route.
Value:
Fn::GetAtt:
- ExtensionResource
- RouteName
DomainInfos:
Description: Domain items.
Value:
Fn::GetAtt:
- ExtensionResource
- DomainInfos
RouteId:
Description: The ID of route resource.
Value:
Fn::GetAtt:
- ExtensionResource
- RouteId
Match:
Description: The match rule of route resource.
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": "Backend services.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"Backend"
]
}
},
"Description": {
"Description": "The description of route resource.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"Description"
]
}
},
"EnvironmentInfo": {
"Description": "Environment information.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"EnvironmentInfo"
]
}
},
"RouteName": {
"Description": "The name of the route.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"RouteName"
]
}
},
"DomainInfos": {
"Description": "Domain items.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"DomainInfos"
]
}
},
"RouteId": {
"Description": "The ID of route resource.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"RouteId"
]
}
},
"Match": {
"Description": "The match rule of route resource.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"Match"
]
}
}
}
}