批量更新转发策略优先级
功能介绍
批量更新转发策略的优先级。
接口约束
该接口只用于更新action为REDIRECT_TO_POOL的独享型实例下的转发策略。
调用方法
请参见如何调用API。
URI
POST /v3/{project_id}/elb/l7policies/batch-update-priority
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数解释:项目ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
参数解释:IAM鉴权Token。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
l7policies |
否 |
Array of BatchUpdatePriorityRequestBody objects |
参数解释:转发策略的结构体。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
是 |
String |
参数解释:待更新的l7policy的ID。 |
priority |
是 |
Integer |
参数解释:转发策略的优先级。数字越小表示优先级越高。 约束限制:
不同域名优先级独立。相同域名下,按path的compare_type排序, 精确>前缀>正则,匹配类型相同时,path的长度越长优先级越高。 若policy下只有域名rule,没有路径rule,默认path为前缀匹配/。 取值范围:
默认取值:
|
响应参数
状态码:202
参数 |
参数类型 |
描述 |
---|---|---|
request_id |
String |
请求ID。 |
请求示例
批量更新转发策略优先级
POST https://{ELB_Endpoint}/v3/060576782980d5762f9ec014dd2f1148/elb/l7policies/batch-update-priority
{
"l7policies" : [ {
"id" : "1fe93e12-6e07-47a9-8f81-3346c015601d",
"priority" : 11
} ]
}
响应示例
状态码:202
Created
{
"request_id" : "e5c07525-1470-47b6-9b0c-567527a036aa"
}
SDK代码示例
SDK代码示例如下。
批量更新转发策略优先级
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
package com.huaweicloud.sdk.test;
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.elb.v3.region.ElbRegion;
import com.huaweicloud.sdk.elb.v3.*;
import com.huaweicloud.sdk.elb.v3.model.*;
import java.util.List;
import java.util.ArrayList;
public class BatchUpdatePoliciesPrioritySolution {
public static void main(String[] args) {
// The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
// In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
String ak = System.getenv("CLOUD_SDK_AK");
String sk = System.getenv("CLOUD_SDK_SK");
String projectId = "{project_id}";
ICredential auth = new BasicCredentials()
.withProjectId(projectId)
.withAk(ak)
.withSk(sk);
ElbClient client = ElbClient.newBuilder()
.withCredential(auth)
.withRegion(ElbRegion.valueOf("<YOUR REGION>"))
.build();
BatchUpdatePoliciesPriorityRequest request = new BatchUpdatePoliciesPriorityRequest();
BatchUpdatePoliciesPriorityRequestBody body = new BatchUpdatePoliciesPriorityRequestBody();
List<BatchUpdatePriorityRequestBody> listbodyL7policies = new ArrayList<>();
listbodyL7policies.add(
new BatchUpdatePriorityRequestBody()
.withId("1fe93e12-6e07-47a9-8f81-3346c015601d")
.withPriority(11)
);
body.withL7policies(listbodyL7policies);
request.withBody(body);
try {
BatchUpdatePoliciesPriorityResponse response = client.batchUpdatePoliciesPriority(request);
System.out.println(response.toString());
} catch (ConnectionException e) {
e.printStackTrace();
} catch (RequestTimeoutException e) {
e.printStackTrace();
} catch (ServiceResponseException e) {
e.printStackTrace();
System.out.println(e.getHttpStatusCode());
System.out.println(e.getRequestId());
System.out.println(e.getErrorCode());
System.out.println(e.getErrorMsg());
}
}
}
|
批量更新转发策略优先级
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkelb.v3.region.elb_region import ElbRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkelb.v3 import *
if __name__ == "__main__":
# The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
# In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
ak = os.environ["CLOUD_SDK_AK"]
sk = os.environ["CLOUD_SDK_SK"]
projectId = "{project_id}"
credentials = BasicCredentials(ak, sk, projectId)
client = ElbClient.new_builder() \
.with_credentials(credentials) \
.with_region(ElbRegion.value_of("<YOUR REGION>")) \
.build()
try:
request = BatchUpdatePoliciesPriorityRequest()
listL7policiesbody = [
BatchUpdatePriorityRequestBody(
id="1fe93e12-6e07-47a9-8f81-3346c015601d",
priority=11
)
]
request.body = BatchUpdatePoliciesPriorityRequestBody(
l7policies=listL7policiesbody
)
response = client.batch_update_policies_priority(request)
print(response)
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
|
批量更新转发策略优先级
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
elb "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v3"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v3/model"
region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v3/region"
)
func main() {
// The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
// In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
ak := os.Getenv("CLOUD_SDK_AK")
sk := os.Getenv("CLOUD_SDK_SK")
projectId := "{project_id}"
auth := basic.NewCredentialsBuilder().
WithAk(ak).
WithSk(sk).
WithProjectId(projectId).
Build()
client := elb.NewElbClient(
elb.ElbClientBuilder().
WithRegion(region.ValueOf("<YOUR REGION>")).
WithCredential(auth).
Build())
request := &model.BatchUpdatePoliciesPriorityRequest{}
var listL7policiesbody = []model.BatchUpdatePriorityRequestBody{
{
Id: "1fe93e12-6e07-47a9-8f81-3346c015601d",
Priority: int32(11),
},
}
request.Body = &model.BatchUpdatePoliciesPriorityRequestBody{
L7policies: &listL7policiesbody,
}
response, err := client.BatchUpdatePoliciesPriority(request)
if err == nil {
fmt.Printf("%+v\n", response)
} else {
fmt.Println(err)
}
}
|
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
批量更新转发策略优先级
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
package com.huaweicloud.sdk.test;
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.elb.v3.region.ElbRegion;
import com.huaweicloud.sdk.elb.v3.*;
import com.huaweicloud.sdk.elb.v3.model.*;
import java.util.List;
import java.util.ArrayList;
public class BatchUpdatePoliciesPrioritySolution {
public static void main(String[] args) {
// The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
// In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
String ak = System.getenv("CLOUD_SDK_AK");
String sk = System.getenv("CLOUD_SDK_SK");
String projectId = "{project_id}";
ICredential auth = new BasicCredentials()
.withProjectId(projectId)
.withAk(ak)
.withSk(sk);
ElbClient client = ElbClient.newBuilder()
.withCredential(auth)
.withRegion(ElbRegion.valueOf("<YOUR REGION>"))
.build();
BatchUpdatePoliciesPriorityRequest request = new BatchUpdatePoliciesPriorityRequest();
BatchUpdatePoliciesPriorityRequestBody body = new BatchUpdatePoliciesPriorityRequestBody();
List<BatchUpdatePriorityRequestBody> listbodyL7policies = new ArrayList<>();
listbodyL7policies.add(
new BatchUpdatePriorityRequestBody()
.withId("1fe93e12-6e07-47a9-8f81-3346c015601d")
.withPriority(11)
);
body.withL7policies(listbodyL7policies);
request.withBody(body);
try {
BatchUpdatePoliciesPriorityResponse response = client.batchUpdatePoliciesPriority(request);
System.out.println(response.toString());
} catch (ConnectionException e) {
e.printStackTrace();
} catch (RequestTimeoutException e) {
e.printStackTrace();
} catch (ServiceResponseException e) {
e.printStackTrace();
System.out.println(e.getHttpStatusCode());
System.out.println(e.getRequestId());
System.out.println(e.getErrorCode());
System.out.println(e.getErrorMsg());
}
}
}
|
批量更新转发策略优先级
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkelb.v3.region.elb_region import ElbRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkelb.v3 import *
if __name__ == "__main__":
# The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
# In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
ak = os.environ["CLOUD_SDK_AK"]
sk = os.environ["CLOUD_SDK_SK"]
projectId = "{project_id}"
credentials = BasicCredentials(ak, sk, projectId)
client = ElbClient.new_builder() \
.with_credentials(credentials) \
.with_region(ElbRegion.value_of("<YOUR REGION>")) \
.build()
try:
request = BatchUpdatePoliciesPriorityRequest()
listL7policiesbody = [
BatchUpdatePriorityRequestBody(
id="1fe93e12-6e07-47a9-8f81-3346c015601d",
priority=11
)
]
request.body = BatchUpdatePoliciesPriorityRequestBody(
l7policies=listL7policiesbody
)
response = client.batch_update_policies_priority(request)
print(response)
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
|
批量更新转发策略优先级
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
elb "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v3"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v3/model"
region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v3/region"
)
func main() {
// The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
// In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
ak := os.Getenv("CLOUD_SDK_AK")
sk := os.Getenv("CLOUD_SDK_SK")
projectId := "{project_id}"
auth := basic.NewCredentialsBuilder().
WithAk(ak).
WithSk(sk).
WithProjectId(projectId).
Build()
client := elb.NewElbClient(
elb.ElbClientBuilder().
WithRegion(region.ValueOf("<YOUR REGION>")).
WithCredential(auth).
Build())
request := &model.BatchUpdatePoliciesPriorityRequest{}
var listL7policiesbody = []model.BatchUpdatePriorityRequestBody{
{
Id: "1fe93e12-6e07-47a9-8f81-3346c015601d",
Priority: int32(11),
},
}
request.Body = &model.BatchUpdatePoliciesPriorityRequestBody{
L7policies: &listL7policiesbody,
}
response, err := client.BatchUpdatePoliciesPriority(request)
if err == nil {
fmt.Printf("%+v\n", response)
} else {
fmt.Println(err)
}
}
|
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
202 |
Created |
错误码
请参见错误码。