当前位置: 首页 > news >正文

无锡网站建设报价明细表做细分行业信息网站

无锡网站建设报价明细表,做细分行业信息网站,外贸自建零售网站做仿牌,做流量网站怎么做文章目录 前言Dataworks API 文档解读GetMetaDBTableList 接口文档 API 调试在线调试本地调试运行环境账密问题请求数据进一步处理 小结 前言 最近#xff0c;我需要对公司的数据资产进行梳理#xff0c;这其中便包括了Dataworks各个项目下的表单。这些表单#xff0c;作为… 文章目录 前言Dataworks API 文档解读GetMetaDBTableList 接口文档 API 调试在线调试本地调试运行环境账密问题请求数据进一步处理 小结 前言 最近我需要对公司的数据资产进行梳理这其中便包括了Dataworks各个项目下的表单。这些表单作为公司的重要数据资产之一也需要进行整理和规范。幸运的是官方提供了API接口可以辅助我更高效地获取各个项目下的所有表单。Dataworks API 提供了很多项目及表单的信息比如表单列表、表单的名称、创建时间、所属项目、调度信息等等。本文以一个比较简单的例子获取表单列表展开详细讲解下整个流程。 Dataworks API 文档解读 DataWorks OpenAPI 概述文档https://help.aliyun.com/zh/dataworks/developer-reference/api 调取 Dataworks API 之前需要留一下 API 的调取是有限额的。基础版每日API总调用次数≤100次标准版每日API总调用次数≤1000次专业版每日API总调用次数≤10000次而且不支持额外付费调用。而企业版几乎可以忽略调用限制调用次数多且支持额外付费调用。为规范 DataWorks OpenAPI 的调用官方将 OpenAPI 分为1级、2级和3级具体分类方式没有介绍不过每一个 API 都有对应的级别说明详见文档介绍。 GetMetaDBTableList 接口文档 本次要获取的是某项目下的表单名称所以查看 GetMetaDBTableList 接口。 注意文档中说的【引擎实例】其实就是 MaxCompute 的项目所以这个相当于是在 DataWorks 中获取 MaxCompute 的项目的表。这个在工作空间中可以看到相关的配置信息。另外DataWorks 和 MaxCompute 的关系 DataWorks 是阿里云提供的一站式大数据开发治理平台可以在 DataWorks 上进行 MaxCompute 作业开发、周期性调度、作业运维、数据治理等一站式数据开发治理操作。可在 DataWorks 控制台创建 DataWorks 工作空间并在这过程中直接创建并绑定 MaxCompute 项目后续即可在 DataWorks 工作空间中开发 MaxCompute 作业。 MaxCompute通过 DataWorks 采用可视化方式进行任务工作流的配置、周期性调度执行及元数据管理保障数据生产及管理的高效稳定。 回到文档上可以看到需要的参数有很多但是并不是所有都需要具体可以在调试部分点击【调试】按钮到调试页面进行测试或者直接点击该链接直达https://next.api.aliyun.com/api/dataworks-public/2020-05-18/GetMetaDBTableList调试入口再往下看看返回的数据返回的数据结构如下。RequestId 和 Data 是同级的我需要的 TableName 的路径是 Data - TableEntityList - TableName。“剧透”下这些数据都是 body 的值后续调用可以看到对应的结构处理值的时候也需要从 body 层级开始取。文档下面是一些示例和错误码自行查看即可。可能你看完后跟我一样一脸懵逼这就能取数了不取数的逻辑不在这里具体的代码逻辑可以在调试界面获取相关的参考代码而且支持多种编程语言调取接口。 API 调试 在线调试 了解了基本的信息接下来调试下。在调试界面可以看到必填的参数其实只有一个经过测试填上该参数即可获取到相关的表单列表数据。默认情况下一页展示 10 条记录最大可以展示 100 条可以将分页参数的 PageSize 调到最大使用最少的次数将表单数据都拉取下来。发起调用之后可以看到调用的结果信息里面有一个返回值TotalCount官方介绍是计算引擎的总数其实就是表单数量可以结合该值调整页数和每页的记录数。 本地调试 调试没问题那就进入下一步在本地敲代码调 API 接口获取数据。还是在调试页面点击【SDK 示例】这里以 Python 为例点击 Python。可以看到一段完整的 Python 源码。将其复制放到本地的 Python 编辑器中此时还不能运行还需要配置两个核心东西运行环境 和 账户及密码ACCESS_KEY_ID和ACCESS_KEY_SECRET。 运行环境 点击右侧的【SDK 信息】可以看到安装的命令 pip install alibabacloud_dataworks_public202005184.7.2打开终端/命令提示符先安装上alibabacloud_dataworks_public202005184.7.2环境大前提已经安装了 Python此处不展开。可能会由于网络问题出现超时的报错多试几次或者分不同的时间段试试。 WARNING: Retrying (Retry(total4, connectNone, readNone, redirectNone, statusNone)) after connection broken by ReadTimeoutError(HTTPSConnectionPool(host‘files.pythonhosted.org’, port443): Read timed out. 账密问题 源码的第 45~47 行中介绍了怎么配置账密的方法添加两个环境变量一个命名为ALIBABA_CLOUD_ACCESS_KEY_ID对应的值是你的 ACCESS_KEY_ID另外一个命名为ALIBABA_CLOUD_ACCESS_KEY_SECRET对应的值是你的 ACCESS_KEY_SECRET。参考示例 请求数据 两个准备工作做好之后是不是就可以读取数据了呢是的不过可以读但是读完没有保留下来。直接运行源码你会发现什么也没有……这是因为源码没有打印print()或者返回returnAPI 返回的数据官方给了提示需要自行打印返回值。见源码第 53 行怎么改print 一下注意由于返回的内容是一个对象需要使用to_map()转换下对象参考如下 print(client.get_meta_dbtable_list_with_options(get_meta_dbtable_list_request, runtime).to_map())再次运行就可以看到一个 字典结构的数据和我前面“剧透”的那个截图的数据结构一致。 至此恭喜你已成功获取到你需要的数据。 进一步处理 尽管我们已经成功获取到数据但目前仅获取了一页最多只有100条记录。然而在数据量比较大的情况下我们需要进行多次调取。为提高效率需要进一步完善代码使程序能自动获取所有数据同时保存每次调取的数据以供后续分析和处理。此处我加了一个for循环并将数据临时存放在一个列表中具体操作如下在class Sample中新增一个函数处理 body 的值将 TableName 取出然后返回。 staticmethoddef gettable(response):TableInfos response.to_map()[body][Data][TableEntityList]TableList [table[TableGuid] for table in TableInfos]return TableList并修改main()方法调用gettable()方法将处理结果TableList返回。 staticmethoddef main(args: List[str],) - None:# 请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET。# 工程代码泄露可能会导致 AccessKey 泄露并威胁账号下所有资源的安全性。以下代码示例使用环境变量获取 AccessKey 的方式进行调用仅供参考建议使用更安全的 STS 方式更多鉴权访问方式请参见https://help.aliyun.com/document_detail/378659.htmlclient Sample.create_client(os.environ[ALIBABA_CLOUD_ACCESS_KEY_ID], os.environ[ALIBABA_CLOUD_ACCESS_KEY_SECRET])get_meta_dbtable_list_request dataworks_public_20200518_models.GetMetaDBTableListRequest(app_guidargs[0],page_sizeargs[1],page_numberargs[2],)runtime util_models.RuntimeOptions()try:# 复制代码运行请自行打印 API 的返回值# client.get_meta_dbtable_list_with_options(get_meta_dbtable_list_request, runtime)response client.get_meta_dbtable_list_with_options(get_meta_dbtable_list_request, runtime)TableList Sample.gettable(response)return TableListexcept Exception as error:# 如有需要请打印 error# UtilClient.assert_as_string(error.message)response UtilClient.assert_as_string(error.message)print(response)最后在程序入库修改传递的参数并进行循环调用。 if __name__ __main__:# response Sample.main(sys.argv[1:])TableList []page_cnt 10 #10*100支持获取 1000 条记录for i in range(page_cnt):app_guidodps.projectname;page_size100;page_number1iresponse Sample.main([app_guid,page_size,page_number])if response is None: #没有返回值说明报错了。continueTableList.extend(response)print(TableList[:10])到这里所有的数据都获取到了放在列表 TableList 中。不过数据还没有保存下来最后再通过 pandas 将数据写入 Excel 中使用其他工具包也可以 import pandas as pd df pd.DataFrame(TableList,columns[tablename]); df.to_excel(projectname_table.xlsx,indexFalse)至此数据获取大功告成可以拿数据进行相关的分析了~~ 小结 本文介绍了从 Dataworks 项目中获取所有表单字段的方法基本步骤如下 查看官方文档了解约束和接口在线调试并获取源码配置本地环境安装 alibabacloud_dataworks_public20200518配置环境变量新增两个环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和 ALIBABA_CLOUD_ACCESS_KEY_SECRET并将阿里云账号的 ACCESS_KEY_ID 和 ACCESS_KEY_SECRET 分别作为​对应变量的值测试源码打印数据检验是否可行循环调用并保存数据。 整个流程比较繁琐不过走一遍之后便可以“一劳永逸”因为其他的接口基本也是这个套路改一些参数即可复用。
http://www.hkea.cn/news/14279994/

相关文章:

  • 网站添加漂浮二维码怎么做网站推广员是什么
  • 目前做网站wordpress建站
  • 做企业网站要怎么设计方案江西省建设工程协会网站查询
  • html网站尺寸免费个人域名邮箱
  • 手机网站建设软件有哪些内容低价网站建设顺德
  • 网站开发中网页之间的链接形式网站的产品图片怎样做清晰
  • 太原论坛网站开发公司制作一个景点的网站
  • 网站经营网络备案信息管理系统wordpress 可视化编辑
  • 营销网站找什么公司做黄骅港防疫办电话
  • 龙岗网站多少钱查询网址域名
  • 网站建设优選宙斯站长宁波建网站推荐
  • 南宁网站提升排名成都现在可以正常出入吗
  • 苏州市住房城乡建设局网站网站建设与管理的内容
  • 房产网站建设整体架构印江建设局网站
  • 做公司网站的必要性拖拉建网站
  • 单页网站cpa虚拟主机襄阳旅游景点网站建设
  • 怎么在word里做网站微信代运营加盟
  • 网站源码如何使用电子商务官方网站建设
  • 佛山新网站建设价格WordPress标签转拼音代码
  • 网站设计制作厂家有哪些广元市建设局官方网站
  • 诗敏家具网站是谁做的门户网站做的比较好的公司
  • 网站模版上线需要什么意思淘特网官方网站下载
  • 做营销策划的上哪个网站好wordpress跳转二级域名
  • 信创网站保定官网优化技巧
  • app模板下载网站上海网站建设yes404
  • 企业网站建设应用研究论文电商网站设计实例
  • 宣传 网站建设方案网络服务公司营业执照
  • 怎么看网站的ftp开发网站去哪里学
  • 做gif表情包的网站wordpress模板服务器
  • 新开传奇网站推荐深圳网络营销推广培训