成熟atlas api的python包装

ripe.atlas.cousteau的Python项目详细描述


成熟的阿特拉斯库斯托

documentationbuild status > python versions >< Python实现python format

一个成熟的Atlas API的Python包装器。

(直到版本0.9.*此包装支持v1 api。0.10及以上版本的v2成熟的atlas api仅受支持。)

完整的文档可以在 阅读文档

安装

您可以通过克隆repo进行安装,并在内部运行以下命令 回购:

$ python setup.py install

或通过PIP使用:

$ pip install ripe.atlas.cousteau

用法

创建测量

创建两个新的成熟的Atlas UDM非常简单:

fromdatetimeimportdatetimefromripe.atlas.cousteauimport(Ping,Traceroute,AtlasSource,AtlasCreateRequest)ATLAS_API_KEY=""ping=Ping(af=4,target="www.google.gr",description="testing new wrapper")traceroute=Traceroute(af=4,target="www.ripe.net",description="testing",protocol="ICMP",)source=AtlasSource(type="area",value="WW",requested=5)atlas_request=AtlasCreateRequest(start_time=datetime.utcnow(),key=ATLAS_API_KEY,measurements=[ping,traceroute],sources=[source],is_oneoff=True)(is_success,response)=atlas_request.create()

请记住,这个图书馆试图遵守 在 文档页面中。这意味着如果您试图创建 请求缺少按要求声明的字段,库将不去 继续并执行http查询。相反,它会引起一个例外 里面有一些信息。 可用的测量类型有ping、traceroute、dns、sslcert、ntp、http。

标记和取消标记测量值

您可以使用以下命令添加或删除测量上的标记:

fromripe.atlas.cousteauimportMeasurementTaggerATLAS_STOP_API_KEY=""MSM_ID=2000001tagger=MeasurementTagger(key=ATLAS_STOP_API_KEY)(is_success,response)=tagger.add_tag(msm_id=MSM_ID,tag="my-tag")(is_success,response)=tagger.remove_tag(msm_id=MSM_ID,tag="my-tag")

发出任何api get请求

如果你知道url路径,你可以很容易地向atlas发出任何请求 API.

url_path="/api/v2/anchors"request=AtlasRequest(**{"url_path":url_path})result=namedtuple('Result','success response')(is_success,response)=request.get()ifnotis_success:returnFalsereturnresult.response["participant_count"]

获取结果

您可以使用cousteau获取任何测量的结果。在 下面的示例获取测量ID 2016892的所有结果 以及2015-05-19和2015-05-20之间的探头ID 1、2、3、4。时代可以 是python datetime对象、unix时间戳或字符串表示 日期:

fromdatetimeimportdatetimefromripe.atlas.cousteauimportAtlasResultsRequestkwargs={"msm_id":2016892,"start":datetime(2015,5,19),"stop":datetime(2015,5,20),"probe_ids":[1,2,3,4]}is_success,results=AtlasResultsRequest(**kwargs).create()ifis_success:print(results)

用python表示探针/测量元数据

这将允许您拥有一个python对象,该对象的属性由探测/测量元数据填充。 每次您创建一个新实例时,它都会从API中获取元数据,并返回一个具有选定属性的对象。

$ python setup.py install
2

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
泛型Java将参数约束到公共超类   java Spring引导:在构造函数中加载属性文件并用作autowire注释   java中的优先级队列顺序错误。util。优先级队列和特定比较器   带有Java Sprint引导REST的Google应用程序引擎标准在GCLOUD服务器中不起作用   安卓从Java代码中检索变量并将其作为参数分配给TestNG   用于读取列表值的Java JSON对象   java Hibernate映射:实体映射中的重复列   多线程。start()不从Java中的父线程分派   java Android facebook webdialog网络错误(netstack:lib_mgr错误)   http使用Java阻止网站   java DynamicAsper:访问连接报表中动态列的值   java如何分离文件中的每个单词,并在表中显示每个单词和每个单词的编号?   如何打包和部署EclipseJava应用程序?   java使用Mule Anypoint,我想实现没有flowref的功能   java Kafka consumer ClassNotFoundException   java错误捕获帮助;消息不断重复   javaspring,Thymeleaf和CSS如何给错误着色   javascript如何在java中实现反向ajax   如何通过UDP连接从java数据包中读取序列号?