Crée une règle de déploiement canari pour une application Spring Cloud ou Dubbo.
Description de l'opération
Actuellement, vous ne pouvez configurer qu'une seule règle de déploiement canari pour une application.
Testez maintenant
Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.
Test
Autorisation RAM
|
sae:CreateGreyTagRoute |
create |
*Toutes les ressources.
|
Aucune | Aucune |
Syntaxe de la requête
POST /pop/v1/sam/tagroute/greyTagRoute HTTP/1.1
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| AppId |
string |
Oui |
L'identifiant de l'application. |
7802c49a-67bc-4167-8369-9a9c003c**** |
| Name |
string |
Oui |
Le nom de la règle. Il doit commencer par une lettre minuscule, se terminer par un chiffre ou une lettre minuscule, et ne peut contenir que des lettres minuscules, des caractères chinois, des chiffres et des traits d'union (-). Sa longueur peut atteindre 64 caractères. |
dubbo-echo |
| Description |
string |
Non |
La description de la règle. Sa longueur peut atteindre 64 caractères. |
Canary Release - Regions |
| ScRules |
string |
Non |
Les règles de déploiement canari créées pour une application Spring Cloud. Ce paramètre est requis lorsque votre application utilise le framework Spring Cloud. Vous n'avez pas besoin de spécifier le paramètre 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 |
Non |
Les règles de déploiement canari créées pour une application Dubbo. Ce paramètre est requis lorsque votre application utilise le framework Dubbo. Vous n'avez pas besoin de spécifier le paramètre 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 |
Non |
Les règles de déploiement canari créées pour une application pour laquelle le routage de passerelle ALB est configuré. |
[{"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"}] |
Description du paramètre ScRules
| Paramètre | Type | Exemple | Description |
| condition | String | OR | Le mode de condition de la règle de déploiement canari. Valeurs valides : - AND : indique l'opérateur ET, ce qui signifie que toutes les conditions de la liste des conditions doivent être remplies. - OR : indique l'opérateur OU, ce qui signifie que n'importe quelle condition de la liste des conditions doit être remplie. |
| path | String | /path | Le chemin qui correspond à la règle de déploiement canari pour l'application Spring Cloud. |
| items | Array of items | La liste des conditions. |
Description du paramètre items
| Paramètre | Type | Exemple | Description |
| name | String | test | Le nom du paramètre. |
| cond | String | == | L'opérateur de comparaison. Valeurs valides : >, <, >=, <=, == et !=. |
| type | String | cookie | Le type de comparaison. Valeurs valides : - param : Paramètre. - cookie : Cookie. - header : En-tête. |
| value | String | test | La valeur du paramètre. La valeur obtenue en fonction de type et name est comparée à cette valeur. |
| operator | String | rawvalue | L'opérateur. Valeurs valides : - rawvalue : comparaison directe. - list : liste blanche. - mod : modulo 100. - deterministic_proportional_steaming_division : pourcentage. |
Description du paramètre DubboRules
| Paramètre | Type | Exemple | Description |
| condition | String | OR | Le mode de condition de la règle de déploiement canari. Valeurs valides : - AND : indique l'opérateur ET, ce qui signifie que toutes les conditions de la liste des conditions doivent être remplies. - OR : indique l'opérateur OU, ce qui signifie que n'importe quelle condition de la liste des conditions doit être remplie. |
| methodName | String | echo | Le nom de la méthode du service Dubbo. |
| serviceName | String | com.alibaba.edas.boot.EchoService | Le nom du service Dubbo. |
| version | String | 1.0.0 | La version du service Dubbo. |
| items | Array of items | La liste des conditions. | |
| group | String | DUBBO | Le groupe du service Dubbo qui correspond à la règle de déploiement canari. |
Description du paramètre items
| Paramètre | Type | Exemple | Description |
| index | Integer | 0 | L'index du paramètre. 0 indique le premier paramètre. |
| expr | String | .name | L'expression utilisée pour obtenir la valeur du paramètre. Valeurs valides : - Empty : utilise directement la valeur du paramètre actuel. - .name : obtient la propriété name du paramètre, ce qui équivaut à args0.getName(). - .isEnabled() : obtient la propriété enabled du paramètre, ce qui équivaut à args0.isEnabled(). - [0] : spécifie que le paramètre actuel est un tableau et obtient la première valeur du tableau, ce qui équivaut à args0[0]. Notez qu'il n'y a pas de point (.) au début. - .get(0) : spécifie que le paramètre actuel est une liste et obtient la première valeur de la liste, ce qui équivaut à args0.get(0). - .get("key") : spécifie que le paramètre actuel est une map et obtient la valeur correspondant à la clé, ce qui équivaut à args0.get("key"). |
| cond | String | == | L'opérateur de comparaison. Valeurs valides : >, <, >=, <=, == et !=. |
| value | String | test | La valeur du paramètre. La valeur obtenue en fonction de expr et index est comparée à cette valeur. |
| operator | String | rawvalue | L'opérateur. Valeurs valides : - rawvalue : comparaison directe. - list : liste blanche. - mod : modulo 100. - deterministic_proportional_steaming_division : pourcentage. |
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
Les données renvoyées. |
||
| RequestId |
string |
L'identifiant de la requête. |
9D29CBD0-45D3-410B-9826-52F86F90**** |
| Message |
string |
Les informations supplémentaires sur le résultat de l'appel. |
success |
| TraceId |
string |
L'identifiant de trace, utilisé pour interroger avec précision les informations d'appel. |
0a98a02315955564772843261e**** |
| Data |
object |
Les informations sur la règle de déploiement canari. |
|
| GreyTagRouteId |
integer |
L'identifiant de la règle de déploiement canari, qui est globalement unique. |
16 |
| ErrorCode |
string |
Le code d'erreur. Valeurs valides :
|
InvalidParameter.NotEmpty |
| Code |
string |
Le code d'état de l'API ou le code d'erreur POP. Valeurs valides :
|
200 |
| Success |
boolean |
Indique si les informations de l'ordre de modification ont été interrogées avec succès. Valeurs valides :
|
true |
Exemples
JSON format
{
"RequestId": "9D29CBD0-45D3-410B-9826-52F86F90****",
"Message": "success",
"TraceId": "0a98a02315955564772843261e****",
"Data": {
"GreyTagRouteId": 16
},
"ErrorCode": "InvalidParameter.NotEmpty",
"Code": "200",
"Success": true
}
Codes d'erreur
|
Code de statut HTTP |
Code d'erreur |
Message d'erreur |
Description |
|---|---|---|---|
| 400 | InvalidParameter.NotEmpty | You must specify the parameter %s. | Paramètre non valide : %s ne peut pas être vide. |
| 400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | Paramètre non valide {%s}. |
| 400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | Paramètre non valide {%s} : %s. |
| 400 | Application.ChangerOrderRunning | An application change process is in progress. Please try again later. | Un processus de modification est en cours d'exécution pour l'application. Réessayez plus tard. |
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.