閱讀158 返回首頁    go 小米


使用示例__osscmd_常用工具_對象存儲 OSS-阿裏雲

安裝配置osscmd

在Linux或者Windows上下載SDK安裝包後,解壓縮後就可以使用 osscmd了。

使用時直接調用python osscmd即可獲取相應的說明。每種命令有兩種執行模式。以查詢用戶所創建的bucket為例子。執行的是gs命令,get service的簡寫。

  • 方法1:不指定ID和KEY,osscmd從默認文件中讀取ID和KEY。
  1. $ python osscmd gs
  2. can't get accessid/accesskey, setup use : config --id=accessid --key=accesskey

注意:如果出現這樣的提示表明沒有配置好ID和KEY,見步驟2中提示的配置命令。

如果配置好ID和KEY,並且ID和KEY有效,執行

  1. $ python osscmd gs
  2. 2013-07-19 08:11 test-oss-sample
  3. Bucket Number is: 1
  • 方法2:直接在命令中指定ID和KEY,osscmd從命令行中讀取ID和KEY。如果ID和KEY有效,執行後會得之後的結果。
  1. $ python osscmd gs --id=your_id --key=your_key
  2. 2013-07-19 08:11 test-oss-sample
  3. Bucket Number is: 1

如果要配置用戶的ID和KEY到默認的文件中,請運行如下命令用來配置訪問OSS所需要的ID和KEY。默認的OSS HOST為oss.aliyuncs.com。

  1. $python osscmd config --id=YOUR_ID --key=YOUR_KEY

如果出現類似“Your configuration is saved into ”的提示表明ID和KEY已經保存成功了。

基礎操作

列出創建的bucket

  1. $python osscmd getallbucket

如果是剛剛使用OSS的用戶因為沒有創建bucket,輸出是空

創建bucket

創建一個Bucket名字為mybucketname的bucket。

  1. $python osscmd createbucket mybucketname

創建“mybucketname”的bucket,有可能不成功。因為OSS中的bucket名字是全局唯一的,並且有人已經創建了這個bucket。這個時候需要換一個名字。例如在bucket名字中加入特定的日期。

查看是否創建成功。

  1. $python osscmd getallbucket

如果沒有成功請檢查osscmd返回的錯誤信息。

查看Object

成功創建bucket後,查看bucket中有哪些object。

  1. $python osscmd list oss://mybucketname/

由於bucket中還沒有object,輸出是空的。

上傳object

向bucket中上傳一個object。假如本地文件名叫local_existed_file,其MD5值如下所示。

  1. $ md5sum local_existed_file 7625e1adc3a4b129763d580ca0a78e44 local_existed_file
  2. $ python osscmd put local_existed_file oss://mybucketname/test_object

再次查看Object

如果創建成功,再次查看bucket中有哪些object。

  1. $python osscmd list oss://mybucketname/

下載object

從bucket中下載object到本地文件,並比對下載的文件的md5值

  1. $ python osscmd get oss://mybucketname/test_object download_file
  2. $ md5sum download_file
  3. 7625e1adc3a4b129763d580ca0a78e44 download_file

刪除object

  1. $ python osscmd delete oss://mybucketname/test_object

刪除bucket

注意:如果bucket中還有object的話則這個bucket不能被刪除。

  1. $ python osscmd deletebucket test-oss-aliyun-com

使用lifecycle

配置一個lifecycle的xml格式的文本文件

  1. <LifecycleConfiguration>
  2. <Rule>
  3. <ID>1125</ID>
  4. <Prefix>log_backup/</Prefix>
  5. <Status>Enabled</Status>
  6. <Expiration>
  7. <Days>2</Days>
  8. </Expiration>
  9. </Rule>
  10. </LifecycleConfiguration>

這個表示刪除bucket下,以log_backup/ 為前綴的,並且相對當前時間超過2天的object。詳細的規則配置可以參考API文檔

寫入lifecycle

  1. python osscmd putlifecycle oss://mybucket lifecycle.xml
  2. 0.150(s) elapsed

讀取lifecycle

  1. python osscmd getlifecycle oss://mybucket
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <LifecycleConfiguration>
  4. <Rule>
  5. <ID>1125</ID>
  6. <Prefix>log_backup/</Prefix>
  7. <Status>Enabled</Status>
  8. <Expiration>
  9. <Days>2</Days>
  10. </Expiration>
  11. </Rule>
  12. </LifecycleConfiguration>
  13. 0.027(s) elapsed

刪除lifecycle

  1. python osscmd deletelifecycle oss://mybucket
  2. 0.139(s) elapsed

讀取lifecyle

  1. python osscmd getlifecycle oss://mybucket
  2. Error Headers:
  3. [('content-length', '288'), ('server', 'AliyunOSS'), ('connection', 'close'), ('x-oss-request-id', '54C74FEE5D7F6B24E5042630'), ('date', 'Tue, 27 Jan 2015 08:44:30 GMT'), ('content-type', 'application/xml')]
  4. Error Body:
  5. <?xml version="1.0" encoding="UTF-8"?>
  6. <Error>
  7. <BucketName>mybucket</BucketName>
  8. <Code>NoSuchLifecycle</Code>
  9. <Message>No Row found in Lifecycle Table.</Message>
  10. <RequestId>54C74FEE5D7F6B24E5042630</RequestId>
  11. <HostId>mybucket.oss-maque-hz-a.alibaba.net</HostId>
  12. </Error>
  13. Error Status:
  14. 404
  15. getlifecycle Failed!

防盜鏈設置

允許空referer訪問

  1. $osscmd putreferer oss://test --allow_empty_referer=true
  2. 0.004(s) elapsed

獲取設置的referer

  1. $osscmd getreferer oss://test
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <RefererConfiguration>
  4. <AllowEmptyReferer>true</AllowEmptyReferer>
  5. <RefererList />
  6. </RefererConfiguration>

不允許空referer,隻允許referer為test的請求

  1. $osscmd putreferer oss://test --allow_empty_referer=false --referer='www.test.com'
  2. 0.092(s) elapsed

獲取設置的referer

  1. $osscmd getreferer oss://test
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <RefererConfiguration>
  4. <AllowEmptyReferer>false</AllowEmptyReferer>
  5. <RefererList>
  6. <Referer>www.test.com</Referer>
  7. </RefererList>
  8. </RefererConfiguration>

不允許空referer,隻允許referer為test和test1的請求

  1. $osscmd putreferer oss://test --allow_empty_referer=false --referer='www.test.com,www.test1.com'

獲取設置的referer

  1. $osscmd getreferer oss://test
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <RefererConfiguration>
  4. <AllowEmptyReferer>false</AllowEmptyReferer>
  5. <RefererList>
  6. <Referer>www.test.com</Referer>
  7. <Referer>www.test1.com</Referer>
  8. </RefererList>
  9. </RefererConfiguration>

最後更新:2016-11-23 16:04:11

  上一篇:go 快速安裝__osscmd_常用工具_對象存儲 OSS-阿裏雲
  下一篇:go 有關Bucket命令__osscmd_常用工具_對象存儲 OSS-阿裏雲