>
go
import (
os
sync
openapi github.com/alibabacloud-go/darabonba-openapi/v2/client
ecs github.com/alibabacloud-go/ecs-20140526/v3/client
github.com/alibabacloud-go/tea/tea
)
var (
ecsClient *ecs.Client
ecsClientOnce sync.Once
)
func GetEcsClient() *ecs.Client {
ecsClientOnce.Do(func() {
config := &openapi.Config{
AccessKeyId: tea.String(os.Getenv(ALIBABACLOUDACCESSKEYID)),
AccessKeySecret: tea.String(os.Getenv(ALIBABACLOUDACCESSKEYSECRET)),
Endpoint: tea.String(ecs.cn-hangzhou.aliyuncs.com),
}
var err error
ecsClient, err = ecs.NewClient(config)
if err != nil {
panic(err)
}
})
return ecsClient
}
优先级:显式 Endpoint > 通过 RegionId 进行区域解析。
go
// 推荐:显式端点
config.Endpoint = tea.String(ecs.cn-hangzhou.aliyuncs.com)
// 备选:SDK 从区域解析端点
config.RegionId = tea.String(cn-hangzhou)
在阿里云 VPC 内部运行时使用 VPC 端点:
go
config.Endpoint = tea.String(ecs-vpc.cn-hangzhou.aliyuncs.com)
为文件上传 API 设置同时设置 RegionId 和 Endpoint 为同一区域:
go
config.RegionId = tea.String(cn-shanghai)
config.Endpoint = tea.String(objectdet.cn-shanghai.aliyuncs.com)
// VPC 文件上传授权:
client.OpenPlatformEndpoint = tea.String(openplatform-vpc.cn-shanghai.aliyuncs.com)
client.EndpointType = tea.String(internal)
| 组件 | 描述 |
|---|---|
| 核心 SDK(darabonba-openapi) | 通用调用,无产品依赖 |
| 产品 SDK(例如 ecs-20140526) |
通过环境变量启用调试模式以记录所有请求:
bash
export DEBUG=tea
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 alibabacloud-sdk-client-initialization-for-golang-1776005895 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 alibabacloud-sdk-client-initialization-for-golang-1776005895 技能
skillhub install alibabacloud-sdk-client-initialization-for-golang-1776005895
文件大小: 2.07 KB | 发布时间: 2026-4-13 09:18