项目作者: ggicci

项目描述 :
Aliyun OSS (Object Storage Service) resource access URL generator.
高级语言: Go
项目地址: git://github.com/ggicci/oss.git
创建时间: 2017-03-15T16:07:20Z
项目社区:https://github.com/ggicci/oss

开源协议:MIT License

下载


oss

Aliyun OSS (Object Storage Service) resource access URL generator.

阿里云 OSS 对象存储服务资源访问 URL 生成器。用于实现第三方授权访问。

Usage

  1. import "github.com/ggicci/oss"
  2. var (
  3. endpoint = "http://oss-cn-hangzhou.aliyuncs.com"
  4. key = "<key>"
  5. secret = "<secret>"
  6. bucket = "<bucket>"
  7. object = "<object>"
  8. )
  9. c := oss.NewClient(endpoint, key, secret)
  10. b := c.NewBucket(bucket)
  11. ticket := b.NewTicket("PUT", object)
  12. ticket.Header.Set("Content-Type", "text/plain")
  13. // let oss server check file content md5
  14. ticket.Header.Set("Content-MD5", "eB5eJF1ptWaXm4bijSPyxw==")
  15. if err := ticket.Sign(); err != nil {
  16. // ...
  17. }

The ticket (in JSON format) looks like:

  1. {
  2. "verb": "PUT",
  3. "bucket": "<bucket>",
  4. "object": "<object>",
  5. "expires_at": "2017-03-18T14:15:32.248847808+08:00",
  6. "header": {
  7. "Content-Type": [
  8. "text/plain"
  9. ],
  10. "Content-MD5": [
  11. "eB5eJF1ptWaXm4bijSPyxw=="
  12. ],
  13. },
  14. "query": {
  15. "Expires": [
  16. "1489817732"
  17. ],
  18. "OSSAccessKeyId": [
  19. "<key>"
  20. ],
  21. "Signature": [
  22. "K63uyzyjvCJdF8N+3XZ9JQ5QMt8="
  23. ]
  24. },
  25. "url": "http://<bucket>.oss-cn-hangzhou.aliyuncs.com/<object>?Expires=1489817732&OSSAccessKeyId=<key>&Signature=K63uyzyjvCJdF8N%2B3XZ9JQ5QMt8%3D"
  26. }