You need to enable JavaScript to run this app.
导航
代码示例
最近更新时间:2023.10.24 11:31:03首次发布时间:2023.10.17 11:13:49

本文介绍 文件存储 NAS Go SDK 的代码示例供您参考。

前提条件

  1. 下载安装 SDK

  2. 初始化客户端

请求超时时间设置

使用 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()
}