Cria uma regra de lançamento canário para uma aplicação Spring Cloud ou Dubbo.
Descrição da operação
Atualmente, você pode configurar apenas uma regra canário por aplicação.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
sae:CreateGreyTagRoute |
create |
*All Resource
|
Nenhuma | Nenhuma |
Sintaxe da solicitação
POST /pop/v1/sam/tagroute/greyTagRoute HTTP/1.1
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| AppId |
string |
Sim |
O ID da aplicação. |
7802c49a-67bc-4167-8369-9a9c003c**** |
| Name |
string |
Sim |
O nome da regra canário. O nome pode ter até 64 caracteres e pode conter apenas letras minúsculas, dígitos, hifens (-) e caracteres chineses. Deve começar com uma letra minúscula e terminar com uma letra minúscula ou um dígito. |
dubbo-echo |
| Description |
string |
Não |
A descrição da regra canário. A descrição pode ter até 64 caracteres. |
Canary Release - Regions |
| ScRules |
string |
Não |
As regras canário para uma aplicação Spring Cloud. Este parâmetro é obrigatório para aplicações Spring Cloud e não pode ser usado em conjunto com o parâmetro DubboRules. |
[{"condition":"OR","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"param","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}] |
| DubboRules |
string |
Não |
As regras canário para uma aplicação Dubbo. Este parâmetro é obrigatório para aplicações Dubbo e não pode ser usado em conjunto com o parâmetro ScRules. |
[{"condition":"OR","group":"DUBBO","items":[{"cond":"==","expr":".key1","index":0,"operator":"rawvalue","value":"value1"},{"cond":"==","expr":".key2","index":0,"operator":"rawvalue","value":"value2"}],"methodName":"echo","serviceName":"com.alibaba.edas.boot.EchoService","version":"1.0.0"}] |
| AlbRules |
string |
Não |
As regras canário para uma aplicação que utiliza uma rota de gateway ALB. |
[{"condition":"AND","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"sourceIp","value":"127.0.0.1"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}] |
Parâmetros de ScRules
| Parâmetro | Tipo | Exemplo | Descrição |
| condition | String | OR | O modo de condição para a regra canário. Valores válidos: - AND: Todas as condições na lista de condições devem ser atendidas. - OR: Pelo menos uma das condições na lista de condições deve ser atendida. |
| path | String | /path | O caminho da solicitação para a regra canário do Spring Cloud. |
| items | Array of items | A lista de condições. |
Parâmetros de items
| Parâmetro | Tipo | Exemplo | Descrição |
| name | String | test | Nome do parâmetro. |
| cond | String | == | O operador de comparação. Os valores válidos incluem: >, <, >=, <=, == e !=. |
| type | String | cookie | Tipo de comparação. Valores válidos: - param: Parâmetro. - cookie: Cookie. - header: Header. |
| value | String | test | O valor a ser comparado com o valor real obtido com base no type e name especificados. |
| operator | String | rawvalue | O operador usado para a comparação. Valores válidos: - rawvalue: Comparação direta. - list: Correspondência por lista de permissão. - mod: Módulo 100. - deterministic_proportional_steaming_division: Porcentagem. |
Parâmetros de DubboRules
| Parâmetro | Tipo | Exemplo | Descrição |
| condition | String | OR | O modo de condição para a regra canário. Valores válidos: - AND: Todas as condições na lista de condições devem ser atendidas. - OR: Pelo menos uma das condições na lista de condições deve ser atendida. |
| methodName | String | echo | O nome do método do serviço Dubbo. |
| serviceName | String | com.alibaba.edas.boot.EchoService | O nome do serviço Dubbo. |
| version | String | 1.0.0 | A versão do serviço Dubbo. |
| items | Array of items | A lista de condições. | |
| group | String | DUBBO | O grupo do serviço Dubbo ao qual a regra canário se aplica. |
Parâmetros de items
| Parâmetro | Tipo | Exemplo | Descrição |
| index | Integer | 0 | O índice do parâmetro. 0 indica o primeiro parâmetro. |
| expr | String | .name | A expressão de valor do parâmetro. Valores válidos: - Se deixado em branco, obtém o valor do parâmetro atual. - .name: Obtém a propriedade name do parâmetro, equivalente a args0.getName().- .isEnabled(): Obtém a propriedade enabled do parâmetro, equivalente a args0.isEnabled().- [0]: Se o parâmetro for um array, esta expressão obtém o primeiro elemento do array, equivalente a args0[0]. Observe que esta expressão não começa com um ponto (.).- .get(0): Se o parâmetro for uma List, esta expressão obtém o primeiro elemento da lista, equivalente a args0.get(0).- .get("key"): Se o parâmetro for um Map, esta expressão obtém o valor para a chave especificada, equivalente a args0.get("key"). |
| cond | String | == | O operador de comparação. Os valores válidos incluem: >, <, >=, <=, == e !=. |
| value | String | test | O valor a ser comparado com o valor real obtido com base no expr e index especificados. |
| operator | String | rawvalue | O operador usado para a comparação. Valores válidos: - rawvalue: Comparação direta. - list: Correspondência por lista de permissão. - mod: Módulo 100. - deterministic_proportional_steaming_division: Porcentagem. |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
Os dados retornados. |
||
| RequestId |
string |
O ID da solicitação. |
9D29CBD0-45D3-410B-9826-52F86F90**** |
| Message |
string |
A mensagem de resposta. |
success |
| TraceId |
string |
O ID de rastreamento. Você pode usar este ID para consultar os detalhes da chamada. |
0a98a02315955564772843261e**** |
| Data |
object |
Os detalhes da regra de lançamento canário. |
|
| GreyTagRouteId |
integer |
O ID globalmente único da regra de lançamento canário. |
16 |
| ErrorCode |
string |
O código de erro.
|
|
| Code |
string |
O código de status HTTP. Valores válidos:
|
200 |
| Success |
boolean |
Indica se a solicitação foi bem-sucedida. Valores válidos:
|
true |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "9D29CBD0-45D3-410B-9826-52F86F90****",
"Message": "success",
"TraceId": "0a98a02315955564772843261e****",
"Data": {
"GreyTagRouteId": 16
},
"ErrorCode": "",
"Code": "200",
"Success": true
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | InvalidParameter.NotEmpty | You must specify the parameter %s. | |
| 400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | |
| 400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | |
| 400 | Application.ChangerOrderRunning | An application change process is in progress. Please try again later. | An application change process is in progress. Please try again later. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.