调用API接口下载腾讯CDN访问日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

公司使用腾讯cdn为网站静态内容加速,由于业务需求,需要每天下载昨天的日志(因为腾讯方面给出回复,访问日志会有2个小时或以上时间的延迟,所以不建议下载当天日志,所以每天统计前一天的日志以做分析)。因为cdn是由运维来管理,但是这个需求是业务的,如果每天都由运维进行下载,再通过邮件或其他工具发送,可能就显得麻烦。所幸腾讯CDN提供了API接口,因此采用shell脚本调用API进行下载的方式,定期下载日志,这样只要业务人员运行这个脚本就能自行下载日志,解放了运维的工作。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
#########################################################
#This script is to download yesterday's log \
#files in Telent CDN
#writed on 2016-08-11 
#########################################################
Timestamp=` date  +%s`
Nonce=$RANDOM
LastDay=` date  -d  "yesterday"  +%Y%m%d`
Domain=xxxxxxxxxxxxxxxxx       #此处为你需要下载日志的域名
ID=xxxxxxxxxxxxxxxxx           #此处为你在腾讯cdn上的secretId
key=xxxxxxxxxxxxxxxxx          #此处为你在腾讯cdn上的secretKey,可以在腾讯cdn后台生成
SURL= "GETcdn.api.qcloud.com/v2/index.php?Action=GenerateLogList&Nonce=${Nonce}&SecretId=${ID}&Timestamp=${Timestamp}&hostId=xxxxxx"   #hostId为你的域名的id,可通过腾
                           #讯提供的php脚本查看,当然也可以使shell或python\
sigure=` echo  -n $SURL | openssl sha1 -binary -hmac  "${key}"  | base64| sed  's/=/%3D/g;s/+/%2B/g;s/\//%2F/g' `
HTTP_SURL=` echo  -n $SURL |  sed  s #^GET#HTTPS://#`
Cur_URL=` echo  "${HTTP_SURL}&Signature=${sigure}" `
Log_URL=`curl -s -l --url $Cur_URL| sed   's/},{/\n/g' | grep  "$LastDay" | awk  -F '"'  '{print $14}' | sed  -e  's#\\\/#\/#g' `
#echo $Log_URL
cd  $HOME
if  [ -d . /cdnlogs/ $LastDay ] 
then 
      cd  . /cdnlogs/ $LastDay 
else 
      mkdir  -p . /cdnlogs/ $LastDay &&  cd  . /cdnlogs/ $LastDay
fi
if  [ -f $LastDay-$Domain.gz ]
then
      echo  "The file was exist now."
      exit  127
else
    
         wget -q -O $LastDay-$Domain.gz  $Log_URL >> /dev/null  2>&1
         
         if  [ $? - eq  0 ]
              then 
                    echo  -e   "\033[32mDownload log file successful.\033[0m"
              else 
                    echo  -e  "\033[31mDownload log file failed.\033[0m"
         fi
fi

 资料参考:

 https://www.qcloud.com/doc/api/231/3950

补充:在SURL中的接口参数是区分大小写的,因为在调试的时候hostId写成了hostid,大概调试了快一个小时都是错误4000,invalid parameter,这点需要注意。

https://github.com/QcloudApi/qcloudapi-sdk-php 如果会php的话,这里有现成的,可惜我不会,唉~



本文转自 jerry1111111 51CTO博客,原文链接:http://blog.51cto.com/jerry12356/1836944,如需转载请自行联系原作者

相关文章
|
1天前
|
JSON API 数据格式
阿里巴巴商品详情接口(阿里巴巴 API 系列)
在电商开发中,获取阿里巴巴商品详情信息对数据分析、竞品研究等至关重要。通过调用其商品详情接口,开发者可获取标题、价格、图片、描述等数据,满足多种业务需求。接口采用HTTPS协议,支持GET/POST请求,返回JSON格式数据。示例代码展示了如何使用Python的requests库进行接口请求,需传递商品ID和访问令牌。实际应用时,请依据官方文档调整参数并确保安全性。
27 10
|
2天前
|
JSON API 数据格式
eBay商品详情接口(ebay API系列)
eBay 商品详情接口是电商从业者、开发者和数据分析师获取商品详细信息的重要工具,涵盖标题、价格、库存、卖家信息等。使用前需在 eBay 开发者平台注册并获取 API 凭证,通过 HTTP GET 请求调用接口,返回 JSON 格式数据。Python 示例代码展示了如何发送请求并解析响应,确保合法合规使用数据。
32 12
|
4天前
|
监控 供应链 搜索推荐
亚马逊商品详情接口(亚马逊 API 系列)
亚马逊作为全球最大的电商平台之一,提供了丰富的商品资源。开发者和电商从业者可通过亚马逊商品详情接口获取商品的描述、价格、评论、排名等数据,对市场分析、竞品研究、价格监控及业务优化具有重要价值。接口基于MWS服务,支持HTTP/HTTPS协议,需注册并获得API权限。Python示例展示了如何使用mws库调用接口获取商品详情。应用场景包括价格监控、市场调研、智能选品、用户推荐和库存管理等,助力电商运营和决策。
51 23
|
5天前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
29 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
5天前
|
JSON 数据挖掘 API
lazada商品详情接口 (lazada API系列)
Lazada 是东南亚知名电商平台,提供海量商品资源。通过其商品详情接口,开发者和商家可获取商品标题、价格、库存、描述、图片、用户评价等详细信息,助力市场竞争分析、商品优化及库存管理。接口采用 HTTP GET 请求,返回 JSON 格式的响应数据,支持 Python 等语言调用。应用场景包括竞品分析、价格趋势研究、用户评价分析及电商应用开发,为企业决策和用户体验提升提供有力支持。
52 21
|
6天前
|
数据采集 JSON 监控
速卖通商品列表接口(以 AliExpress Affiliate 商品查询 API 为例)
以下是使用 Python 调用速卖通商品列表接口(以 AliExpress Affiliate 商品查询 API 为例)的代码示例。该示例包含准备基础参数、生成签名、发送请求和处理响应等关键步骤,并附有详细注释说明。代码展示了如何通过公共参数和业务参数构建请求,使用 HMAC-SHA256 加密生成签名,确保请求的安全性。最后,解析 JSON 响应并输出商品信息。此接口适用于商品监控、数据采集与分析及商品推荐等场景。注意需通过 OAuth2.0 获取 `access_token`,并根据官方文档调整参数和频率限制。
|
6天前
|
JSON 监控 API
速卖通商品列表接口(速卖通API系列)
速卖通提供商品列表API,开发者可通过关键词、类目、价格范围等条件获取商品标题、价格、销量等基本信息。使用前需注册开发者账号、创建应用并授权获取access_token。Python示例代码展示了如何调用接口,返回JSON格式数据,包含商品列表、总数、页码等信息。应用场景包括商品监控、数据分析和个性化推荐。注意API会更新,请参考官方文档。
|
7天前
|
存储 搜索推荐 API
淘宝拍立淘按图搜索API接口系列概述
淘宝拍立淘按图搜索API接口允许用户通过上传图片或拍摄实物来搜索相似或相同的商品。这一功能主要依赖于图像识别技术,系统会对上传的图片进行分析和处理,提取出商品的特征信息,并在淘宝的商品数据库中进行匹配搜索,最终返回与上传图片相似或相同的商品列表。
|
7天前
|
API PHP 开发者
速卖通商品详情接口(速卖通API系列)
速卖通(AliExpress)是阿里巴巴旗下的跨境电商平台,提供丰富的商品数据。通过速卖通开放平台(AliExpress Open API),开发者可获取商品详情、订单管理等数据。主要功能包括商品搜索、商品详情、订单管理和数据报告。商品详情接口aliexpress.affiliate.productdetail.get用于获取商品标题、价格、图片等详细信息。开发者需注册账号并创建应用以获取App Key和App Secret,使用PHP等语言调用API。该接口支持多种请求参数和返回字段,方便集成到各类电商应用中。
|
7天前
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
35 5