vpc
获取Endpoint
在确认您使用SDK时配置的Endpoint时,可先阅读开发人员指南中关于VPC服务域名的部分,理解Endpoint相关的概念。 百度智能云目前开放了多区域支持,请参考区域选择说明中网络产品VPC的部分。
注意: VPC API支持HTTP和HTTPS两种调用方式。为了提升数据的安全性,建议通过HTTPS调用
获取AK/SK
要使用百度智能云VPC,您需要拥有一个有效的 AK(Access Key ID)和SK(Secret Access Key)用来进行签名认证。AK/SK是由系统分配给用户的,均为字符串,用于标识用户,为访问服务做签名验证。 可以通过如下步骤获得并了解您的AK/SK信息:
新建VpcClient
VpcClient是VPC服务的客户端,为开发者与VPC服务进行交互提供了一系列的方法。 新建VpcClient时,需要先使用Endpoint、AK、SK对BceClientConfigurationl类型的config实例进行配置,再使用config实例对VpcClient进行配置,具体配置方法如下:
1static final String ENDPOINT = "";
2static final String AK = "";
3static final String SK = "";
4VpcClientConfiguration config = new VpcClientConfiguration();
5config.setCredentials(new DefaultBceCredentials(AK, SK));
6config.setEndpoint(ENDPOINT);
7VpcClient vpcClient = new VpcClient(config);
创建VPC
函数声明
1public CreateVpcResponse createVpc(String name, String cidr) {
2}
3
4public CreateVpcResponse createVpc(CreateVpcRequest request)
5 throws BceClientException {
6}
注意:
第一个接口只支持少量常用参数
第二个接口可以支持较多参数,但需要创建request实例
参数含义
请参考OpenAPI文档 创建VPC请求参数
返回值
- 操作成功
1{
2 "metadata":具体信息参考附录metadata部分
3 "vpcId":"vpc-yzndfjk4g4u6"
4}
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleCreateVpc.java
列举VPC
函数声明
1 public ListVpcResponse listVpcs() {
2 }
3
4 public ListVpcResponse listVpcs(ListVpcRequest request) {
5 }
注意:
第一个接口只支持少量常用参数
第二个接口可以支持较多参数,但需要创建request实例
参数含义
请参考OpenAPI文档 列举VPC请求参数
返回值
- 操作成功
1{
2 "metadata":具体信息参考附录metadata部分,
3 "marker":null,
4 "isTruncated":false,
5 "maxKeys":1000,
6 "vpcs":[
7 {
8 "vpcId":"vpc-39sz5zhb1jp1",
9 "name":"TestSDK-VPC2",
10 "cidr":"192.168.0.0/16",
11 "ipv6Cidr":"",
12 "description":"vpc test",
13 "tags":[
14 {
15 "tagKey":"tagK",
16 "tagValue":"tagV"
17 }
18 ],
19 "isDefault":false,
20 "secondaryCidr":null,
21 "createdTime":"2023-01-31T08:07:33Z"
22 }
23 ]
24}
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleListVpc.java
查询指定VPC
函数声明
1public GetVpcResponse getVpc(String vpcId) {
2}
3
4public GetVpcResponse getVpc(GetVpcRequest getVpcRequest) {
5}
注意:
第一个接口只支持少量常用参数
第二个接口可以支持较多参数,但需要创建request实例
参数含义
请参考OpenAPI文档 查询指定VPC请求参数
返回值
- 操作成功
1{
2 "metadata":具体信息参考附录metadata部分,
3 "vpc":{
4 "vpcId":"vpc-39sz5zhb1jp1",
5 "name":"TestSDK-VPC2",
6 "cidr":"192.168.0.0/16",
7 "ipv6Cidr":"",
8 "description":"vpc test",
9 "subnets":[
10
11 ],
12 "default":false
13 }
14}
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleGetVpc.java
更新VPC
函数声明
1public void modifyInstanceAttributes(String name, String vpcId) {
2 }
3
4public void modifyInstanceAttributes(ModifyVpcAttributesRequest modifyVpcAttributesRequest) {
5 }
注意:
第一个接口只支持少量常用参数
第二个接口可以支持较多参数,但需要创建request实例
参数含义
请参考OpenAPI文档 更新VPC请求参数
返回值
- 操作成功
无返回值
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleUpdateVpc.java
删除VPC
函数声明
1public void deleteVpc(String vpcId) {
2}
3
4public void deleteVpc(DeleteVpcRequest deleteVpcRequest) {
5}
参数含义
请参考OpenAPI文档 删除VPC请求参数
返回值
- 操作成功
无返回值
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleDeleteVpc.java
查询VPC内网IP
函数声明
1 public GetVpcPrivateAddressInfoResponse getVpcPrivateIpAddressInfo(GetVpcPrivateIpAddressInfoRequest request) {
2 ......
3}
参数含义
请参考OpenAPI文档 查询VPC内网IP请求参数
返回值
- 操作成功
1{
2 "metadata":具体信息参考附录metadata部分,
3 "vpcPrivateIpAddresses":[
4 "privateIpAddress":"192.168.0.36",
5 "privateIpAddressType":"bcc",
6 "createdTime":"2023-01-31T08:07:33Z"
7 ]
8}
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleGetVpcPrivateIpAddressInfo.java
开启VPC中继
函数声明
1public void openVpcRelay(String vpcId) {
2}
3
4public void openVpcRelay(SwitchVpcRelayRequest request) {
5}
参数含义
请参考OpenAPI文档 开启VPC中继参数
返回值
- 操作成功
无返回值
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleOpenVpcRelay.java
关闭VPC中继
函数声明
1public void shutDownVpcRelay(String vpcId) {
2}
3
4public void shutDownVpcRelay(SwitchVpcRelayRequest request) {
5}
参数含义
请参考OpenAPI文档 关闭VPC中继参数
返回值
- 操作成功
无返回值
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleShutDownVpcRelay.java
查询VPC内产品占用内网IP
函数声明
1public GetVpcResourceIpResponse getVpcResourceIpInfo(GetVpcResourceIpRequest request) {
2 ......
3}
参数含义
请参考OpenAPI文档 查询VPC内产品占用内网IP请求参数
返回值
- 操作成功
1{
2 "metadata":具体信息参考附录metadata部分,
3 "result": [
4 {
5 "ip": "192.168.0.7",
6 "resourceType": "enic"
7 },
8 {
9 "ip": "192.168.0.8",
10 "resourceType": "enic"
11 }
12 ],
13 "pageNo": 1,
14 "pageSize": 2,
15 "totalCount": 19
16}
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleGetVpcResourceIpInfo.java
附录
公共返回信息metadata格式
1 {
2 "bceRequestId":"f5f0821d-45fe-439b-bbf4-fc48b639f84a",
3 "contentLength":28,
4 "contentType":"application/json;charset=UTF-8",
5 "date":1701917695000,
6 "server":"openresty/1.15.8.1"
7 }