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进行配置,具体配置方法如下:
static final String ENDPOINT = "";
static final String AK = "";
static final String SK = "";
VpcClientConfiguration config = new VpcClientConfiguration();
config.setCredentials(new DefaultBceCredentials(AK, SK));
config.setEndpoint(ENDPOINT);
VpcClient vpcClient = new VpcClient(config);
创建VPC
函数声明
public CreateVpcResponse createVpc(String name, String cidr) {
}
public CreateVpcResponse createVpc(CreateVpcRequest request)
throws BceClientException {
}
注意:
第一个接口只支持少量常用参数
第二个接口可以支持较多参数,但需要创建request实例
参数含义
请参考OpenAPI文档 创建VPC请求参数
返回值
- 操作成功
{
"metadata":具体信息参考附录metadata部分
"vpcId":"vpc-yzndfjk4g4u6"
}
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleCreateVpc.java
列举VPC
函数声明
public ListVpcResponse listVpcs() {
}
public ListVpcResponse listVpcs(ListVpcRequest request) {
}
注意:
第一个接口只支持少量常用参数
第二个接口可以支持较多参数,但需要创建request实例
参数含义
请参考OpenAPI文档 列举VPC请求参数
返回值
- 操作成功
{
"metadata":具体信息参考附录metadata部分,
"marker":null,
"isTruncated":false,
"maxKeys":1000,
"vpcs":[
{
"vpcId":"vpc-39sz5zhb1jp1",
"name":"TestSDK-VPC2",
"cidr":"192.168.0.0/16",
"ipv6Cidr":"",
"description":"vpc test",
"tags":[
{
"tagKey":"tagK",
"tagValue":"tagV"
}
],
"isDefault":false,
"secondaryCidr":null,
"createdTime":"2023-01-31T08:07:33Z"
}
]
}
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleListVpc.java
查询指定VPC
函数声明
public GetVpcResponse getVpc(String vpcId) {
}
public GetVpcResponse getVpc(GetVpcRequest getVpcRequest) {
}
注意:
第一个接口只支持少量常用参数
第二个接口可以支持较多参数,但需要创建request实例
参数含义
请参考OpenAPI文档 查询指定VPC请求参数
返回值
- 操作成功
{
"metadata":具体信息参考附录metadata部分,
"vpc":{
"vpcId":"vpc-39sz5zhb1jp1",
"name":"TestSDK-VPC2",
"cidr":"192.168.0.0/16",
"ipv6Cidr":"",
"description":"vpc test",
"subnets":[
],
"default":false
}
}
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleGetVpc.java
更新VPC
函数声明
public void modifyInstanceAttributes(String name, String vpcId) {
}
public void modifyInstanceAttributes(ModifyVpcAttributesRequest modifyVpcAttributesRequest) {
}
注意:
第一个接口只支持少量常用参数
第二个接口可以支持较多参数,但需要创建request实例
参数含义
请参考OpenAPI文档 更新VPC请求参数
返回值
- 操作成功
无返回值
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleUpdateVpc.java
删除VPC
函数声明
public void deleteVpc(String vpcId) {
}
public void deleteVpc(DeleteVpcRequest deleteVpcRequest) {
}
参数含义
请参考OpenAPI文档 删除VPC请求参数
返回值
- 操作成功
无返回值
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleDeleteVpc.java
查询VPC内网IP
函数声明
public GetVpcPrivateAddressInfoResponse getVpcPrivateIpAddressInfo(GetVpcPrivateIpAddressInfoRequest request) {
......
}
参数含义
请参考OpenAPI文档 查询VPC内网IP请求参数
返回值
- 操作成功
{
"metadata":具体信息参考附录metadata部分,
"vpcPrivateIpAddresses":[
"privateIpAddress":"192.168.0.36",
"privateIpAddressType":"bcc",
"createdTime":"2023-01-31T08:07:33Z"
]
}
- 操作失败
操作失败返回异常列表参考VPC异常列表
代码示例
具体代码示例参考:ExampleGetVpcPrivateIpAddressInfo.java
附录
公共返回信息metadata格式
{
"bceRequestId":"f5f0821d-45fe-439b-bbf4-fc48b639f84a",
"contentLength":28,
"contentType":"application/json;charset=UTF-8",
"date":1701917695000,
"server":"openresty/1.15.8.1"
}