QingStor 对象存储新增六种语言 SDK

QingStor 对象存储作为海量通用的非结构化数据存储系统,自上线以来只提供了 Python 语言的 SDK。为了让更多的用户能够快速便捷的使用 QingStor 对象存储服务,我们新发布了包括 Go、Ruby、Swift、Java、JavaScript、PHP 在内的六种语言的 SDK。目前 QingStor 对象存储服务的 SDK 已覆盖主流编程语言和开发平台,极大降低了用户使用 QingStor 对象存储服务的成本。

与此同时,我们开源了 QingStor 对象存储的 API Specifications (OpenAPI 格式,亦称 Swagger 2.0 格式),及 SDK 生成工具 Snips。在 Snips 的帮助下,能够在短时间内开发出另一种语言的 SDK。我们欢迎第三方开发者参与到 Snips 项目中,贡献其它语言的 SDK。

QingStor SDKs

下面以 Go SDK 为例,演示如何使用 SDK 接入 QingStor。

1. 安装

可以直接使用 go get 安装:

$ go get -u github.com/yunify/qingstor-sdk-go

2. 初始化服务

发起请求前需要初始化服务

import (
    "github.com/yunify/qingstor-sdk-go/config"
    "github.com/yunify/qingstor-sdk-go/service"
)

configuration, err := config.New("ACCESS_KEY_ID", "SECRET_ACCESS_KEY")
qsService, err := service.Init(configuration)

 3. 创建 Bucket

初始化并创建 Bucket, 需要指定 Bucket 名称和所在 Zone

bucket, err := qsService.Bucket("test-bucket", "pek3a")
putBucketOutput, err := bucket.Put()

4. 上传一个 Object

// Open file
file, err := os.Open("~/Desktop/Screenshot.jpg")
defer file.Close()

// Put object
output, err := bucket.PutObject(
    "Screenshot.jpg",
    &service.PutObjectInput{
        Body: file,
    },
)

// Print the HTTP status code.
// Example: 201
fmt.Println(output.StatusCode)

 5. 删除一个 Object

output, err := bucket.DeleteObject("Screenshot.jpg")

// Print the HTTP status code.
// Example: 204
fmt.Println(output.StatusCode)

 

有关 SDK 的具体使用方法,请参考文档 https://docs.qingcloud.com/qingstor/sdk/