网络探测
初始化
确认Endpoint
在确认您使用SDK配置Endpoint时,可先阅读开发人员指南中关于VPC服务域名的部分,理解Endpoint相关的概念。 百度智能云目前开放了多区域支持,请参考区域选择说明中网络产品VPC的部分,网络探测服务是VPC服务的一部分,使用VPC服务域名。
获取密钥
要使用百度智能云产品,您需要拥有一个百度智能云账号和一个有效的 AK(Access Key ID)、SK(Secret Access Key)用来进行签名认证。
可以通过如下步骤获得并了解您的AK/SK信息:
2.创建AK/SK
获取到密钥后,需要在配置Client时做为参数填入。SDK集成了鉴权认证机制,您不需要关心鉴权背后的运算方法,只需要将AK/SK按要求填入对应的位置,SDK将自动为您完成鉴权相关的工作。
新建ProbeClient
ProbeClient将网络探测服务的API进行封装,简化了开发者与网络探测服务的交互,用户可调用ProbeClient中的方法对网络探测进行配置,ProbeClient中方法返回参数与API方法一致。
新建ProbeClient时,需要先使用Endpoint、AK、SK对BceClientConfiguration类型config实例进行配置,再使用config实例对ProbeClient进行配置,配置示例如下:
1ak = b''
2sk = b''
3endpoint = b'bcc.bj.baidubce.com' # Replace with your havip endpoint
4config = BceClientConfiguration(credentials=BceCredentials(access_key_id=ak, secret_access_key=sk),endpoint=endpoint)
5probe_client = probe_client.ProbeClient(config)
创建网络探测
可以使用create_probe函数在指定VPC的子网中创建网络探测:
1@required(name=(bytes, str),
2 vpc_id=(bytes, str),
3 subnet_id=(bytes, str),
4 protocol=(bytes, str),
5 frequency=int,
6 source_ips=list,
7 source_ip_num=int)
8def create_probe(self, name, vpc_id, subnet_id, protocol,
9 frequency, dst_ip, dst_port=None,
10 source_ips=[], source_ip_num=None,
11 description=None,
12 payload=None, client_token=None, config=None)
参数含义
请参考OpenAPI文档: https://cloud.baidu.com/doc/VPC/s/Xl6a5e196
返回值
- 操作成功:
1{
2 "probeId": "probe-s2kyrsdnvk287ziu"
3}
- 操作失败:
抛出异常,异常列表参考:异常列表
代码示例
具体代码示例参考:example_create_probe.py
查询网络探测列表
可以使用list_probes函数查询网络探测列表信息:
1def list_probes(self, marker=None, max_keys=None, config=None)
参数含义
请参考OpenAPI文档: https://cloud.baidu.com/doc/VPC/s/Ul6lld6c5
返回值
- 操作成功:
1{
2 "nextMarker": "probe-68sfxk5ihf85hjs",
3 "marker": "probe-6gfqbgfypumvmyh0",
4 "maxKeys": 1,
5 "isTruncated": true,
6 "probes": [
7 {
8 "description":"dsdsds",
9 "destIp":"1.2.3.4",
10 "destPort":11,
11 "frequency":20,
12 "name":"probe1",
13 "payload":"qqqqqqwwwww",
14 "probeId":"probe-6gfqbgfypumvmyh0",
15 "protocol":"UDP",
16 "sourceIps":[
17 "192.168.0.4"
18 ],
19 "status":"active",
20 "subnetId":"sbn-qz55vemw0n40",
21 "vpcId":"vpc-2pa2x0bjt26i"
22 }
23 ]
24 }
- 操作失败:
抛出异常,异常列表参考:异常列表
代码示例
具体代码示例参考:example_list_probes.py
查询网络探测详情
可以使用get_probe函数查询指定网络探测的详情信息:
1@required(probe_id=(bytes, str))
2def get_probe(self, probe_id, config=None)
参数含义
请参考OpenAPI文档: https://cloud.baidu.com/doc/VPC/s/5l6lt3w4d
返回值
- 操作成功:
1{
2 "probeId":"probe-6gfqbgfypumvmyh0",
3 "description":"dsdsds",
4 "destIp":"1.2.3.4",
5 "destPort":11,
6 "frequency":20,
7 "name":"probe1",
8 "payload":"qqqqqqwwwww",
9 "protocol":"UDP",
10 "sourceIps":[
11 "192.168.0.4"
12 ],
13 "status":"active",
14 "subnetId":"sbn-qz55vemw0n40",
15 "vpcId":"vpc-2pa2x0bjt26i"
16}
- 操作失败:
抛出异常,异常列表参考:异常列表
代码示例
具体代码示例参考:example_get_probe.py
更新网络探测
可以使用update_probe函数更新指定网络探测信息:
1@required(probe_id=(bytes, str))
2def update_probe(self, probe_id, name=None, description=None,
3 dst_ip=None, dst_port=None, frequency=None,
4 payload=None, client_token=None, config=None):
参数含义
请参考OpenAPI文档: https://cloud.baidu.com/doc/VPC/s/dl6lu4bl8
返回值
- 操作成功:
无特殊返回参数
- 操作失败:
抛出异常,异常列表参考:异常列表
代码示例
具体代码示例参考:example_update_probe.py
删除网络探测
可以使用delete_probe函数删除指定网络探测:
1@required(probe_id=(bytes, str))
2 def delete_probe(self, probe_id, client_token=None, config=None):
参数含义
请参考OpenAPI文档: https://cloud.baidu.com/doc/VPC/s/cl6ll9ur9
返回值
- 操作成功:
无特殊返回参数
- 操作失败:
抛出异常,异常列表参考:异常列表
代码示例
具体代码示例参考:example_delete_probe.py