Crée plusieurs règles de transfert par lot.
Description de l'opération
Lorsque vous appelez cette opération pour créer des règles de transfert, prenez note des éléments suivants :
Lorsque vous configurez une action Redirect, vous ne pouvez pas définir tous les paramètres, à l'exception de HttpCode, sur leurs valeurs par défaut.
Lorsque vous configurez plusieurs actions pour la même règle de transfert, l'action Rewrite doit être utilisée conjointement avec le type d'action ForwardGroup.
- L'opération CreateRules est asynchrone. Après l'envoi d'une requête, le système renvoie un identifiant d'instance, mais les règles de transfert ne sont pas encore créées. La tâche de création est toujours en cours d'exécution en arrière-plan. Vous pouvez appeler ListRules pour interroger l'état de création des règles de transfert :
Si les règles de transfert sont dans l'état Provisioning, les règles de transfert sont en cours de création.
Si les règles de transfert sont dans l'état Available, les règles de transfert sont créées.
- Le nombre maximal de conditions (RuleConditions) et d'actions (RuleActions) pouvant être ajoutées à une règle de transfert est le suivant :
Conditions : 5 pour l'édition de base, 10 pour l'édition standard et 10 pour l'édition WAF améliorée.
Actions : 3 pour l'édition de base, 5 pour l'édition standard et 5 pour l'édition WAF améliorée.
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:CreateRules |
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 pour 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 le RequestId de la requête API comme ClientToken. Le RequestId peut être différent pour chaque requête API. |
5A2CFF0E-5718-45B5-9D4D-70B3FF3898 |
| DryRun |
boolean |
Non |
Indique si un test à blanc uniquement doit être effectué, sans exécuter la requête réelle. Valeurs valides :
|
false |
| Rules |
array<object> |
Oui |
La liste des règles de transfert. |
|
|
array<object> |
Oui |
La règle de transfert. |
||
| Priority |
integer |
Oui |
La priorité de la règle de transfert. |
1 |
| RuleActions |
array<object> |
Oui |
La liste des actions de la règle de transfert. |
|
|
array<object> |
Oui |
L'action de la règle de transfert. |
||
| FixedResponseConfig |
object |
Non |
La configuration de l'action de réponse fixe. |
|
| Content |
string |
Non |
The fixed content to return. The content can be up to 1 KB in size and can contain only ASCII characters. |
test |
| ContentType |
string |
Non |
The format of the fixed content to return. Valid values: text/plain, text/css, text/html, application/javascript, and application/json. |
text/plain |
| HttpCode |
string |
Non |
The HTTP response code to return. Only 2xx, 4xx, and 5xx numeric strings are supported, where x is any digit. |
200 |
| ForwardGroupConfig |
object |
Non |
La configuration de l'action de groupe de transfert. |
|
| ServerGroupTuples |
array<object> |
Non |
The list of destination server groups to which requests are forwarded. |
|
|
object |
Non |
The destination server group. |
||
| ServerGroupId |
string |
Non |
The ID of the server group. |
sgp-ffm94ovy7lqw****** |
| Weight |
integer |
Non |
The weight. A larger value specifies a higher weight, which means more requests are forwarded to the server group. Valid values: 0 to 100.
|
100 |
| ServerGroupStickySession |
object |
Non |
The session persistence configuration between server groups. |
|
| 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. |
30 |
| InsertHeaderConfig |
object |
Non |
La configuration de l'action d'insertion d'en-tête. |
|
| Key |
string |
Non |
The name of the header field to insert. The name must be 1 to 40 characters in length and can contain lowercase and uppercase letters a to z, digits, underscores (_), and hyphens (-). The header field name specified in InsertHeaderConfig must be unique. Remarque
You cannot set the header field name to the following values (case-insensitive): |
key |
| Value |
string |
Non |
The value of the header field to insert.
|
value |
| ValueType |
string |
Non |
The content type of the header field value. Valid values:
|
SystemDefined |
| 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 leurs 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, vous ne pouvez pas définir tous les paramètres, à l'exception de httpCode, sur leurs valeurs par défaut. |
|
| Host |
string |
Non |
The host to which requests are redirected. Valid values:
|
${host} |
| HttpCode |
string |
Non |
The redirect type. Valid values: 301, 302, 303, 307, and 308. |
301 |
| Path |
string |
Non |
The path to which requests are redirected. Valid values:
|
/ |
| Port |
string |
Non |
The port to which requests are redirected.
|
443 |
| Protocol |
string |
Non |
The protocol to which requests are redirected. Valid values:
Remarque
|
HTTPS |
| Query |
string |
Non |
The query string to which requests are redirected.
|
${query} |
| RewriteConfig |
object |
Non |
La configuration de réécriture. Remarque
Lorsque vous configurez plusieurs actions pour la même règle de transfert, l'action RewriteConfig doit être utilisée conjointement avec le type d'action ForwardGroup. |
|
| Host |
string |
Non |
The destination hostname for internal redirects. Valid values:
|
www.rewrite.alb |
| Path |
string |
Non |
The path to which requests are redirected. Valid values:
|
/tea |
| Query |
string |
Non |
The query string for internal redirects.
|
${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 |
The number of requests per second. Valid values: 1 to 1000000. |
5000 |
| PerIpQps |
integer |
Non |
The number of requests per second per IP address. Valid values: 1 to 1000000. Remarque
If you configure both the QPS and PerIpQps parameters, the value of PerIpQps must be less than the value of QPS. |
100 |
| TrafficMirrorConfig |
object |
Non |
La configuration de la mise en miroir du trafic. |
|
| TargetType |
string |
Non |
The type of the mirror target. Valid values:
|
ForwardGroupMirror |
| MirrorGroupConfig |
object |
Non |
The configuration for mirroring traffic to a server group. |
|
| ServerGroupTuples |
array<object> |
Non |
The server group to which traffic is mirrored. |
|
|
object |
Non |
The server group to which traffic is mirrored. |
||
| ServerGroupId |
string |
Non |
The ID of the server group. |
sgp-u9cmf16iu69****** |
| RemoveHeaderConfig |
object |
Non |
La configuration pour la suppression d'un en-tête HTTP. |
|
| Key |
string |
Non |
The name of the header field to remove. The name must be 1 to 40 characters in length and can contain uppercase and lowercase letters a to z, digits, underscores (_), and hyphens (-). The header field name cannot be duplicated in RemoveHeader.
|
key |
| CorsConfig |
object |
Non |
La configuration CORS. |
|
| AllowOrigin |
array |
Non |
The allowed origins. |
|
|
string |
Non |
The list of allowed origins. You can configure a single element
|
http://www.test.com |
|
| AllowMethods |
array |
Non |
The HTTP methods allowed for CORS requests. |
|
|
string |
Non |
The HTTP method allowed for CORS requests. Valid values:
|
GET |
|
| AllowHeaders |
array |
Non |
The list of headers allowed for CORS requests. |
|
|
string |
Non |
The headers allowed for CORS requests. You can set this parameter to |
AllowHeader |
|
| ExposeHeaders |
array |
Non |
The list of headers that can be exposed. |
|
|
string |
Non |
The header that can be exposed. You can set this parameter to |
ExposeHeader |
|
| AllowCredentials |
string |
Non |
Specifies whether to allow credentials. Valid values:
Valeurs valides :
|
on |
| MaxAge |
integer |
Non |
The maximum cache time of preflight requests in the browser. Unit: seconds. Valid values: -1 to 172800. |
600 |
| RuleConditions |
array<object> |
Oui |
La liste des conditions de règle de transfert. |
|
|
array<object> |
Oui |
La condition de règle de transfert. |
||
| CookieConfig |
object |
Non |
La configuration de la condition de cookie. |
|
| Values |
array<object> |
Non |
The list of cookie key-value pairs. |
|
|
object |
Non |
The cookie key-value pair. |
||
| Key |
string |
Non |
The cookie condition key.
|
key |
| Value |
string |
Non |
The cookie condition value.
|
value |
| HeaderConfig |
object |
Non |
La configuration de la condition d'en-tête HTTP. |
|
| Key |
string |
Non |
The HTTP header key.
|
port |
| Values |
array |
Non |
The list of HTTP header values. |
|
|
string |
Non |
The HTTP header value. Header field values within the same forwarding rule condition cannot be duplicated.
|
5006 |
|
| HostConfig |
object |
Non |
La configuration de la condition d'hôte. |
|
| Values |
array |
Non |
The list of hostnames. |
|
|
string |
Non |
The hostname. Only one hostname can be specified in a forwarding rule condition, and the value cannot be duplicated.
|
www.example.com |
|
| MethodConfig |
object |
Non |
La configuration de la condition de méthode de requête HTTP. |
|
| Values |
array |
Non |
The list of HTTP request methods. |
|
|
string |
Non |
The request method. Valid values: HEAD, GET, POST, OPTIONS, PUT, PATCH, and DELETE. |
PUT |
|
| PathConfig |
object |
Non |
La configuration de la condition de chemin. |
|
| Values |
array |
Non |
The list of path conditions. |
|
|
string |
Non |
The forwarding path. Valid values:
|
/test |
|
| QueryStringConfig |
object |
Non |
La configuration de la condition de chaîne de requête. |
|
| Values |
array<object> |
Non |
The list of query string condition key-value pairs. |
|
|
object |
Non |
The query string condition key-value pair. |
||
| Key |
string |
Non |
The query string condition key.
|
key |
| Value |
string |
Non |
The query string condition value.
|
value |
| ResponseHeaderConfig |
object |
Non |
La configuration de l'en-tête HTTP de réponse. |
|
| Key |
string |
Non |
The response HTTP header key.
|
key |
| Values |
array |
Non |
The list of response HTTP header values. |
|
|
string |
Non |
The response HTTP header value.
|
value |
|
| ResponseStatusCodeConfig |
object |
Non |
La configuration du code d'état de réponse. |
|
| Values |
array |
Non |
The list of response status codes. |
|
|
string |
Non |
The response status code. |
200 |
|
| Type |
string |
Oui |
Le type de condition de transfert. Valeurs valides :
Valeurs valides :
|
SourceIp |
| SourceIpConfig |
object |
Non |
La configuration de correspondance du trafic de service basée sur l'adresse IP source. |
|
| Values |
array |
Non |
The source IP-based service traffic matching configuration. |
|
|
string |
Non |
Specifies one or more IP addresses or CIDR blocks. A maximum of 5 source IP addresses can be added to a forwarding rule. |
192.168.XX.XX/32 |
|
| RuleName |
string |
Oui |
Le nom de la règle de transfert. |
rule-443-64 |
| Direction |
string |
Non |
La direction de la règle de transfert. Valeurs valides :
|
Request |
| Tag |
array<object> |
Non |
La liste des balises. |
|
|
object |
Non |
La balise. |
||
| Key |
string |
Non |
La clé de balise. La clé de balise peut comporter jusqu'à 128 caractères et ne peut pas commencer par aliyun ou acs:. Elle ne peut pas contenir http:// ou https://. |
test_tag_key |
| Value |
string |
Non |
La valeur de balise. La valeur de balise peut comporter jusqu'à 128 caractères et ne peut pas commencer par aliyun ou acs:. Elle ne peut pas contenir http:// ou https://. |
test_tag_value |
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
Crée plusieurs règles de transfert. |
||
| 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-7FF34B540710 |
| RuleIds |
array<object> |
La liste des règles de transfert. |
|
|
object |
La liste des règles de transfert. |
||
| RuleId |
string |
L'identifiant de la règle de transfert. |
rule-a3x3pg1yohq3lq**** |
| Priority |
integer |
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 du même écouteur doit être unique. |
10 |
Exemples
JSON format
{
"JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****",
"RequestId": "365F4154-92F6-4AE4-92F8-7FF34B540710",
"RuleIds": [
{
"RuleId": "rule-a3x3pg1yohq3lq****",
"Priority": 10
}
]
}
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.IpGroupCanNotUsedForMirrorAction | The operation is not allowed because of %s. | The operation is not allowed because of %s. |
| 400 | OperationDenied.SameGroupForForwardAndMirrorAction | 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.VpcId | The %s is mismatched for %s and %s. | The %s is mismatched for %s and %s. |
| 400 | Mismatch.Protocol | 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 | 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.