You need to enable JavaScript to run this app.
veImageX

veImageX

复制全文
Golang SDK
服务管理
复制全文
服务管理

阅读本文,您可以获取 Go SDK 服务管理的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Go SDK 的安装及初始化操作。

调用示例

本节为您介绍服务管理相关接口的功能和调用示例。

查询服务开通状态

您可以调用 GetImageServiceSubscription 接口查询服务开通状态。详细的参数说明可参见 GetImageServiceSubscription 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &imagex.GetImageServiceSubscriptionQuery{
		// 附加组件类型,取值AI获取服务端智能处理开通情况。默认返回ImageX服务开通情况
		AddOnType: "AI",
		// 附加组件ID,获取指定附加组件的开通情况。默认返回ImageX服务开通情况
		AddOnID: "xxxx",
		// 附加组件英文标识,获取指定附加组件的开通情况。默认返回ImageX服务开通情况。
		AddOnKey: "enhance",
	}

	resp, err := service.GetImageServiceSubscription(context.Background(), query)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

创建服务

您可以调用 CreateImageService 接口创建服务。详细的参数说明可参见 CreateImageService 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	body := &imagex.CreateImageServiceBody{
		// 服务名称,最多不超过 32 个字符。创建成功后,名称和区域不支持变更。建议您使用能够标识业务的服务名。
		ServiceName: "图片处理",
		// 服务地域,取值如下所示:
		// * cn:中国
		// * mya:亚太东南(柔佛)
		ServiceRegion: "cn",
		// 服务类型,取值如下所示:
		// * StaticRc:素材托管服务,支持任意类型资源的存储和分发。
		// * Image:图片处理服务,除支持任意类型资源的存储和分发外,还支持对图片进行实时处理。
		ServiceType: "Image",
		// 服务绑定的项目,默认值为 default。项目是在火山引擎访问控制中资源分组的概念,您需要将服务加入某一个项目中。您可以在火山引擎控制台[项目管理](https://console.volcengine.com/iam/projcetmanage/)页面中获取项目名称。
		ProjectName: "default",
	}

	// 创建服务时需要绑定的域名列表,最多支持一次绑定 10 个域名。
	Domains1 := imagex.CreateImageServiceBodyDomainsItem{
		// 待绑定的已备案域名。
		Domain: "a.test.com",
		// 待绑定的证书 ID。
		CertID: "109jo**027y3",
	}

	body.Domains = append(body.Domains, &Domains1)

	// 服务绑定的标签,默认为空,表示不绑定标签。可用于通过标签将不同业务类别、用途的存储服务进行分类管理,也适用于标签制授权和标签分账等场景。您可以在火山引擎控制台[资源管理](https://console.volcengine.com/resourcemanager/tag/resource_tag)页面新建标签。
	ResourceTags1 := imagex.CreateImageServiceBodyResourceTagsItem{
		// 标签键
		Key: "userkey",
		// 标签值
		Value: "uservalue",
	}

	body.ResourceTags = append(body.ResourceTags, &ResourceTags1)

	resp, err := service.CreateImageService(context.Background(), body)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

删除服务

您可以调用 DeleteImageService 接口删除服务。详细的参数说明可参见 DeleteImageService 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &imagex.DeleteImageServiceQuery{
		// 待删除的服务 ID。
		// <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
		// <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
		ServiceID: "g9y**8hu",
	}

	resp, err := service.DeleteImageService(context.Background(), query)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

更新服务名称

您可以调用 UpdateServiceName 接口更新服务名称。详细的参数说明可参见 UpdateServiceName 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &imagex.UpdateServiceNameQuery{
		// 待修改名称的服务 ID。
		// * 您可以在 veImageX 控制台[服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。
		// * 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。
		ServiceID: "uh1**89i",
	}

	body := &imagex.UpdateServiceNameBody{
		// 服务名称,最多不超过 32 个字符。
		ServiceName: "新服务",
	}

	requestParam := &imagex.UpdateServiceNameReq{}

	requestParam.UpdateServiceNameQuery = query
	requestParam.UpdateServiceNameBody = body

	resp, err := service.UpdateServiceName(context.Background(), requestParam)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

更新镜像回源配置

您可以调用 UpdateImageMirrorConf 接口更新镜像回源配置。详细的参数说明可参见 UpdateImageMirrorConf 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &imagex.UpdateImageMirrorConfQuery{
		// 服务 ID。
		// <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
		// <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
		ServiceID: "8h**9q",
	}

	body := &imagex.UpdateImageMirrorConfBody{
		// 下载图片的协议,取值为:http、https。
		Schema: "https",
		// 镜像源 URI,其中图片名用 %s 占位符替代,比如/obj/%s。
		Source: "/obj/%s",
	}

	// 带权重回源域名。key 为 String 类型,代表镜像回源域名;value 为 Integer 类型,代表域名权重。
	Hosts := map[string]int{
		"www.pic1.com": 95,
		"www.pic2.com": 5,
	}

	body.Hosts = Hosts

	// 镜像站
	Origin := imagex.UpdateImageMirrorConfBodyOrigin{}

	body.Origin = &Origin

	requestParam := &imagex.UpdateImageMirrorConfReq{}

	requestParam.UpdateImageMirrorConfQuery = query
	requestParam.UpdateImageMirrorConfBody = body

	resp, err := service.UpdateImageMirrorConf(context.Background(), requestParam)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

更新重名覆盖上传配置

您可以调用 UpdateImageUploadOverwrite 接口更新重名覆盖上传配置。详细的参数说明可参见 UpdateImageUploadOverwrite 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &imagex.UpdateImageUploadOverwriteQuery{
		// 服务 ID。
		// <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
		// <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[GetAllImageServices](https://www.volcengine.com/docs/508/9360)。 </li>
		ServiceID: "7f****3",
	}

	body := &imagex.UpdateImageUploadOverwriteBody{
		// 是否开启重名覆盖上传,取值如下所示:
		// <li> true:开启 </li>
		// <li> false:关闭 </li>
		UploadOverwrite: true,
	}

	requestParam := &imagex.UpdateImageUploadOverwriteReq{}

	requestParam.UpdateImageUploadOverwriteQuery = query
	requestParam.UpdateImageUploadOverwriteBody = body

	resp, err := service.UpdateImageUploadOverwrite(context.Background(), requestParam)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

更新服务存储策略

您可以调用 UpdateStorageRules 接口更新服务存储策略。详细的参数说明可参见 UpdateStorageRules 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &imagex.UpdateStorageRulesQuery{
		// 服务 ID。
		// <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
		// <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
		ServiceID: "7s**0l",
	}

	body := &imagex.UpdateStorageRulesBody{}

	// 更新后的存储降冷策略
	StorageRules1 := imagex.UpdateStorageRulesBodyStorageRulesItem{
		// 文件前缀。例如设置为 prefix 后,规则将只对名称以 prefix 开头的存储资源生效。输入规则如下:
		// <li> 不能以正斜线(/)或者反斜线()开头; </li>
		// <li> 不支持使用正则表达式匹配前缀; </li>
		// <li> 长度为 1~1024 个字符。 </li>
		Prefix: "prefix",
		// 策略类型,固定取值 Upload,表示按上传时间。
		Event: "upload",
		// 最新版本文件的策略天数,取值范围为 [1,365],单位为天。按照 Event 事件 Day 天后执行 Action 事件,即当匹配文件的上传时间符合指定天数后,自动按照处理策略对资源进行处理。
		Day: 30,
		// 最新版本文件在策略命中后需要执行的操作,取值如下所示:
		// <li> DELETE:删除文件 </li>
		// <li> IA:文件转低频存储 </li>
		// <li> ARCHIVE:文件转归档存储 </li>
		// <li> COLD_ARCHIVE:文件转冷归档存储 </li>
		Action: "IA",
		// 是否启用策略,取值如下所示:
		// <li> true:是 </li>
		// <li> false:否 </li>
		Enable: true,
		// 历史版本文件在策略命中后需要执行的操作,取值如下所示:
		// <li> DELETE:删除文件 </li>
		// <li> IA:文件转低频存储 </li>
		// <li> ARCHIVE:文件转归档存储 </li>
		// <li> COLD_ARCHIVE:文件转冷归档存储 </li>
		NonCurrentAction: "IA",
		// 历史版本文件的策略天数,取值范围为 [1,365],单位为天。按照 Event 事件 NonCurrentDay 天后执行 NonCurrentAction 事件,即当匹配历史版本文件的上传时间符合指定天数后,自动按照处理策略对历史版本资源进行处理。
		NonCurrentDay: 30,
	}

	body.StorageRules = append(body.StorageRules, &StorageRules1)
	requestParam := &imagex.UpdateStorageRulesReq{}

	requestParam.UpdateStorageRulesQuery = query
	requestParam.UpdateStorageRulesBody = body

	resp, err := service.UpdateStorageRules(context.Background(), requestParam)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

更新事件通知配置

您可以调用 UpdateResEventRule 接口更新事件通知配置。详细的参数说明可参见 UpdateResEventRule 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &imagex.UpdateResEventRuleQuery{
		// 服务 ID。
		// <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
		// <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
		ServiceID: "hj9**102",
	}

	body := &imagex.UpdateResEventRuleBody{}

	// 事件通知规则
	EventRules1 := imagex.UpdateResEventRuleBodyEventRulesItem{
		// 匹配规则的正则表达式。仅当资源的 StoreKey 匹配该正则表达式时触发事件通知。缺省情况下表示匹配所有资源。
		MatchRule: "test.png\b",
		// 回调 URL,以 http:// 或 https:// 开头,需满足公网可访问。当事件触发时,会向该 URL 发送 HTTP POST 请求,body 为具体的事件信息。具体回调参数详见回调内容。
		CallbackURL: "https://a.callback.com",
		// 规则启用状态,取值如下所示:
		// <li> true:开启 </li>
		// <li> false:关闭 </li>
		Enable: true,
	}

	// 事件类型。取值如下所示:
	// <li> Upload:上传文件 </li>
	// <li> Delete:删除文件 </li>
	// <li> Mirror:镜像回源 </li>
	// <li> Migrate:数据迁移 </li>
	// <li> OffTrans:离线转码(素材托管服务配置无效) </li>
	// <li> TplStore:模板持久化存储(素材托管服务配置无效) </li>
	EventType := []string{"upload"}

	EventRules1.EventType = EventType

	body.EventRules = append(body.EventRules, &EventRules1)
	requestParam := &imagex.UpdateResEventRuleReq{}

	requestParam.UpdateResEventRuleQuery = query
	requestParam.UpdateResEventRuleBody = body

	resp, err := service.UpdateResEventRule(context.Background(), requestParam)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

更新源地址访问配置

您可以调用 UpdateImageObjectAccess 接口更新源地址访问配置。详细的参数说明可参见 UpdateImageObjectAccess 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &imagex.UpdateImageObjectAccessQuery{
		// 待更新配置的服务 ID。
		// <li> 您可以在 veImageX 控制台[服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
		// <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
		ServiceID: "9jh**b2d",
	}

	body := &imagex.UpdateImageObjectAccessBody{
		// 是否开启源地址访问,取值如下所示:
		// * true:开启源地址访问
		// * false:关闭源地址访问
		ObjectAccess: false,
	}

	requestParam := &imagex.UpdateImageObjectAccessReq{}

	requestParam.UpdateImageObjectAccessQuery = query
	requestParam.UpdateImageObjectAccessBody = body

	resp, err := service.UpdateImageObjectAccess(context.Background(), requestParam)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

更新主备鉴权

您可以调用 UpdateImageAuthKey 接口更新主备鉴权。详细的参数说明可参见 UpdateImageAuthKey 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &imagex.UpdateImageAuthKeyQuery{
		// 待更新配置的服务 ID。
		// <li> 您可以在 veImageX 控制台[服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
		// <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
		ServiceID: "2y***s2",
	}

	body := &imagex.UpdateImageAuthKeyBody{
		// 主鉴权 key,长度为 8-32 字节,为空则不更新主鉴权值。
		PrimaryKey: "899z09z***121u2e9w",
		// 备鉴权 key,长度为 8-32 字节,为空则不更新备鉴权值。
		SecondaryKey: "030fwe8***j9wqhiqs",
	}

	requestParam := &imagex.UpdateImageAuthKeyReq{}

	requestParam.UpdateImageAuthKeyQuery = query
	requestParam.UpdateImageAuthKeyBody = body

	resp, err := service.UpdateImageAuthKey(context.Background(), requestParam)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

获取主备鉴权

您可以调用 GetImageAuthKey 接口获取主备鉴权。详细的参数说明可参见 GetImageAuthKey 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &imagex.GetImageAuthKeyQuery{
		// 服务 ID。
		// <li> 您可以在 veImageX 控制台[服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
		// <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
		ServiceID: "y7****w7",
	}

	resp, err := service.GetImageAuthKey(context.Background(), query)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

获取单个服务信息

您可以调用 GetImageService 接口获取单个服务信息。详细的参数说明可参见 GetImageService 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &imagex.GetImageServiceQuery{
		// 服务 ID。
		// <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
		// <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
		ServiceID: "90**1h",
	}

	resp, err := service.GetImageService(context.Background(), query)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

获取所有服务信息

您可以调用 GetAllImageServices 接口获取所有服务信息。详细的参数说明可参见 GetAllImageServices 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := imagex.NewInstance()
	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &imagex.GetAllImageServicesQuery{
		// 筛选服务的参数,当该值为空时返回所有服务,指定后返回服务名或者 ID 中包含该字符串的服务。
		SearchPtn: "test",
	}

	resp, err := service.GetAllImageServices(context.Background(), query)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

最近更新时间:2025.12.17 14:32:54
这个页面对您有帮助吗?
有用
有用
无用
无用