You need to enable JavaScript to run this app.
导航

Golang安装指导

最近更新时间2024.02.29 18:51:12

首次发布时间2022.05.25 17:01:28

本文为您介绍火山引擎Go SDK的下载地址及安装方式。

前提条件

  • 您已注册火山引擎账号并完成实名认证,具体步骤,请参见账号注册实名认证

  • 要使用火山引擎Golang SDK访问指定服务的API ,请确认您已在 火山引擎控制台 开通当前服务。

  • 您已获取账号的AccessKey,具体步骤,请参见获取AccessKey

  • 您确认已安装Go 1.12或以上版本,执行go version可以检查当前Go的版本信息。

  • 推荐使用go mod的方式进行管理。

SDK下载地址

Golang SDK下载地址:volcengine-go-sdk

安装SDK

  1. 新建一个Go项目,使用go mod作为软件依赖工具。

  2. 在go.mod中设置服务依赖。

    说明

    请参考Github下载地址中的release tag替换以下命令中v1.0.19为最新版本。

    require github.com/volcengine/volcengine-go-sdk v1.0.19
    

使用Golang SDK

本文以查询指定Region下的实例信息为例,为您介绍如何使用Golang SDK。
创建测试文件main.go,参考DescribeInstances的请求参数说明,添加如下代码。

package main

import (
   "fmt"

   "github.com/volcengine/volcengine-go-sdk/service/ecs"
   "github.com/volcengine/volcengine-go-sdk/volcengine"
   "github.com/volcengine/volcengine-go-sdk/volcengine/session"
   "github.com/volcengine/volcengine-go-sdk/volcengine/volcengineutil"
)

func main() {
	 //设置您的ak
   ak := "your ak"
   //设置您的sk
   sk := "your sk"
   //设置您要访问的地域,本示例为北京地域
   region := "cn-beijing"

   //如果通过环境变量引入,请使用以下方法引入ak/sk
   //export VOLCENGINE_ACCESS_KEY=AK
   //export VOLCENGINE_SECRET_KEY=SK
   // and WithCredentials(credentials.NewEnvCredentials())
   
   config := volcengine.NewConfig().
      WithRegion(region).
      WithCredentials(credentials.NewStaticCredentials(ak, sk, "")).
      //WithCredentials(credentials.NewEnvCredentials()).
      WithDisableSSL(true).
      //WithLogLevel(volcengine.LogDebugWithHTTPBody).
      WithEndpoint(volcengineutil.NewEndpoint().GetEndpoint())
   sess, _ := session.NewSession(config)
   svc := ecs.New(sess)

	 //创建一个DescribeInstances接口
   in := &ecs.DescribeInstancesInput{
       Status:                  volcengine.String("RUNNING"),//待查询实例的状态
       InstanceIds:           []*string{volcengine.String("i-3ti9101aju3vj0*****")},//待查询实例的ID
       Name:                    volcengine.String("instance-test"),//待查询实例的名称
   }
   
  // 发起请求并处理返回或异常
   resp, err := svc.DescribeInstances(in)
   if err != nil {
       panic(err)
   }
   fmt.Printf("Response is %v", resp)
}