<oss2.models.PutObjectResult object at 0x7f7928d0b240>

# -*- coding: utf-8 -*-
import oss2
oss_key = ['LTAINInNd1ryh0gt', 's6Kta34KkwPdvvvyP1Rk8BOV1UBeUk', 'oss-cn-shenzhen-internal.aliyuncs.com']
yourAccessKeyId, yourAccessKeySecret, endpoint = oss_key
yourBucketName = 'test-archive'
# # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth(yourAccessKeyId, yourAccessKeySecret)
# # Endpoint以杭州为例,其它Region请按实际情况填写。
bucket = oss2.Bucket(auth, endpoint, yourBucketName) import sys, glob, os kind, dir_, ip = sys.argv[1], sys.argv[2], sys.argv[3] file_feature = '*-*-*'
dir_ = dir_ + file_feature
logicPath = 'log/{}/birthplaceIp{}/'.format(kind, ip)
LocalFiles = glob.glob(dir_)
for i in LocalFiles:
print(i)
ii = i.split(os.sep)[-1]
objectName = '{}{}'.format(logicPath, ii)
r = bucket.put_object_from_file(objectName, i)
print(r)

  

【2018年12月29日 09:45:56,xiaole】

1、数据说明

备份2类文件:云盟广告数据源原始文件、广告详情页访客数据源原始文件,依次
备份在test-archive/testlog/{yunmeng,detailPage}/逻辑目录;

1-1、逻辑目录

原始文件所在的公网ip地址
59.120.16.204,
59.120.11.14,
101.21.46.230,
,相应建立逻辑目录,例如test-archive/testlog/{yunmeng,detailPage}/birthplaceIp59.110.16.204;

1-2、数据大小

相应1-1中ip顺序2类文件大小:
132、18,
95、15,
132、18,
单位G,日期为2018-09-18至今日,

示例:
[root@a ~]# ll -ash /data/uniontestlog/
total 132G
20K drwxr-xr-x 2 nginx nginx 20K Dec 29 00:00 .
4.0K drwxr-xr-x 14 root root 4.0K Dec 10 11:00 ..
963M -rw-r--r-- 1 nginx nginx 963M Sep 18 23:59 visit-2018-09-18
1.3G -rw-r--r-- 1 nginx nginx 1.3G Sep 19 23:59 visit-2018-09-19
1.2G -rw-r--r-- 1 nginx nginx 1.2G Sep 20 23:59 visit-2018-09-20
[root@a ~]# ll -ash /data/visittestlog/
total 18G
20K drwxr-xr-x 2 nginx nginx 20K Dec 29 00:00 .
4.0K drwxr-xr-x 14 root root 4.0K Dec 10 11:00 ..
48M -rw-r--r-- 1 nginx nginx 48M Sep 18 23:59 visit-2018-09-18
66M -rw-r--r-- 1 nginx nginx 66M Sep 19 23:59 visit-2018-09-19
64M -rw-r--r-- 1 nginx nginx 64M Sep 20 23:59 visit-2018-09-20
68M -rw-r--r-- 1 nginx nginx 68M Sep 21 23:59 visit-2018-09-21

单日文件,大小实时递增;

2、费用相关

2-1、存储类型选择

参考
2-1、阿里云存储类型选择说明
存储类型介绍_存储类型_开发指南_对象存储 OSS-阿里云 https://help.aliyun.com/document_detail/51374.html?spm=a2c4g.11186623.2.13.75a465d3dgp2Sb#concept-fcn-3xt-tdb
归档存储类型(Archive)
OSS归档存储类型在三种存储类型中单价最低,适合需要长期保存(建议半年以上)的归档数据,在存储周期内极少被访问,数据进入到可读取状态需要1分钟的解冻时间。
选择
归档存储类型(Archive);

2-2、费用计算

参考
计费案例_计费方式_计量计费_对象存储 OSS-阿里云 https://help.aliyun.com/document_detail/48293.html?spm=a2c4g.11186623.6.556.32901751otd0Eh

存储费用:0.148(存储单价:元/GB/月) * 1024(存储量:GB) = 151.55 元/月
流量费用:0.5(外网流出流量忙时单价:元/GB)* 2048 (流量:GB) = 1024 元/月
请求费用:0.01(请求费用单价:元/万次)* 1500 = 15 元/月
总费用:1190.55 元/月

本存储中,1024GB月oss费用总计约150元;

2-3、存储区域

华南(1)深圳

3、维护相关

3-1、数据写入

3-1-1、视情况追加新日期的数据,注意追加时要覆盖oss中最晚的文件;
3-1-2、视情况删除;

3-2、数据读取
尽量通过阿里内网访问;

py36\Lib\site-packages\oss2\api.py

    def put_object_from_file(self, key, filename,
headers=None,
progress_callback=None):
"""上传一个本地文件到OSS的普通文件。 :param str key: 上传到OSS的文件名
:param str filename: 本地文件名,需要有可读权限 :param headers: 用户指定的HTTP头部。可以指定Content-Type、Content-MD5、x-oss-meta-开头的头部等
:type headers: 可以是dict,建议是oss2.CaseInsensitiveDict :param progress_callback: 用户指定的进度回调函数。参考 :ref:`progress_callback` :return: :class:`PutObjectResult <oss2.models.PutObjectResult>`
"""
headers = utils.set_content_type(http.CaseInsensitiveDict(headers), filename) with open(to_unicode(filename), 'rb') as f:
return self.put_object(key, f, headers=headers, progress_callback=progress_callback) def put_object(self, key, data,
headers=None,
progress_callback=None):
"""上传一个普通文件。 用法 ::
>>> bucket.put_object('readme.txt', 'content of readme.txt')
>>> with open(u'local_file.txt', 'rb') as f:
>>> bucket.put_object('remote_file.txt', f) :param key: 上传到OSS的文件名 :param data: 待上传的内容。
:type data: bytes,str或file-like object :param headers: 用户指定的HTTP头部。可以指定Content-Type、Content-MD5、x-oss-meta-开头的头部等
:type headers: 可以是dict,建议是oss2.CaseInsensitiveDict :param progress_callback: 用户指定的进度回调函数。可以用来实现进度条等功能。参考 :ref:`progress_callback` 。 :return: :class:`PutObjectResult <oss2.models.PutObjectResult>`
"""
headers = utils.set_content_type(http.CaseInsensitiveDict(headers), key) if progress_callback:
data = utils.make_progress_adapter(data, progress_callback) if self.enable_crc:
data = utils.make_crc_adapter(data) resp = self.__do_object('PUT', key, data=data, headers=headers)
result = PutObjectResult(resp) if self.enable_crc and result.crc is not None:
utils.check_crc('put', data.crc, result.crc) return result py36\Lib\site-packages\oss2\models.py class PutObjectResult(RequestResult):
def __init__(self, resp):
super(PutObjectResult, self).__init__(resp) #: HTTP ETag
self.etag = _get_etag(self.headers) #: 文件上传后,OSS上文件的CRC64值
self.crc = _hget(resp.headers, 'x-oss-hash-crc64ecma', int)

  

 

源码 <oss2.models.PutObjectResult object at 0x7f7928d0b240>的更多相关文章

  1. JDK1.8源码阅读笔记(1)Object类

    JDK1.8源码阅读笔记(1)Object类 ​ Object 类属于 java.lang 包,此包下的所有类在使⽤时⽆需⼿动导⼊,系统会在程序编译期间⾃动 导⼊.Object 类是所有类的基类,当⼀ ...

  2. JDK1.8源码(一)——java.lang.Object类

    本系列博客将对JDK1.8版本的相关类从源码层次进行介绍,JDK8的下载地址. 首先介绍JDK中所有类的基类——java.lang.Object. Object 类属于 java.lang 包,此包下 ...

  3. JVM源码分析之深入分析Object类finalize()方法的实现原理

      原创申明:本文由公众号[猿灯塔]原创,转载请说明出处标注 ​“365篇原创计划”第十篇. 今天呢!灯塔君跟大家讲: 深入分析Object类finalize()方法的实现原理 finalize 如果 ...

  4. JDK源码学习笔记——Object

    一.源码解析 public class Object { /** * 一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用 */ private static native void ...

  5. Django-rest-framework源码分析----认证

    一.前言 1.1.安装 两种方式: github pip直接安装 pip install django-rest-framework 1.2.需要先了解的一些知识 理解下面两个知识点非常重要,djan ...

  6. Django rest framework源码分析(1)----认证

    目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...

  7. Django rest framework 源码分析 (1)----认证

    一.基础 django 2.0官方文档 https://docs.djangoproject.com/en/2.0/ 安装 pip3 install djangorestframework 假如我们想 ...

  8. Django的rest_framework认证组件之局部设置源码解析

    前言: Django的rest_framework组件的功能很强大,今天来我来给大家剖析一下认证组件 下面进入正文分析,我们从视图开始,一步一步来剖析认证组件 1.进入urls文件 url(r'^lo ...

  9. Django Rest Framework源码剖析(一)-----认证

    一.简介 Django REST Framework(简称DRF),是一个用于构建Web API的强大且灵活的工具包. 先说说REST:REST是一种Web API设计标准,是目前比较成熟的一套互联网 ...

随机推荐

  1. vuejs监听苹果iphone手机键盘事件

    在iphone手机中,vue提供的keyup事件是不能监听iphone键盘的,但是h5提供的input事件可以做到. 只需要向下面这样处理,就可以解决iphone不响应键盘事件的bug <tem ...

  2. C mysql (C API Commands out of sync; you can't run this command now)

    错误出现在当一个用户使用查询,另一个用户再使用此sql连接进行查询的时候: 原因是因为上一次使用此sql连接进行查询时没有将所有的结果集给释放掉,在所有使用此sql连接进行查询的地方将所有的结果集给释 ...

  3. Kubernetes 集群:规划与搭建

    Kubernetes 集群环境: IP地址 主机名 角色 软硬件限制 192.168.119.134 master1 deploy ,master1 ,lb1 ,etcd (1) CPU至少1核,内存 ...

  4. zabbix的启动和关闭脚本

    1. zabbix客户端的系统服务脚本 1.1 拷贝启动脚本 zabbix的源码提供了系统服务脚本,在/usr/local/src/zabbix-3.2.6/misc/init.d目录下,我的系统是C ...

  5. Xcode 插件集:xTextHandler

    本文转载至 http://www.tuicool.com/articles/zIFvQn7 基于 Xcode Source Editor Extension 做了一个插件集,叫做 xTextHandl ...

  6. pycharm2016.2.3注册码到期, 激活, 破解版

    python工具下载: https://pan.baidu.com/s/1kVEDOrl#list/path=%2F 密码:ko1i 注册码有效期是一年,到期后需再次激活 分享破解版 或者重新注册码激 ...

  7. PHP 连接oracle

    function connect_oracle(){ static $dbconn = false; if(!$dbconn){ $db_server = "127.0.0.1"; ...

  8. Qt编写密钥生成器+使用demo(开源)

    在很多商业软件中,需要提供一些可以试运行的版本,这样就需要配套密钥机制来控制,纵观大部分的试用版软件,基本上采用以下几种机制来控制.1:远程联网激活,每次启动都联网查看使用时间等,这种方法最完美,缺点 ...

  9. 【linux系列】Centos下安装mysql数据库

    前言 为了测试方便,通常我们会自己安装数据库,以下是在Centos上安装Mysql的操作. 一.检查自己是否安装了MySQL数据库 [root@s201 /home/mysql]#rpm -qa |g ...

  10. vue案例 - v-model实现自定义样式の多选与单选

    接,上文:https://www.cnblogs.com/padding1015/p/9265985.html 这两天在玩mpvue,但是下午如果对着文档大眼瞪小眼的话,肯定会睡着的. 想起昨晚的fl ...