快速上手阿里雲oss SDK


使用阿里雲oss SDK

依賴安裝:

  • pip install oss2
  • pip install aliyun-python-sdk-sts
  • 版本最好是 2.7.5 或以上
  • 如果要開啟 crc64 循環冗余校驗,需要先將 crcmod 安裝好。
  • 安裝 python-devel 執行 yum install python-devel。
  • 需要循環冗余校驗,安裝 crcmod 執行 pip install crcmod。

獲取AccessKeyId和AccessKeySecret:

  1. 登錄阿里雲控制台。

  2. 將鼠標放在右上方的用戶名區域,在彈出的快捷菜單中選擇accesskeys。

  3. 系統彈出安全提示對話框,單擊繼續使用AccessKey。頁面顯示AccessKeyId和AccessKeySecret。

快速創建子賬號AccessKey:

  1. 使用主賬號登錄阿里雲控制台。
  2. 將鼠標置於頁面右上方的賬號圖標,然后單擊accesskeys。
  3. 安全提示框中,單擊開始使用子用戶AccessKey。
  4. 填寫RAM用戶名,然后單擊下一步。
  5. 給RAM用戶授予相關權限,例如AliyunOSSFullAccess將給RAM用戶授予OSS的管理權限。單擊開始創建。
  6. 完成手機驗證后,單擊確定。
  7. 查看AccessKeyId和AccessKeySecret。然后單擊下載AccessKey,下載AccessKey信息。

 

整體使用方法:

# -*- coding: utf-8 -*-

import oss2

endpoint = 'http://oss-cn-hangzhou.aliyuncs.com' # Suppose that your bucket is in the Hangzhou region.

auth = oss2.Auth('<Your AccessKeyID>', '<Your AccessKeySecret>')
bucket = oss2.Bucket(auth, endpoint, '<your bucket name>')

# The object key in the bucket is story.txt
key = 'story.txt'

# Upload
bucket.put_object(key, 'Ali Baba is a happy youth.')

# Download
bucket.get_object(key).read()

# Delete
bucket.delete_object(key)

# Traverse all objects in the bucket
for object_info in oss2.ObjectIterator(bucket):
    print(object_info.key)

 

創建存儲空間:

# -*- coding: utf-8 -*-
import oss2

# 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州為例,其它Region請按實際情況填寫。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')

# 設置存儲空間為私有讀寫權限。
bucket.create_bucket(oss2.models.BUCKET_ACL_PRIVATE)

  

上傳文件:

# -*- coding: utf-8 -*-
import oss2

# 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州為例,其它Region請按實際情況填寫。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')

# <yourLocalFile>由本地文件路徑加文件名包括后綴組成,例如/users/local/myfile.txt
bucket.put_object_from_file('<yourObjectName>', '<yourLocalFile>')

  

下載文件:

# -*- coding: utf-8 -*-
import oss2

# 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州為例,其它Region請按實際情況填寫。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')

# <yourLocalFile>由本地文件路徑加文件名包括后綴組成,例如/users/local/myfile.txt
bucket.get_object_to_file('<yourObjectName>', '<yourLocalFile>')

  

列舉文件:

# -*- coding: utf-8 -*-
import oss2
from itertools import islice

# 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州為例,其它Region請按實際情況填寫。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')

# oss2.ObjectIteratorr用於遍歷文件。
for b in islice(oss2.ObjectIterator(bucket), 10):
    print(b.key)

  

刪除文件:

# -*- coding: utf-8 -*-
import oss2

# 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州為例,其它Region請按實際情況填寫。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')

bucket.delete_object('<yourObjectName>')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM