山河云对象存储的 Ruby SDK 已在 GitHub 开源,本文为简要使用文档。更多详细信息请参见 GitHub 项目

使用 SDK 之前请先在 管理控制台申请 Access key。

安装

山河云对象存储提供两个安装方式,用户可根据需求选用。

  • 方式一:直接 Ruby Gem 安装:

    gem install qingstor-sdk
  • 方式二:从源码安装:

    git clone git@github.com:qingstor/qingstor-sdk-ruby.git
    cd qingstor-sdk-ruby
    bundle install
    bundle exec rake install

初始化服务

发起请求前需要初始化服务。以下代码初始化了一个 QingStor Service。

require 'qingstor/sdk'

config = QingStor::SDK::Config.init 'ACCESS_KEY_ID', 'SECRET_ACCESS_KEY'
qs_service = QingStor::SDK::Service.new config

代码示例

  1. 获取账户下的 Bucket 列表

    result = qs_service.list_buckets
    
    # Print HTTP status code
    puts result[:status_code]
    
    # Print bucket count
    puts result[:buckets].length
  2. 初始化并创建 Bucket, 需要指定 Bucket 名称和所在 Zone:

    bucket = qs_service.bucket 'test-bucket', 'pek3a'
    putBucketOutput = bucket.put
  3. 获取 Bucket 中存储的 Object 列表

    result = bucket.list_objects
    
    # Print HTTP status code
    puts result[:status_code]
    
    # Print keys count
    puts result[:keys].length
  4. 创建一个 Object,例如上传一张屏幕截图:

    file_path = File.expand_path '~/Desktop/Screenshot.jpg'
    result = bucket.put_object 'Screenshot.jpg', body: File.open(file_path)
    
    # Print HTTP status code.
    puts result[:status_code]