利用阿里云SDK获取OSS存储值

为了先说名一下SDK和openAPI的区别,这里借用知乎一位朋友最简单粗暴的回答:

如此的形象生动,我为他点赞!

下面具体说一下阿里云的SDK。

阿里云的SDK使用需要两个前提,第一是要安装他的sdk核心库;第二是要安装具体的服务库。

安装sdk核心库的方法:#pip install aliyun-python-sdk-core

如果安装的时候报“-bash: pip: command not found”这个错误,那么就要#curl -O https://bootstrap.pypa.io/get-pip.py && python get-pip.py

如果在安装的时候报“src/MD2.c:31:20: fatal error: Python.h: No such file or directory”错,那么说你缺少Python.h这个头文件,centos的话就用#yum install python-devel,Debian or Ubuntu的话就用#apt-get install python-dev

安装完了核心库,现在要安装具体的服务库,如果是云服务器ecs,那么语句就是:#pip install aliyun-python-sdk-ecs,如果是云数据库,那么语句就是:#pip install aliyun-python-sdk-rds,所有的sdk 列表在:https://www.alibabacloud.com/help/zh/doc-detail/30003.htm?spm=a3c0i.o53090zh.a3.4.514e2f94lQ71gI 这个网站里。

比如要装OSS云存储的SDK,那么就#pip install oss2,然后在python客户端里查看是否安装成功,如果显示的内容没有报错就是OK的:

现在我要做一个脚本获得bucket的当前容量值,那么我就需要#pip install aliyuncli,然后#pip install -Iv aliyun-python-sdk-cms==5.0.0,如果这个时候出现了“--compile" failed with error code 1 in /tmp/pip-build-6bR4PD/pycrypto”这个错误,那么就执行一下#yum install python-devel.x86_64

完事之后,执行#aliyuncli configure,按照提示填写对应的access_key、access_secret等值。核心库我们之前安装过了,这里需要安装阿里云监控对应的SDK,#pip install aliyun-python-sdk-cms

假设我现在要获得这个叫ligentest这个bucket的容量值,也就是下图的6.45GB:

整个的脚本内容如下:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

from aliyunsdkcore import client
from aliyunsdkcms.request.v20170301 import QueryMetricListRequest
import time

clt = client.AcsClient(‘这里填写access_key‘,‘这里填写access_sercet‘,‘这里填写你所在的地域‘)
request = QueryMetricListRequest.QueryMetricListRequest()
request.set_accept_format(‘json‘)    #获取的是json格式
request.set_Project(‘acs_oss‘)
request.set_Metric(‘MeteringStorageUtilization‘)    #这个获得的值单位是字节
start_time = "2017-09-25 11:00:00"    #获取11点时候的数值
timestamp_start = int(time.mktime(time.strptime(start_time, "%Y-%m-%d %H:%M:%S"))) * 1000
request.set_StartTime(timestamp_start)
request.set_Dimensions("{\‘BucketName\‘:‘ligentest‘}")    #这里就是填写bucket名字的地方
request.set_Period(‘3600‘)    #计量类指标的Metric如下,注意聚合粒度为3600s。
result = clt.do_action_with_exception(request)
print result

脚本执行效果如下:

可以看到我们得到了很多值,这里我们看一下红色框的内容,他的timestamp值是1506308400000对应的就是9月25日11点,也就要是脚本里的start_time:

11点的时候容量大小是6927711586,在脚本的注释里我说过这个值的单位是字节,那么换算成GB,如图:

与网页控制台的数值一致!脚本成功!那么剩下的步骤就是切块然后换算成高级单位,再写成一个定时邮件,每天美滋滋的按时发送给领导啦。

最后的最后,如果您觉得本文对您升职加薪有帮助,那么请不吝赞助之手,刷一下下面的二维码,赞助本人继续写更多的博文!

时间: 2024-08-02 02:42:28

利用阿里云SDK获取OSS存储值的相关文章

利用金山云SDK获取KS3存储值的办法

之前曾经写过获得金山云云存储KS3的方法,http://chenx1242.blog.51cto.com/10430133/1968857 但是这个方法的缺点很明显,就是"要先list再算值",消耗时间太多.于是乎还是得用SDK来达到获取值得目的. 比如说我现在想的到js-online-private的"9.29TB"这个值,如图: 使用adk之前,需要先#pip install ksc-sdk-python,整个脚本内容如下: #!/usr/bin/env pyt

如何利用阿里云打造感知零售平台

摘要: 一.背景介绍所谓感知零售是指的根据店铺顾客的情绪变化以及顾客在店铺内对商品货架停留位置来判断顾客对商品感兴趣程度,实时在线调整营销策略.帮助企业第一时间掌握顾客感受,第一时间下发营销策略,第一时间得到营销效果反馈. 原文地址:http://click.aliyun.com/m/43688/ 一.背景介绍 所谓感知零售是指的根据店铺顾客的情绪变化以及顾客在店铺内对商品货架停留位置来判断顾客对商品感兴趣程度,实时在线调整营销策略.帮助企业第一时间掌握顾客感受,第一时间下发营销策略,第一时间得

阿里云SDK手册之java SDK

进行阿里云sdk开发的前提是已经购买阿里云的相关服务才能调用阿里的相关接口进行开发.最近公司在做云管控的项目,于是进行下摘录总结. 一. 环境准备 阿里云针对不同的开发语言提供不同的sdk,由于项目用的是java语言进行开发,所以下载的是java sdk,介绍的也是java sdk的开发方式. 1.首先下载服务的SDK,阿里云Java SDK支持J2SE Development Kit (JDK) 1.5或以上版本. 2.安装步骤 在解压的文件中可以找到 aliyun-sdk-java-onli

01.阿里云SDK调用,获取ESC主机详细信息

一:通过python SDK获取云主机的详细信息 1.创建Accessky码(不做展示) 2.通过pip安装SDK模块,这个阿里云帮助里面有,也不做详细展示. 3.详细使用方法看代码 我下面展示的返回的json格式,默认为xml格式. DescribeInstancesRequest 为获取esc详细信息的函数,其他函数可以参考阿里云官方支持,我后续也会更新. #! -*- coding:utf-8 -*- import json from aliyunsdkcore import client

调用阿里云api获取阿里云数据同步服务(DTS)并且作图发送邮件的整个流程

前言 在https://rorschachchan.github.io/2018/02/24/阿里云获取DTS服务延迟的脚本/ 文章里已经写过,领导现在要求"每天查看阿里云dts同步的延迟情况和同步速率情况",并且在https://rorschachchan.github.io/2018/02/27/使用matplotlib画图的一个脚本/ 里面也放了一个使用python matplotlib画图的demo,这篇文章的目的就是把整个过程实现,并且把dts图形以每日邮件的形式发送给领导的

阿里云ACP笔记-OSS

OSS,对象存储服务,是阿里云对外提供的云存储服务.RESTFul API的平台无关性,容量和处理能力的弹性扩展,按实际容量付费. OSS的主要功能: 1.弹性扩展 2.大规模 3.图片处理 4.按需付费 OSS产品特点: 1.稳定:可用性99.9%,系统规模自动扩展,对外服务不受影响,数据三重备份,可靠性达到99.99999999% 2.安全:多层次安全防护和防DDoS攻击,多用户隔离机制,提供访问日志有助于追查非法访问 3.大规模.高性能:存储容量无限扩展,请求处理能力弹性增加,多线BGP网

阿里云PolarDB及其共享存储PolarFS技术实现分析(上)

PolarDB是阿里云基于MySQL推出的云原生数据库(Cloud Native Database)产品,通过将数据库中计算和存储分离,多个计算节点访问同一份存储数据的方式来解决目前MySQL数据库存在的运维和扩展性问题:通过引入RDMA和SPDK等新硬件来改造传统的网络和IO协议栈来极大提升数据库性能.代表了未来数据库发展的一个方向.本系列共2篇文章,主要分析为什么会出现PolarDB以及其技术实现. 由于PolarDB并不开源,因此只能基于阿里云公开的技术资料进行解读.这些资料包括从去年下半

阿里云 SDK python3支持

最近的一个项目需要操作阿里云的RDS,项目使用python3,让人惊讶的是官方的SDK竟然只支持python2 在阿里云现有SDK上改了改,文件的修改只涉及aliyun/api/base.py,详见https://github.com/yedf/aliyun-python 修改后的代码在python2.7.6以及python3.4.3上面测试通过 主要的修改如下: 1. python3的字符串已经是utf8,作为签名的输入,需要转为bytes 2. python3的urllib库与python2

阿里云HBase发布冷存储特性,轻松搞定冷数据处理

摘要: 9月27日,阿里云HBase发布了冷存储特性.用户可以在购买云HBase实例时选择冷存储作为一个附加的存储空间,并通过建表语句指定将冷数据存放在冷存储介质上面,从而降低存储成本.冷存储的存储成本仅为高效云盘的1/3,适用于数据归档.访问频率较低的历史数据等各种场景. 9月27日,阿里云HBase发布了冷存储特性.用户可以在购买云HBase实例时选择冷存储作为一个附加的存储空间,并通过建表语句指定将冷数据存放在冷存储介质上面,从而降低存储成本.冷存储的存储成本仅为高效云盘的1/3,适用于数