2. 初始化¶
2.2. 配置秘钥¶
要接入NOS服务,您需要一对有效的AccessKey(包括AccessKeyId与AccessKeySecret)来进行 签名验证,开通服务与AccessKey请参考 访问控制 :
在获取到AccessKeyId与AccessKeySecret之后,可以按照以下的步骤进行初始化
2.3. 新建NosClient¶
GO-SDK提供的接口都在NosClient中实现,并以成员方法的方式对外提供调用。因此使用GO-SDK前必须实例化一个NosClient对象。
2.3.1. 关于请求参数¶
NosClient中的方法采用对象方式进行传参:
package main
import (
"fmt"
"github.com/NetEase-Object-Storage/nos-golang-sdk/nosclient"
"github.com/NetEase-Object-Storage/nos-golang-sdk/model"
)
func main() {
copyObjectRequest := &CopyObjectRequest{
SrcBucket : TEST_BUCKET,
SrcObject : PUTOBJECTFILE,
DestBucket : TEST_BUCKET,
DestObject : "CopiedTest",
}
err := nosClient.CopyObject(copyObjectRequest)
if err != nil {
fmt.Printf(err.Error())
}
}
2.4. 实例化NosClient¶
如果您需要修改NosClient的默认参数,可以在实例化NosClient时传入Config实例。Config是NosClient的配置类,可配置连接超时、Key等参数。通过Config可以设置的参数见下表:
参数 | 描述 | 是否必须 |
---|---|---|
Endpoint | 上传的NOS地址
|
是 |
AccessKey | 认证使用的Access Key
|
否 |
SecretKey | 认证使用的Access Secret
|
否 |
NosServiceConnectTimeout | 建立连接的超时时间(单位:秒)
默认:30秒
|
否 |
NosServiceReadWriteTimeout | Socket层传输数据超时时间(单位:秒)
默认:60秒
|
否 |
NosServiceMaxIdleConnection | 最大空闲连接时间(单位:秒)
默认:60秒
|
否 |
LogLevel | 打印日志的等级
默认:Debug
|
否 |
Logger | 打印日志的对象
|
否 |
带Config参数实例化NosClient的示例代码:
package main
import (
"fmt"
"github.com/NetEase-Object-Storage/nos-golang-sdk/nosclient"
"github.com/NetEase-Object-Storage/nos-golang-sdk/model"
"github.com/NetEase-Object-Storage/nos-golang-sdk/logger"
)
func main() {
conf := &config.Config{
Endpoint: "nos.netease.com",
AccessKey: "your-accesskey",
SecretKey: "your-secretkey",
NosServiceConnectTimeout: 3,
NosServiceReadWriteTimeout: 15,
NosServiceMaxIdleConnection: 500,
LogLevel: logger.LogLevel(logger.DEBUG),
Logger: logger.NewDefaultLogger(),
}
nosClient, err := nosclient.New(conf)
if err != nil {
fmt.Println(err.Error())
return
}
}
Attention
后面的示例代码默认您已经实例化了所需的NosClient对象, 不再赘述,后续的代码示例均需要将实例化的代码写入main函数