需求
公司搞了一套兼容 Amazon S3 的云存储系统,用 C++ 写客户端很蛋疼,UMU 决定还是用 go 写一个。
开发过程
1. 找库
先找一个靠谱的开源项目,运行以下命令安装:
1 | go get github.com/mitchellh/goamz |
它内部还用到 github.com/vaughan0/go-ini
。
2. 通过示例代码学习
看一下库带的例子:
1 | package main |
3. 实现
要改的地方不多:
-
认证方式可以改为 aws.GetAuth,但这样容易暴露 AccessKey、SecretKey,所以 UMU 下面贴出的代码还是使用 aws.EnvAuth()。
-
aws.USEast 改为我们自己的。
-
UMU 尝试添加列出所有文件的功能。
代码
1 | package main |
效果如下:
参照对象: