Crée une règle de transfert pour un écouteur spécifié.
Description de l'opération
Lorsque vous appelez cette opération pour créer une règle de transfert, tenez compte des points suivants :
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
|
alb:CreateRule |
create |
*LoadBalancer
*ServerGroup
|
Aucune | Aucune |
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| ListenerId |
string |
Oui |
L'identifiant de l'écouteur de l'instance Application Load Balancer (ALB). |
lsn-l16uo9y****** |
| ClientToken |
string |
Non |
Le jeton client utilisé pour garantir l'idempotence de la requête. Vous pouvez utiliser le client pour générer le jeton, mais vous devez vous assurer que ce jeton est unique parmi les différentes requêtes. Le jeton ne peut contenir que des caractères ASCII. Remarque
Si vous ne spécifiez pas ce paramètre, le système utilise automatiquement la valeur de RequestId comme valeur de ClientToken. La valeur de RequestId est différente pour chaque requête API. |
5A2CFF0E-5718-45B5-9D4D-70B****** |
| DryRun |
boolean |
Non |
Indique si un test à blanc uniquement doit être effectué, sans exécuter la requête réelle. Valeurs valides :\n\n- true : effectue uniquement un test à blanc. Le système vérifie la requête pour détecter d'éventuels problèmes, notamment les valeurs de paramètres manquantes, une syntaxe de requête incorrecte et les limites de service. Si la requête échoue au test à blanc, un code d'erreur est renvoyé. Si la requête réussit le test à blanc, le code d'erreur |
false |
| Priority |
integer |
Oui |
La priorité de la règle de transfert. Valeurs valides : 1 à 10000. Une valeur plus petite indique une priorité plus élevée. Remarque
La priorité de chaque règle au sein d'un écouteur doit être unique. |
10 |
| Direction |
string |
Non |
La direction de la règle de transfert. Valeurs valides :
Remarque
Les instances ALB de l'Édition de base ne prennent pas en charge le type Response. |
Request |
| RuleActions |
array<object> |
Oui |
La liste des actions des règles de transfert. |
|
|
array<object> |
Oui |
La liste des actions de règle. |
||
| FixedResponseConfig |
object |
Non |
La configuration de la réponse fixe. |
|
| Content |
string |
Non |
Le contenu fixe à renvoyer. Le contenu peut avoir une taille maximale de 1 Ko et ne peut contenir que des caractères ASCII. |
dssacav |
| ContentType |
string |
Non |
Le format du contenu fixe. Valeurs valides : text/plain, text/css, text/html, application/javascript et application/json. |
text/plain |
| HttpCode |
string |
Non |
Le code de réponse HTTP à renvoyer. Seules les chaînes numériques 2xx, 4xx et 5xx sont prises en charge, où x représente n'importe quel chiffre. |
200 |
| ForwardGroupConfig |
object |
Non |
La liste des groupes de serveurs de destination vers lesquels les requêtes sont transférées. Un maximum de 5 groupes de serveurs de destination peut être ajouté à une règle de transfert. |
|
| ServerGroupTuples |
array<object> |
Non |
La liste des groupes de serveurs de destination vers lesquels les requêtes sont transférées. Un maximum de 5 groupes de serveurs de destination peut être ajouté à une règle de transfert. |
|
|
object |
Non |
La structure du groupe de serveurs de destination. |
||
| ServerGroupId |
string |
Non |
The destination server group to which requests are forwarded. |
sgp-k86c1ov501id6p**** |
| Weight |
integer |
Non |
The weight. A larger value indicates a higher weight, which means more requests are forwarded to the server group. Valid values: 0 to 100.
|
100 |
| ServerGroupStickySession |
object |
Non |
La configuration de la persistance de session entre les groupes de serveurs. |
|
| Enabled |
boolean |
Non |
Specifies whether to enable session persistence. Valid values:
|
false |
| Timeout |
integer |
Non |
The timeout period. Unit: seconds. Valid values: 1 to 86400. Default value: 1000. |
100 |
| InsertHeaderConfig |
object |
Non |
La configuration pour l'insertion d'un champ d'en-tête. |
|
| Key |
string |
Non |
Le nom du champ d'en-tête à insérer. Le nom doit comporter de 1 à 40 caractères et peut contenir des lettres minuscules et majuscules de a à z, des chiffres, des traits de soulignement (_) et des traits d'union (-). Le nom du champ d'en-tête spécifié dans InsertHeaderConfig doit être unique. Remarque
Vous ne pouvez pas utiliser les champs suivants comme nom d'en-tête (insensible à la casse) : |
key |
| Value |
string |
Non |
La valeur du champ d'en-tête à insérer.
|
UserDefined |
| ValueType |
string |
Non |
Le type de contenu de la valeur du champ d'en-tête. Valeurs valides :
|
UserDefined |
| Order |
integer |
Oui |
L'ordre dans lequel l'action de la règle de transfert est exécutée. Valeurs valides : 1 à 50000. Les actions sont exécutées par ordre croissant de valeurs. Ce paramètre ne peut pas être laissé vide et la valeur ne peut pas être dupliquée. |
1 |
| RedirectConfig |
object |
Non |
La configuration de redirection. Remarque
Pour les paramètres de RedirectConfig, les paramètres autres que httpCode ne peuvent pas tous utiliser les valeurs par défaut. |
|
| Host |
string |
Non |
L'hôte vers lequel les requêtes sont redirigées. Valeurs valides :
|
${host} |
| HttpCode |
string |
Non |
Le type de redirection. Valeurs valides : 301, 302, 303, 307 et 308. |
301 |
| Path |
string |
Non |
Le chemin vers lequel les requêtes sont redirigées. Valeurs valides :
|
/test |
| Port |
string |
Non |
Le port vers lequel les requêtes sont redirigées.
|
10 |
| Protocol |
string |
Non |
Le protocole vers lequel les requêtes sont redirigées. Valeurs valides :
Remarque
|
HTTP |
| Query |
string |
Non |
La chaîne de requête vers laquelle les requêtes sont redirigées.
|
${query} |
| RewriteConfig |
object |
Non |
La configuration de réécriture. Remarque
Lorsque vous configurez plusieurs actions pour une règle de transfert, l'action RewriteConfig doit être utilisée conjointement avec le type d'action ForwardGroup. |
|
| Host |
string |
Non |
Le nom d'hôte de destination pour la redirection interne. Valeurs valides :
|
www.example.com |
| Path |
string |
Non |
Le chemin vers lequel les requêtes sont redirigées. Valeurs valides :
|
/tsdf |
| Query |
string |
Non |
La chaîne de requête pour la redirection interne.
|
${query} |
| Type |
string |
Oui |
Le type d'action. Valeurs valides :
Remarque
Une règle de transfert doit contenir une action ForwardGroup (transférer vers), Redirect (rediriger) ou FixedResponse (renvoyer une réponse fixe). Lorsque cette action coexiste avec d'autres types d'actions, elle doit être exécutée en dernier. |
ForwardGroup |
| TrafficLimitConfig |
object |
Non |
La configuration de la limitation du trafic. |
|
| QPS |
integer |
Non |
Le nombre de requêtes par seconde. Valeurs valides : 1 à 1000000. |
100 |
| PerIpQps |
integer |
Non |
Le nombre de requêtes par seconde et par adresse IP. Valeurs valides : 1 à 1000000. Remarque
Si vous configurez à la fois les paramètres QPS et PerIpQps, la valeur de PerIpQps doit être inférieure à la valeur de QPS. |
80 |
| TrafficMirrorConfig |
object |
Non |
La configuration de la mise en miroir du trafic. |
|
| TargetType |
string |
Non |
Le type de la cible de mise en miroir. Valeurs valides :\n- ForwardGroupMirror : met en miroir le trafic vers un groupe de serveurs. |
ForwardGroupMirror |
| MirrorGroupConfig |
object |
Non |
La configuration pour la mise en miroir du trafic vers un groupe de serveurs. |
|
| ServerGroupTuples |
array<object> |
Non |
The configuration for mirroring traffic to a server group. |
|
|
object |
Non |
The configuration for mirroring traffic to a server group. |
||
| ServerGroupId |
string |
Non |
The server group ID. |
sgp-00mkgijak0w4qgz9**** |
| RemoveHeaderConfig |
object |
Non |
La configuration pour la suppression d'un champ d'en-tête HTTP. |
|
| Key |
string |
Non |
Le nom du champ d'en-tête à supprimer. Le nom doit comporter de 1 à 40 caractères et peut contenir des lettres majuscules et minuscules de a à z, des chiffres, des traits de soulignement (_) et des traits d'union (-). Le nom du champ d'en-tête ne peut pas être dupliqué dans RemoveHeader.
|
test |
| CorsConfig |
object |
Non |
La configuration CORS. |
|
| AllowOrigin |
array |
Non |
La liste des origines autorisées. Vous pouvez configurer un élément unique
|
|
|
string |
Non |
L'origine autorisée. |
http://example.com |
|
| AllowMethods |
array |
Non |
Les méthodes HTTP autorisées pour les requêtes CORS. |
|
|
string |
Non |
La méthode HTTP autorisée pour les requêtes CORS. Valeurs valides :
|
GET |
|
| AllowHeaders |
array |
Non |
La liste des en-têtes autorisés pour les requêtes CORS. |
|
|
string |
Non |
L'en-tête autorisé pour les requêtes CORS. Vous pouvez le définir sur |
test_123 |
|
| ExposeHeaders |
array |
Non |
La liste des en-têtes pouvant être exposés. |
|
|
string |
Non |
L'en-tête pouvant être exposé. Vous pouvez le définir sur |
test_123 |
|
| AllowCredentials |
string |
Non |
Indique si les informations d'identification sont autorisées. Valeurs valides :
|
on |
| MaxAge |
integer |
Non |
La durée maximale de mise en cache des requêtes preflight dans le navigateur. Unité : secondes. Valeurs valides : -1 à 172800. |
1000 |
| RuleConditions |
array<object> |
Oui |
La liste des conditions de la règle de transfert. |
|
|
array<object> |
Oui |
La condition de la règle de transfert. |
||
| CookieConfig |
object |
Non |
La configuration du cookie. |
|
| Values |
array<object> |
Non |
La liste des valeurs de cookie. |
|
|
object |
Non |
La structure de valeur de cookie. |
||
| Key |
string |
Non |
The cookie key.
|
test |
| Value |
string |
Non |
The cookie value.
|
test |
| HeaderConfig |
object |
Non |
La configuration du champ d'en-tête. |
|
| Key |
string |
Non |
La clé du champ d'en-tête.
|
Port |
| Values |
array |
Non |
La liste des valeurs du champ d'en-tête. |
|
|
string |
Non |
La liste des valeurs d'en-tête HTTP. Les valeurs des champs d'en-tête au sein d'une même condition de règle de transfert ne peuvent pas être dupliquées.
|
5006 |
|
| HostConfig |
object |
Non |
La configuration du nom d'hôte. |
|
| Values |
array |
Non |
La liste des noms d'hôte. |
|
|
string |
Non |
Le nom d'hôte. Un seul nom d'hôte peut être spécifié dans une condition de règle de transfert, et la valeur ne peut pas être dupliquée.
|
www.example.edu |
|
| MethodConfig |
object |
Non |
La configuration de la méthode de requête. |
|
| Values |
array |
Non |
La liste des méthodes de requête. |
|
|
string |
Non |
La méthode de requête. Valeurs valides : HEAD, GET, POST, OPTIONS, PUT, PATCH et DELETE. |
PUT |
|
| PathConfig |
object |
Non |
La configuration du chemin de transfert. |
|
| Values |
array |
Non |
La liste des chemins de transfert. |
|
|
string |
Non |
Le chemin de transfert. Valeurs valides :
|
/test |
|
| QueryStringConfig |
object |
Non |
La configuration de la chaîne de requête. |
|
| Values |
array<object> |
Non |
La liste des chaînes de requête. |
|
|
object |
Non |
La chaîne de requête. |
||
| Key |
string |
Non |
The query string key.
|
test |
| Value |
string |
Non |
The query string value.
|
test |
| ResponseStatusCodeConfig |
object |
Non |
La configuration du code d'état de la réponse. |
|
| Values |
array |
Non |
La liste des codes d'état de la réponse. |
|
|
string |
Non |
Le code d'état de la réponse. |
test |
|
| ResponseHeaderConfig |
object |
Non |
La configuration de l'en-tête de réponse. |
|
| Key |
string |
Non |
La clé du champ d'en-tête.
|
test |
| Values |
array |
Non |
La liste des valeurs du champ d'en-tête. |
|
|
string |
Non |
La valeur du champ d'en-tête.
|
50006 |
|
| Type |
string |
Oui |
Le type de la règle de transfert. Valeurs valides :
|
Host |
| SourceIpConfig |
object |
Non |
La configuration de la correspondance du trafic de service basée sur l'IP source. Ce paramètre est requis et ne prend effet que lorsque Type est défini sur SourceIP. |
|
| Values |
array |
Non |
La liste des adresses IP source pour la correspondance du trafic de service. |
|
|
string |
Non |
Une ou plusieurs adresses IP ou blocs CIDR. |
192.168.0.0/32 |
|
| RuleName |
string |
Oui |
Le nom de la règle de transfert. \n- Le nom doit comporter de 2 à 128 caractères.\n- Le nom doit commencer par une lettre, un caractère chinois ou un chiffre. Il peut contenir des chiffres, des points (.), des traits de soulignement (_), des traits d'union (-) et des espaces. |
rule-doc |
| Tag |
array<object> |
Non |
La liste des balises. |
|
|
object |
Non |
La structure de la balise. |
||
| Key |
string |
Non |
La clé de la balise. La clé de la balise peut comporter jusqu'à 128 caractères et ne peut pas commencer par aliyun ou acs:. Elle ne peut pas contenir http:// ou https://. |
env |
| Value |
string |
Non |
La valeur de la balise. La valeur de la balise peut comporter jusqu'à 128 caractères et ne peut pas commencer par aliyun ou acs:. Elle ne peut pas contenir http:// ou https://. |
product |
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
La structure de la réponse. |
||
| JobId |
string |
L'identifiant de la tâche asynchrone. |
72dcd26b-f12d-4c27-b3af-18f6aed5**** |
| RequestId |
string |
L'identifiant de la requête. |
365F4154-92F6-4AE4-92F8-7FF34B540750 |
| RuleId |
string |
L'identifiant de la règle de transfert. |
rule-a3x3pg1yohq3lq**** |
Exemples
JSON format
{
"JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****",
"RequestId": "365F4154-92F6-4AE4-92F8-7FF34B540750",
"RuleId": "rule-a3x3pg1yohq3lq****"
}
Codes d'erreur
|
Code de statut HTTP |
Code d'erreur |
Message d'erreur |
Description |
|---|---|---|---|
| 400 | IncorrectStatus.Listener | The status of %s [%s] is incorrect. | |
| 400 | OperationDenied.SameGroupForForwardAndMirrorAction | The operation is not allowed because of %s. | The operation is not allowed because of %s. |
| 400 | OperationDenied.IpGroupCanNotUsedForMirrorAction | The operation is not allowed because of %s. | The operation is not allowed because of %s. |
| 400 | OperationDenied.GRPCServerGroup | The operation is not allowed because of %s. | |
| 400 | Conflict.Priority | There is already %s having the same configuration with %s. | |
| 400 | ResourceQuotaExceeded.LoadBalancerRulesNum | The quota of %s is exceeded for resource %s, usage %s/%s. | |
| 400 | ResourceQuotaExceeded.ServerGroupAttachedNum | The quota of %s is exceeded for resource %s, usage %s/%s. | |
| 400 | ResourceQuotaExceeded.LoadBalancerServersNum | The quota of %s is exceeded for resource %s, usage %s/%s. | |
| 400 | ResourceQuotaExceeded.ServerAddedNum | The quota of %s is exceeded for resource %s, usage %s/%s. | |
| 400 | QuotaExceeded.RuleWildcardsNum | The quota of %s is exceeded, usage %s/%s. | The quota of %s is exceeded, usage %s/%s. |
| 400 | QuotaExceeded.RuleMatchEvaluationsNum | The quota of %s is exceeded, usage %s/%s. | |
| 400 | QuotaExceeded.RuleActionsNum | The quota of %s is exceeded, usage %s/%s. | The quota of %s is exceeded. Usage: %s/%s. |
| 400 | Mismatch.Protocol | The %s is mismatched for %s and %s. | The %s is mismatched for %s and %s. |
| 400 | Mismatch.VpcId | The %s is mismatched for %s and %s. | The %s is mismatched for %s and %s. |
| 400 | OperationDenied.RewriteMissingForwardGroup | The operation is not allowed because of RewriteMissingForwardGroup. | The operation is not allowed because rewrite is missing the forward group. |
| 400 | ResourceInConfiguring.Listener | The specified listener is being configured, please try again later. | |
| 400 | OperationDenied.MirrorActionSupportHttpGroupOnly | The operation is not allowed because of MirrorActionSupportHttpGroupOnly. | |
| 400 | OperationDenied.ProtocolMustSameForForwardGroupAction | The operation is not allowed because of ProtocolMustSameForForwardGroupAction. | |
| 404 | ResourceNotFound.Listener | The specified resource %s is not found. | |
| 404 | ResourceNotFound.ServerGroup | The specified resource %s is not found. |
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.