网络探测
初始化
确认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进行配置,配置示例如下:
ak = b''
sk = b''
endpoint = b'bcc.bj.baidubce.com' # Replace with your havip endpoint
config = BceClientConfiguration(credentials=BceCredentials(access_key_id=ak, secret_access_key=sk),endpoint=endpoint)
probe_client = probe_client.ProbeClient(config)
创建网络探测
可以使用create_probe函数在指定VPC的子网中创建网络探测:
@required(name=(bytes, str),
vpc_id=(bytes, str),
subnet_id=(bytes, str),
protocol=(bytes, str),
frequency=int,
source_ips=list,
source_ip_num=int)
def create_probe(self, name, vpc_id, subnet_id, protocol,
frequency, dst_ip, dst_port=None,
source_ips=[], source_ip_num=None,
description=None,
payload=None, client_token=None, config=None)
参数含义
请参考OpenAPI文档: https://cloud.baidu.com/doc/VPC/s/Xl6a5e196
返回值
- 操作成功:
{
"probeId": "probe-s2kyrsdnvk287ziu"
}
- 操作失败:
抛出异常,异常列表参考:异常列表
代码示例
具体代码示例参考:example_create_probe.py
查询网络探测列表
可以使用list_probes函数查询网络探测列表信息:
def list_probes(self, marker=None, max_keys=None, config=None)
参数含义
请参考OpenAPI文档: https://cloud.baidu.com/doc/VPC/s/Ul6lld6c5
返回值
- 操作成功:
{
"nextMarker": "probe-68sfxk5ihf85hjs",
"marker": "probe-6gfqbgfypumvmyh0",
"maxKeys": 1,
"isTruncated": true,
"probes": [
{
"description":"dsdsds",
"destIp":"1.2.3.4",
"destPort":11,
"frequency":20,
"name":"probe1",
"payload":"qqqqqqwwwww",
"probeId":"probe-6gfqbgfypumvmyh0",
"protocol":"UDP",
"sourceIps":[
"192.168.0.4"
],
"status":"active",
"subnetId":"sbn-qz55vemw0n40",
"vpcId":"vpc-2pa2x0bjt26i"
}
]
}
- 操作失败:
抛出异常,异常列表参考:异常列表
代码示例
具体代码示例参考:example_list_probes.py
查询网络探测详情
可以使用get_probe函数查询指定网络探测的详情信息:
@required(probe_id=(bytes, str))
def get_probe(self, probe_id, config=None)
参数含义
请参考OpenAPI文档: https://cloud.baidu.com/doc/VPC/s/5l6lt3w4d
返回值
- 操作成功:
{
"probeId":"probe-6gfqbgfypumvmyh0",
"description":"dsdsds",
"destIp":"1.2.3.4",
"destPort":11,
"frequency":20,
"name":"probe1",
"payload":"qqqqqqwwwww",
"protocol":"UDP",
"sourceIps":[
"192.168.0.4"
],
"status":"active",
"subnetId":"sbn-qz55vemw0n40",
"vpcId":"vpc-2pa2x0bjt26i"
}
- 操作失败:
抛出异常,异常列表参考:异常列表
代码示例
具体代码示例参考:example_get_probe.py
更新网络探测
可以使用update_probe函数更新指定网络探测信息:
@required(probe_id=(bytes, str))
def update_probe(self, probe_id, name=None, description=None,
dst_ip=None, dst_port=None, frequency=None,
payload=None, client_token=None, config=None):
参数含义
请参考OpenAPI文档: https://cloud.baidu.com/doc/VPC/s/dl6lu4bl8
返回值
- 操作成功:
无特殊返回参数
- 操作失败:
抛出异常,异常列表参考:异常列表
代码示例
具体代码示例参考:example_update_probe.py
删除网络探测
可以使用delete_probe函数删除指定网络探测:
@required(probe_id=(bytes, str))
def delete_probe(self, probe_id, client_token=None, config=None):
参数含义
请参考OpenAPI文档: https://cloud.baidu.com/doc/VPC/s/cl6ll9ur9
返回值
- 操作成功:
无特殊返回参数
- 操作失败:
抛出异常,异常列表参考:异常列表
代码示例
具体代码示例参考:example_delete_probe.py