返回顶部
a

alibabacloud-sdk-client-initialization-for-golang

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.0.1-beta
安全检测
已通过
65
下载量
0
收藏
概述
安装方式
版本历史

alibabacloud-sdk-client-initialization-for-golang

# Client Initialization Best Practices (Go) ## Core Rules - **Client is goroutine-safe** — safe to share across goroutines without additional synchronization. - **Use singleton pattern** — do NOT create new client instances per request. Frequent client creation wastes resources. - Prefer **explicit endpoint** over region-based endpoint resolution. ## Recommended Client Creation ```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("ALIBABA_CLOUD_ACCESS_KEY_ID")), AccessKeySecret: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")), Endpoint: tea.String("ecs.cn-hangzhou.aliyuncs.com"), } var err error ecsClient, err = ecs.NewClient(config) if err != nil { panic(err) } }) return ecsClient } ``` ## Endpoint Configuration Priority: explicit `Endpoint` > region-based resolution via `RegionId`. ```go // Preferred: explicit endpoint config.Endpoint = tea.String("ecs.cn-hangzhou.aliyuncs.com") // Alternative: SDK resolves endpoint from region config.RegionId = tea.String("cn-hangzhou") ``` ### VPC Endpoints Use VPC endpoints when running inside Alibaba Cloud VPC: ```go config.Endpoint = tea.String("ecs-vpc.cn-hangzhou.aliyuncs.com") ``` ### File Upload APIs (Advance) Set **both** `RegionId` and `Endpoint` to the same region for file upload APIs: ```go config.RegionId = tea.String("cn-shanghai") config.Endpoint = tea.String("objectdet.cn-shanghai.aliyuncs.com") // VPC file upload authorization: client.OpenPlatformEndpoint = tea.String("openplatform-vpc.cn-shanghai.aliyuncs.com") client.EndpointType = tea.String("internal") ``` ## SDK Components | Component | Description | |-----------|-------------| | Core SDK (`darabonba-openapi`) | Generic calls, no product dependency | | Product SDK (e.g., `ecs-20140526`) | Typed client, models, convenience methods | ## Debugging Enable debug mode via environment variable to log all requests: ```bash export DEBUG=tea ```

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 alibabacloud-sdk-client-initialization-for-golang-1776005895 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 alibabacloud-sdk-client-initialization-for-golang-1776005895 技能

通过命令行安装

skillhub install alibabacloud-sdk-client-initialization-for-golang-1776005895

下载 Zip 包

⬇ 下载 alibabacloud-sdk-client-initialization-for-golang v0.0.1-beta

文件大小: 2.07 KB | 发布时间: 2026-4-13 09:18

v0.0.1-beta 最新 2026-4-13 09:18
- Initial beta release.
- Provides best practices for initializing and managing Alibaba Cloud SDK clients in Go.
- Documents goroutine-safe client usage and recommends the singleton pattern with `sync.Once`.
- Explains endpoint and region configuration, including VPC and file upload scenarios.
- Includes sample code for safe client initialization.
- Details debug instructions and key SDK components.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部