本文档列举了Go SDK支持的自定义配置。

配置方法

阿里云Go SDK支持通过以下方式自定义配置:

config := NewConfig().
        WithEnableAsync(true).
        WithGoRoutinePoolSize(5).
        WithMaxTaskQueueSize(1000)
client, err := ecs.NewClientWithOptions("<region-id>", config, credential)
说明
目前阿里云Go SDK的config模块不支持如下的调用方式:
config := &Config{EnableAsync: true,}

支持的自定义配置

目前支持的自定义配置如下表所示。
配置 默认 说明
AutoRetry true 是否开启自动重试。
MaxRetryTime 3 最大重试次数。

在开启自动重试后,单次调用的最长耗时为:Timeout (MaxRetryTime + 1)

Timeout 10time.Second 超时时间。全链路超时时间,包含建立连接、重定向、读取应答。

0时表示不超时。

HttpTransport nil 开放底层net/http.client的配置。

您可以通过此配置对Go原生的http.client进行配置,例如长连接等。

EnableAsync false 是否开启异步功能。
MaxTaskQueueSize 1000 异步队列长度仅在EnableAsync=true时生效。

当队列满时,新的调用会被阻塞。

GoRoutinePoolSize 5 最大并发数仅在EnableAsync=true时生效。