日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Go配置客戶端

OSSClientOSSGo客戶端,用于管理存儲空間和文件等OSS資源。使用Go SDK發起OSS請求時,您需要初始化一個Client實例,并根據需要修改默認配置項。

前提條件

初始化OSSClient前,您需要配置訪問憑證。詳情請參見配置訪問憑證

新建OSSClient

您可以使用以下示例代碼,通過加載默認配置的方法新建一個OSSClient。

package main

import (
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)

func main() {
	var (
		// 以華東1(杭州)為例
		region = "cn-hangzhou"

		// 以從環境變量中獲取訪問憑證為例
		provider credentials.CredentialsProvider = credentials.NewEnvironmentVariableCredentialsProvider()
	)

	// 創建OSS客戶端配置
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(provider).
		WithRegion(region)

	// 創建OSS客戶端
	client := oss.NewClient(cfg)
}

其中,指定區域region時,您可以指定向何處發送請求,例如cn-hangzhoucn-shanghai。有關所支持的區域列表,請參閱OSS地域和訪問域名

因為Go SDK沒有設置默認區域,所以您需要在加載配置時使用config.WithRegion作為參數顯式設置區域。例如:

cfg := oss.LoadDefaultConfig().WithRegion("cn-hangzhou")
重要

Go SDK V2默認使用V4簽名,所以必須指定區域參數。

配置OSSClient

在大多數情況下,使用具有默認值的Client能夠滿足業務需求。您也可以更改Client的默認配置,或自定義HTTP Client,以滿足特定環境下的使用需求。

設置OSSClient常用配置

您可以通過config修改常用的配置,示例如下:

cfg := oss.LoadDefaultConfig().
  WithConnectTimeout(10 * time.Second).
  UploadBandwidthlimit(10*1024)
常用配置參數匯總

Region

(必選)請求發送的區域, 必選

WithRegion("cn-hangzhou")

CredentialsProvider

(必選)設置訪問憑證

WithCredentialsProvider(provider)

Endpoint

訪問域名

WithEndpoint("oss-cn-hanghzou.aliyuncs.com")

HttpClient

HTTP客戶端

WithHttpClient(customClient)

RetryMaxAttempts

HTTP請求時的最大嘗試次數, 默認值為 3

WithRetryMaxAttempts(5)

Retryer

HTTP請求時的重試實現

WithRetryer(customRetryer)

ConnectTimeout

建立連接的超時時間, 默認值為 5 秒

WithConnectTimeout(10 * time.Second)

ReadWriteTimeout

應用讀寫數據的超時時間, 默認值為 10 秒

WithReadWriteTimeout(30 * time.Second)

InsecureSkipVerify

是否跳過SSL證書校驗,默認檢查SSL證書

WithInsecureSkipVerify(true)

EnabledRedirect

是否開啟HTTP重定向, 默認不開啟

WithEnabledRedirect(true)

ProxyHost

設置代理服務器

WithProxyHost("http://user:passswd@proxy.example-***.com")

ProxyFromEnvironment

通過環境變量設置代理服務器

WithProxyFromEnvironment(true)

UploadBandwidthlimit

整體的上傳帶寬限制,單位為 KiB/s

WithUploadBandwidthlimit(10*1024)

DownloadBandwidthlimit

整體的下載帶寬限制,單位為 KiB/s

WithDownloadBandwidthlimit(10*1024)

SignatureVersion

簽名版本,默認值為v4

WithSignatureVersion(oss.SignatureVersionV1)

LogLevel

設置日志級別

WithLogLevel(oss.LogInfo)

LogPrinter

設置日志打印接口

WithLogPrinter(customPrinter)

DisableSSL

不使用https請求,默認使用https

WithDisableSSL(true)

UsePathStyle

使用路徑請求風格,即二級域名請求風格,默認為bucket托管域名

WithUsePathStyle(true)

UseCName

是否使用自定義域名訪問,默認不使用

WithUseCName(true)

UseDualStackEndpoint

是否使用雙棧域名訪問,默認不使用

WithUseDualStackEndpoint(true)

UseAccelerateEndpoint

是否使用傳輸加速域名訪問,默認不使用

WithUseAccelerateEndpoint(true)

UseInternalEndpoint

是否使用內網域名訪問,默認不使用

WithUseInternalEndpoint(true)

DisableUploadCRC64Check

上傳時關閉CRC64校驗,默認開啟CRC64校驗

WithDisableUploadCRC64Check(true)

DisableDownloadCRC64Check

下載時關閉CRC64校驗,默認開啟CRC64校驗

WithDisableDownloadCRC64Check(true)

AdditionalHeaders

指定額外的簽名請求頭,V4簽名下有效

WithAdditionalHeaders([]string{"content-length"})

UserAgent

指定額外的User-Agent信息

WithUserAgent("user identifier")

自定義OSSClient

當常用配置參數無法滿足場景需求時,您可以使用WithHTTPClient替換默認的HTTP客戶端,示例如下:

package main

import (
	"crypto/tls"
	"net/http"
	"time"

	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/transport"
)

func main() {
	var (
		// 以華東1(杭州)為例
		region = "cn-hangzhou"

		// 以從環境變量中獲取訪問憑證為例
		provider credentials.CredentialsProvider = credentials.NewEnvironmentVariableCredentialsProvider()
	)

	// 常用超時或其它設置
	transConfig := transport.Config{
		// 連接超時, 默認值 5秒
		ConnectTimeout: oss.Ptr(10 * time.Second),

		// 應用讀寫數據的超時時間, 默認值 10秒
		ReadWriteTimeout: oss.Ptr(20 * time.Second),

		// 連接空閑超時時間, 默認值 50 秒
		IdleConnectionTimeout: oss.Ptr(40 * time.Second),

		// 網絡連接的保持期限, 默認值 30 秒
		KeepAliveTimeout: oss.Ptr(40 * time.Second),

		// 是否打開啟HTTP重定向,默認不啟用
		EnabledRedirect: oss.Ptr(true),
	}

	// http.Transport 設置
	var transports []func(*http.Transport)

	// 最大連接數,默認值 100
	transports = append(transports, transport.MaxConnections(200))

	// 如果請求有“Expect: 100-Continue”標頭,則此設置表示完全寫入請求標頭后等待服務器第一個響應標頭的最長時間,默認 1秒
	transports = append(transports, transport.ExpectContinueTimeout(2*time.Second))

	// TLS的最低版本,默認值 TLS 1.2
	transports = append(transports, transport.TLSMinVersion(tls.VersionTLS13))

	// 是否跳過證書檢查,默認不跳過
	transports = append(transports, transport.InsecureSkipVerify(true))
	
	// 更多Transport參數設置,請參考 https://pkg.go.dev/net/http#Transport
        
        // 創建自定義HTTP Client
	customClient := transport.NewHttpClient(&transConfig, transports...)
        
	cfg := oss.LoadDefaultConfig().
		WithHttpClient(customClient).
		WithCredentialsProvider(provider).
		WithRegion(region)

	// 創建OSS客戶端
	client := oss.NewClient(cfg)
}

相關文檔

關于配置客戶端的更多信息,請參見開發者指南