go-fds
SDK 使用教程
go-fdsNext-generation fds golang sdk项目地址:https://gitcode.com/gh_mirrors/go/go-fds
1. 项目目录结构及介绍
go-fds
SDK 的目录结构如下:
.
├── example # 示例代码
├── fds # 核心SDK包
├── manager # 对象管理工具包
├── vscode # VS Code 相关配置
├── .editorconfig # 编辑器配置
├── .gitignore # Git 忽略规则
├── .travis.yml # Travis CI 配置文件
├── LICENSE # 许可证文件
├── Makefile # 构建脚本
├── README-cn.md # 中文版README
└── README.md # 英文版README
example
: 包含使用SDK的示例代码。fds
: 存放核心的FDS(Fast Data Service)操作函数和接口。manager
: 提供对象下载、上传等高级功能的工具包。.editorconfig
: 保持代码风格一致性的配置文件。.gitignore
: 指定Git不跟踪的文件或目录。.travis.yml
: 自动化测试和构建设置。LICENSE
: 开源许可证,采用Apache 2.0。Makefile
: 用于构建和测试项目的脚本。README-{cn,en}.md
: 项目说明文档。
2. 项目的启动文件介绍
该项目不是一个可执行的应用程序,而是一套Go库。因此,没有传统的“启动文件”。不过,开发者可以通过导入github.com/XiaoMi/go-fds
包并在自己的Go程序中调用相关API来使用它。例如,从example
目录中的代码片段可以看到如何初始化客户端并下载对象:
package main
import (
"log"
"os"
"github.com/XiaoMi/go-fds/fds"
"github.com/XiaoMi/go-fds/fds/manager"
)
func main() {
conf := fds.NewClientConfiguration(os.Getenv("GO_FDS_TEST_ENDPOINT"))
client := fds.New(
os.Getenv("GO_FDS_TEST_ACCESS_KEY_ID"),
os.Getenv("GO_FDS_TEST_ACCESS_KEY_SECRET"),
conf,
)
downloader := manager.NewDownloader(client, 1024*1024, 10, true)
request := &manager.DownloadRequest{
GetObjectRequest: fds.GetObjectRequest{
BucketName: "hellodf",
ObjectName: "build log",
},
FilePath: "/home/XiaoMi/tmp/build log",
}
err := downloader.Download(request)
if err != nil {
log.Fatalln(err)
} else {
log.Println("Done")
}
}
这段代码演示了如何创建一个新的FDS客户端,以及如何使用manager.NewDownloader
下载一个名为build log
的对象到本地文件系统。
3. 项目的配置文件介绍
go-fds
本身不直接使用配置文件,但你的应用在使用该SDK时可能需要配置FDS服务的访问参数。这些参数通常包括:
endpoint
: FDS服务的 endpoint 地址。access_key_id
: 访问密钥ID。access_key_secret
: 访问密钥的秘钥。
这些配置值可以在运行时通过环境变量传入,如上面代码所示。例如,在运行应用前,你可以设置以下环境变量:
export GO_FDS_TEST_ENDPOINT=<your_fds_endpoint>
export GO_FDS_TEST_ACCESS_KEY_ID=<your_access_key_id>
export GO_FDS_TEST_ACCESS_KEY_SECRET=<your_access_key_secret>
然后运行你的Go程序,main()
函数会读取这些环境变量以初始化FDS客户端。
请注意,实际生产环境中应妥善保管这些敏感信息,避免在代码或日志中直接暴露。可以考虑使用安全的方式来存储和加载这些凭证,如使用AWS的SSM Parameter Store或者自定义的安全加密方式。
go-fdsNext-generation fds golang sdk项目地址:https://gitcode.com/gh_mirrors/go/go-fds