创建文件系统
引导式阅读
Go
创建文件系统
作者
C***
上架时间
2023-11-13 01:50:23

0. 版本说明

本示例基于华为云SDK V3.0版本开发。

1. 简介

华为云提供了SFSTurbo服务端SDK,您可以直接集成服务端SDK来调用SFSTurbo服务相关API,从而实现对SFSTurbo服务的快速操作。该示例展示了如何通过Go版本的SDK进行创建SFSTurbo文件系统。

2. 开发前准备

  • 要使用华为云 Go SDK ,您需要拥有云账号以及该账号对应的 Access Key(AK)、 Secret Access Key(SK)和项目ID (PROJECT ID)。请在华为云控制台“我的凭证-访问密钥”页面上创建和查看您的 AK&SK,更多信息请查看 访问密钥 。 请在华为云控制台“我的凭证-API凭证”页面上查看您的项目ID,更多信息请查看 API凭证

  • 要使用华为云 Go SDK 访问指定服务的 API ,您需要确认已在 华为云控制台 开通当前服务。

  • 华为云 Go SDK 支持 go 1.14 及以上版本,可执行 go version 检查当前 Go 的版本信息。

3. 安装SDK

使用go get安装华为云Go SDK,执行如下命令安装华为云Go SDK库以及相关依赖库,具体的SDK版本号请参见SDK开发中心。

3.1 安装华为云Go库

go get github.com/huaweicloud/huaweicloud-sdk-go-v3

3.2 安装依赖

go get github.com/json-iterator/go

4. 开始使用

4.1 导入依赖模块

import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/config" sfsturbo "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/sfsturbo/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/sfsturbo/v1/model" "os" )

4.2 初始化认证信息

// 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") projectId := "<YOUR PROJECT ID>" endpoint := "<YOUR ENDPOINT>" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build()

相关参数说明如下所示:

  • ak:华为云账号Access Key。
  • sk:华为云账号Secret Access Key 。
  • projectId:项目ID。
  • endpoint:是华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点

4.3初始化SFSTurbo服务的客户端

client := sfsturbo.NewSFSTurboClient( sfsturbo.SFSTurboClientBuilder(). WithEndpoint(endpoint). WithCredential(auth). WithHttpConfig(config.DefaultHttpConfig()). Build())

4.4发送请求并查看响应

request := &model.CreateShareRequest{} request.Body = &model.CreateShareRequestBody{ Share: &model.Share{ AvailabilityZone: "<YOUR AVAILABLE ZONE>", Name: "<YOUR SFSTurbo NAME>", SecurityGroupId: "<YOUR SECURITY GROUP ID>", ShareProto: "NFS", ShareType: "STANDARD", Size: 500, SubnetId: "<YOUR SUBNET ID>", VpcId: "<YOUR VPC ID>", }, } response, err := client.CreateShare(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) }

相关参数说明如下所示(详情请看 SFSTurbo帮助文档 ):

  • AvailabilityZone:可用区
  • Name:文件系统名字
  • SecurityGroupId: 安全组ID
  • SubnetId: 子网ID
  • VpcId: VPC ID

5. FAQ

暂无

6. 参考

更多信息请参考 SFSTurbo

7. 修订记录

发布日期 文档版本 修订说明
2021年12月21日 1.0 文档首次发布