Skip to content

Latest commit

 

History

History
69 lines (52 loc) · 1.36 KB

File metadata and controls

69 lines (52 loc) · 1.36 KB

← Timeout | Retry(中文) | Error Handling →


Retries

The SDK includes retry logic for network errors and throttling. Business logic errors (invalid params, resource not found) are not retried.

Enable/Disable Retries

Default

  • Enabled (3 times)

Set max retries to 0 to disable.

func main() {
	region := "cn-beijing"
	config := volcengine.NewConfig().
		WithRegion(region).
		WithDisableSSL(true).
		WithCredentials(credentials.NewEnvCredentials()).
		WithMaxRetries(0)

	sess, err := session.NewSession(config)
	if err != nil {
		panic(err)
	}
	svc := ecs.New(sess)
}

Retry Count

Default

  • 3
func main() {
	region := "cn-beijing"
	config := volcengine.NewConfig().
		WithRegion(region).
		WithDisableSSL(true).
		WithCredentials(credentials.NewEnvCredentials()).
		WithMaxRetries(4)

	sess, err := session.NewSession(config)
	if err != nil {
		panic(err)
	}
	svc := ecs.New(sess)
}

Custom Retry Error Codes

Configure retryable server error codes per request.

resp, err := svc.DescribeAvailableResourceWithContext(ctx, describeAvailableResourceInput, func(request *request.Request) {
	request.RetryErrorCodes = []string{"InvalidAccessKey"}
})

← Timeout | Retry(中文) | Error Handling →