下面介紹如何使用OSS Ruby SDK來訪問OSS服務,包括查看Bucket列表,查看檔案清單,上傳/下載檔案和刪除檔案。為了方便使用,下面的操作都是在Ruby的互動式命令列irb
中進行。
初始化Client
在命令列中輸入並回車:
irb
進入到Ruby的互動式命令列模式。接著通過require
引入SDK的包:
> require 'aliyun/oss'
=> true
註:在接下來的示範中,
>
符號後面的內容是使用者輸入的命令,=>
後面的內容是程式返回的內容。
接下來建立Client:
> client = Aliyun::OSS::Client.new(
> endpoint: 'endpoint',
> access_key_id: 'AccessKeyId',
> access_key_secret: 'AccessKeySecret')
=> #<Aliyun::OSS::Client...
將其中的參數替換成您實際的endpoint,AccessKeyId和AccessKeySecret。
查看Bucket列表
通過以下命令查看Bucket列表:
> buckets = client.list_buckets
=> #<Enumerator...
> buckets.each { |b| puts b.name }
=> bucket-1
=> bucket-2
=> ...
如果Bucket列表為空,則可以用以下命令建立一個Bucket:
> client.create_bucket('my-bucket')
=> true
註:
- Bucket的命名規範請查看OSS 基本概念。
- Bucket名字不能與OSS服務中其他使用者已有的Bucket重複,所以你需要選擇一個獨特的Bucket名字以避免建立失敗。
查看檔案清單
通過以下命令查看Bucket中的檔案清單:
> bucket = client.get_bucket('my-bucket')
=> #<Aliyun::OSS::Bucket...
> objects = bucket.list_objects
=> #<Enumerator...
> objects.each { |obj| puts obj.key }
=> object-1
=> object-2
=> ...
上傳一個檔案
通過以下命令向Bucket中上傳一個檔案:
> bucket.put_object('my-object', :file => 'local-file')
=> true
其中local-file
是需要上傳的本地檔案的路徑。上傳成功後,可以通過list_objects
來查看:
> objects = bucket.list_objects
=> #<Enumerator...
> objects.each { |obj| puts obj.key }
=> my-object
=> ...
下載一個檔案
通過以下命令從Bucket中下載一個檔案:
> bucket.get_object('my-object', :file => 'local-file')
=> #<Aliyun::OSS::Object...
其中local-file
是檔案保存的路徑。下載成功後,可以開啟檔案查看其內容。
刪除一個檔案
通過以下命令從Bucket中刪除一個檔案:
> bucket.delete_object('my-object')
=> true
刪除檔案後可以通過list_objects
來查看檔案確實已經被刪除:
> objects = bucket.list_objects
=> #<Enumerator...
> objects.each { |obj| puts obj.key }
=> object-1
=> ...