oss对象存储服务操作

20221027

oss上图片要在线打开,需要把阿里云域名映射为私人域名

20220901

import oss2
import pandas as pd
import requests
import sys

from tqdm import tqdm

# 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
auth = oss2.Auth('LTAI5tPLVMcNdUnni6hnLiEH', '1Xu3mjXveD0TtnO6PK4NrmhVmoiIPi')
# 填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-shenzhen.aliyuncs.com', 'znjc-dsl')

result1= []
result2= []
# 列举指定字符串之后的所有文件。即使存储空间中存在marker的同名object,返回结果中也不会包含这个object。
# 返回所有的文件名称
for obj in tqdm(oss2.ObjectIterator(bucket,prefix='images/dsl/jk_u')):
    result1.append(obj.key)

for obj in tqdm(oss2.ObjectIterator(bucket, prefix='images/dsl/jiankewang_pic')):
    result2.append(obj.key)
# 179055张
df1 = pd.DataFrame(data=result1,columns=['pic'])
# 179126张
df2 = pd.DataFrame(data=result2,columns=['pic'])

统计图片数量

20220322

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
登陆

import oss2
import requests


def oss(oss_save_path, your_img_path):
    auth = oss2.Auth('LTA_key', 'secret')
    endpoint = 'endpoint'
    bucket = oss2.Bucket(auth, endpoint, 'your_bucket_name')
    bucket.put_object_from_file(oss_save_path, your_img_path)


if __name__=="__main__":
    url = 'https://test.com/test.jpg'
    res = requests.get(url).content
    with open('test.jpg', 'wb')as f:
        f.write(res)
    your_img_path = '/Desktop/test.jpg'
    # 此处是存放在bucket下的image_data文件夹中
    oss_save_path = 'image_data/test.jpg'
    oss(oss_save_path, your_img_path)

########下面是实际案例

def upload_pic_to_oss(saved_pic_name_list,pic_folder):
    '''
    上传图片到oss
    :param saved_pic_name_list: 图片名称
    :param pic_folder: 存放图片的文件夹
    :return:
    '''
    auth = oss2.Auth('LTAI5tPLVMcNdUnni6hnLiEH', '1Xu3mjXveD0TtnO6PK4NrmhVmoiIPi')
    bucket = oss2.Bucket(auth, 'https://oss-cn-shenzhen.aliyuncs.com','znjc-dsl')
    # 上传下载进度
    def percentage(consumed_bytes, total_bytes):
        if total_bytes:
            rate = int(100 * (float(consumed_bytes) / float(total_bytes)))
            print('\r{0}% '.format(rate), end='')
            sys.stdout.flush()

    for image_name in saved_pic_name_list:
        ossFilename = 'images/upload_test/'+image_name #oss存放路径
        tmp_file = pic_folder + image_name
        oss2.resumable_upload(
            bucket,
            ossFilename,#上传到用户空间的文件名
            tmp_file,# 待上传本地文件名
            progress_callback=percentage)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值