为了让更多的用户能够快速便捷的使用 QingStor™ 对象存储服务,我们在原有 Python SDK 的基础上,新增 Go、Ruby、Swift、Java、JavaScript 及 PHP, 6 种语言的 SDK。 目前 QingStor™ 对象存储服务的 SDK 已覆盖主流编程语言和开发平台,极大降低了用户使用 QingStor 对象存储服务的成本。 更重要的是, 我们开源了 QingStor™ 对象存储的 API Specifications (OpenAPI 格式,亦称 Swagger 2.0 格式),及 SDK 生成工具 Snips。在 Snips 的帮助下,开发者能够在短时间内开发出所需语言的 SDK。我们欢迎第三方开发者参与到 Snips 项目中,贡献其它语言的 SDK。 下面以 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/qingstor"
)
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) 稿源: 青云QingCloud |