本文介绍 文件存储 NAS Go SDK 的代码示例供您参考。
使用 Go SDK 调用 文件存储 NAS 的接口时,默认无超时时间设置。 您可以在初始化客户端时,通过 WithHTTPClient(&http.Client{Timeout: <超时时间> * time.Second})
来指定客户端的请求超时时间,若未在该时间内完成,请求即会终止并报超时错误。 例如,您可以通过如下代码将客户端的请求超时时间设置为 30 秒。
config = volcengine.NewConfig().WithCredentials(credentials.NewStaticCredentials(ak, sk, "")).WithRegion(region).WithHTTPClient(&http.Client{Timeout: 30 * time.Second})
说明
关于下述 SDK 代码中所使用参数的定义、取值范围等信息,请参见 CreateFileSystem。
package main
import (
"fmt"
"os"
"github.com/volcengine/volcengine-go-sdk/service/filenas"
"github.com/volcengine/volcengine-go-sdk/volcengine"
"github.com/volcengine/volcengine-go-sdk/volcengine/credentials"
"github.com/volcengine/volcengine-go-sdk/volcengine/session"
)
var client *filenas.FILENAS
func initClient() {
// 详见初始化客户端部分
}
func createFileSystem() {
zoneId := "cn-beijing-a"
fileSystemName := "go_sdk_test"
fileSystemType := "Extreme"
protocolType := "NFS"
chargeType := "PayAsYouGo"
capacity := int32(100)
// 调用 CreateFileSystem 接口创建文件系统
resp, err := client.CreateFileSystem(&filenas.CreateFileSystemInput{
ZoneId: &zoneId,
FileSystemName: &fileSystemName,
FileSystemType: &fileSystemType,
ProtocolType: &protocolType,
ChargeType: &chargeType,
Capacity: &capacity,
})
if err != nil {
fmt.Printf("Error when calling CreateFileSystem, err: %v\n", err)
os.Exit(1)
}
fmt.Println(resp)
}
func main() {
initClient()
createFileSystem()
}
说明
关于下述 SDK 请求中所使用参数的定义、取值范围等信息,请参见 DescribeFileSystems。
package main
import (
"fmt"
"os"
"github.com/volcengine/volcengine-go-sdk/service/filenas"
"github.com/volcengine/volcengine-go-sdk/volcengine"
"github.com/volcengine/volcengine-go-sdk/volcengine/credentials"
"github.com/volcengine/volcengine-go-sdk/volcengine/session"
)
var client *filenas.FILENAS
func initClient() {
// 详见初始化客户端部分
}
func describeFileSystems() {
// 指定要查询的文件系统 ID
fileSystemId := "enas-cn018413rhre*****"
// 调用 DescribeFileSystems 接口列举文件系统
resp, err := client.DescribeFileSystems(&filenas.DescribeFileSystemsInput{
FileSystemIds: &fileSystemId,
})
if err != nil {
fmt.Printf("Error when calling DescribeFileSystems, err: %v\n", err)
os.Exit(1)
}
fmt.Println(resp)
}
func main() {
initClient()
describeFileSystems()
}