最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)上傳Minio和阿里Oss文件

 更新時(shí)間:2021年12月11日 08:36:49   作者:劍客阿良_ALiang  
這篇文章主要介紹了如何通過Python上傳Minio和阿里OSS文件,文中的示例代碼介紹得很詳細(xì),對(duì)我們的工作和學(xué)習(xí)都有一定的價(jià)值,感興趣的小伙伴可以了解一下

前言

本文提供Python上傳minio以及阿里oss文件工具,給自己留個(gè)記錄。

環(huán)境依賴

安裝minio以及oss2依賴

pip install minio -i https://pypi.douban.com/simple
pip install oss2 -i https://pypi.douban.com/simple

代碼

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2021/12/10 21:35
# @Author  : 劍客阿良_ALiang
# @Site    : 
# @File    : upload_tool.py
# !/user/bin/env python
# coding=utf-8
"""
@project : dh_train
@author  : huyi
@file   : remote_upload_util.py
@ide    : PyCharm
@time   : 2021-12-10 14:58:29
"""
import traceback
from minio import Minio
from minio.error import S3Error
import oss2
 
 
def minio_file_upload(end_point: str, access_key: str, secret_key: str, bucket: str, remote_path: str, local_path: str):
    try:
        _end_point = end_point.replace('https://', '').replace('http://', '')
        # Create a client with the MinIO server playground, its access key
        # and secret key.
        client = Minio(
            _end_point,
            access_key=access_key,
            secret_key=secret_key,
            secure=False
        )
 
        # Make 'asiatrip' bucket if not exist.
        found = client.bucket_exists(bucket)
        if not found:
            client.make_bucket(bucket)
        else:
            print("Bucket {} already exists".format(bucket))
 
        # Upload '/home/user/Photos/asiaphotos.zip' as object name
        # 'asiaphotos-2015.zip' to bucket 'asiatrip'.
        client.fput_object(
            bucket, remote_path, local_path,
        )
        print(
            "{} is successfully uploaded as "
            "object {} to bucket {}.".format(local_path, remote_path, bucket)
        )
    except S3Error as e:
        print(
            "*** minio上傳文件異常 -> {} {}".format(str(e), traceback.format_exc()))
        raise Exception("minio上傳文件異常:[{}]".format(str(e)))
 
 
def oss_file_upload(end_point: str, access_key: str, secret_key: str, bucket: str, remote_path: str, local_path: str):
    try:
        _end_point = end_point.replace('https://', '').replace('http://', '')
        # 阿里云賬號(hào)AccessKey擁有所有API的訪問權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建并使用RAM用戶進(jìn)行API訪問或日常運(yùn)維,請(qǐng)登錄RAM控制臺(tái)創(chuàng)建RAM用戶。
        auth = oss2.Auth(access_key, secret_key)
        # yourEndpoint填寫B(tài)ucket所在地域?qū)?yīng)的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
        # 填寫B(tài)ucket名稱。
        bucket = oss2.Bucket(auth, _end_point, bucket)
 
        # 填寫Object完整路徑和本地文件的完整路徑。Object完整路徑中不能包含Bucket名稱。
        # 如果未指定本地路徑,則默認(rèn)從示例程序所屬項(xiàng)目對(duì)應(yīng)本地路徑中上傳文件。
        bucket.put_object_from_file(remote_path, local_path)
    except S3Error as e:
        print(
            "*** oss上傳文件異常 -> {} {}".format(str(e), traceback.format_exc()))
        raise Exception("oss上傳文件異常:[{}]".format(str(e)))

代碼說明:

1、參數(shù)分別為endpoint(IP或者域名:端口)、accessKey、secretKey、桶名、遠(yuǎn)程文件路徑、本地文件路徑。?

補(bǔ)充

Python實(shí)現(xiàn)Minio的下載(主要用于異地備份的中轉(zhuǎn)站)

import logging
from minio import Minio
from minio.error import S3Error

logging.basicConfig(
    level=logging.INFO,
    filename='../mysqlbackup_downlaod.log',
    filemode='a',
    format='%(asctime)s %(name)s %(levelname)s--%(message)s'
)

file_name = "mysql_monitor.py"
file_path = "C:\\Users\\lpy\\Desktop\\img\\{}".format(file_name)


def download_file():
    # 創(chuàng)建一個(gè)客戶端
    minioClient = Minio(
        'minio.***.com',
        access_key='admin',
        secret_key='****',
        secure=False
    )
    try:
        minioClient.fget_object(
            bucket_name="backup",
            object_name="mysql/dev/{}".format(file_name),
            file_path=file_path
        )
        logging.info("file '{0}' is successfully download".format(file_name))
    except S3Error as err:
        logging.error("download_failed:", err)

if __name__ == '__main__':
    download_file() 

以上就是Python實(shí)現(xiàn)上傳Minio和阿里Oss文件的詳細(xì)內(nèi)容,更多關(guān)于Python上傳Minio 阿里Oss文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Pytest運(yùn)行方式及參數(shù)使用示例詳解

    Pytest運(yùn)行方式及參數(shù)使用示例詳解

    這篇文章主要介紹了Pytest運(yùn)行方式及參數(shù)使用詳細(xì)教程,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Python中def的用法以及def是什么意思詳解

    Python中def的用法以及def是什么意思詳解

    這篇文章主要介紹了Python中def的用法以及def是什么意思的相關(guān)資料,文中介紹了Python中函數(shù)的定義和使用方法,還給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2024-10-10
  • 教你如何利用python進(jìn)行數(shù)值分析

    教你如何利用python進(jìn)行數(shù)值分析

    今天教大家如何利用python進(jìn)行數(shù)值分析,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • Selenium爬取b站主播頭像并以昵稱命名保存到本地

    Selenium爬取b站主播頭像并以昵稱命名保存到本地

    這篇文章主要介紹了使用Selenium自動(dòng)化爬取b站主播頭像并以昵稱命名保存到本地的方法,代碼簡(jiǎn)單完整,對(duì)于大家練習(xí)Selenium自動(dòng)化有一定的幫助,需要的朋友可以參考下
    2021-04-04
  • Python實(shí)現(xiàn)簡(jiǎn)單求解給定整數(shù)的質(zhì)因數(shù)算法示例

    Python實(shí)現(xiàn)簡(jiǎn)單求解給定整數(shù)的質(zhì)因數(shù)算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單求解給定整數(shù)的質(zhì)因數(shù)算法,結(jié)合實(shí)例形式分析了Python正整數(shù)分解質(zhì)因數(shù)的相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • Python編譯成.so文件進(jìn)行加密后調(diào)用的實(shí)現(xiàn)

    Python編譯成.so文件進(jìn)行加密后調(diào)用的實(shí)現(xiàn)

    今天小編就為大家分享一篇Python編譯成.so文件進(jìn)行加密后調(diào)用的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python雙向隊(duì)列deque的使用

    python雙向隊(duì)列deque的使用

    本文主要介紹了python雙向隊(duì)列deque的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • PyQt5中QTimer定時(shí)器的實(shí)例代碼

    PyQt5中QTimer定時(shí)器的實(shí)例代碼

    如果需要在程序中周期性地進(jìn)行某項(xiàng)操作,比如檢測(cè)某種設(shè)備的狀態(tài),就會(huì)用到定時(shí)器,本文主要介紹了PyQt5中QTimer定時(shí)器的實(shí)例代碼,感興趣的可以了解一下
    2021-06-06
  • python實(shí)現(xiàn)手機(jī)號(hào)歸屬地查詢功能

    python實(shí)現(xiàn)手機(jī)號(hào)歸屬地查詢功能

    手機(jī)上突然收到了某銀行的短信提示,看了一下手機(jī)的位數(shù),正好是11位,我一想,這不就是標(biāo)準(zhǔn)的手機(jī)號(hào)碼嗎?于是想用python的庫實(shí)現(xiàn)查詢手機(jī)號(hào)碼歸屬地查詢自由,所以本文給大家介紹了如何用python實(shí)現(xiàn)手機(jī)號(hào)歸屬地查詢功能,需要的朋友可以參考下
    2024-03-03
  • Python中turtle繪圖模塊的詳細(xì)講解

    Python中turtle繪圖模塊的詳細(xì)講解

    Turtle庫是Python語言中一個(gè)很流行的繪制圖像的函數(shù)庫,下面這篇文章主要給大家介紹了關(guān)于Python中turtle繪圖模塊的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02

最新評(píng)論

杨浦区| 开阳县| 巴彦淖尔市| 镇坪县| 广元市| 定边县| 昂仁县| 原平市| 南汇区| 阳信县| 哈密市| 含山县| 临高县| 铜川市| 定安县| 龙川县| 花莲市| 巫溪县| 乌拉特后旗| 福安市| 定远县| 莱西市| 安阳县| 绥化市| 年辖:市辖区| 临安市| 泰安市| 光泽县| 沂南县| 涿州市| 渭源县| 高州市| 延庆县| 阳谷县| 凌源市| 益阳市| 阿荣旗| 湖口县| 台湾省| 永丰县| 封开县|