全部產品
Search
文件中心

Alibaba Cloud SDK:Endpoint配置

更新時間:Sep 22, 2026

Endpoint是請求介面服務的網路網域名稱,如產品ECS的某個Endpoint:ecs.cn-hangzhou.aliyuncs.com。每個產品都有其獨立的Endpoint,並且Endpoint與服務地區RegionId有關,不同地區可能是不同的 Endpoint。本文為您介紹V2.0 Go SDK對於Endpoint的配置。

Endpoint設定

V2.0 SDK提供了兩種Endpoint設定方式,下面按優先順序排列:

  1. 方式一:指定Endpoint(推薦)

    可以在初始化雲產品用戶端對象時指定Endpoint,支援公網Endpoint和VPC Endpoint。

    範例程式碼:

    func main() {
        config := &openapi.Config{
            // 省略憑證配置
            // 訪問的 Endpoint
            Endpoint: tea.String("<endpoint>"),
        }
        client, _err = ecs20140526.NewClient(config)
    }
  2. 方式二:指定RegionId

    在未指定Endpoint的情況下,可以在初始化雲產品用戶端對象時指定RegionId,SDK底層將通過自動定址的方式擷取相應的Endpoint。

    func main() {
        config := &openapi.Config{
            // 省略憑證配置
            // 訪問的 Region
            RegionId: tea.String("<RegionId>"),
        }
        client, _err := ecs20140526.NewClient(config)
    }

擷取檔案上傳授權碼的Endpoint

針對部分需要上傳檔案的OpenAPI,在初始化請求用戶端時,支援設定檔上傳授權碼的VPC Endpoint,以確保網路更加穩定。如未設定,則將使用預設的公網服務地址(已開啟Global Acceleration)。

  • 上傳檔案鑒權服務Endpoint,您可以在VPC環境配置VPC Endpoint來請求上傳檔案的鑒權資訊。

     // 省略憑證配置package main
    
    import (
        "encoding/json"
        "fmt"
        "os"
    
        openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        facebody20191230 "github.com/alibabacloud-go/facebody-20191230/v4/client"
        util "github.com/alibabacloud-go/tea-utils/v2/service"
        "github.com/alibabacloud-go/tea/tea"
    )
    
    func main() {
        config := &openapi.Config{
            // 省略憑證配置
            // 訪問的 Region
            RegionId: tea.String("<RegionId>"),
            // 根據 regionId 設定 VPC 請求的地址
            OpenPlatformEndpoint: tea.String("openplatform-vpc.cn-shanghai.aliyuncs.com"),
        }
        client, err := facebody20191230.NewClient(config)
        if err != nil {
            panic(err)
        }
        f, err := os.Open("本地檔案路徑")
        if err != nil {
            panic(err)
        }
        request := &facebody20191230.DetectBodyCountAdvanceRequest{}
        request.SetImageURLObject(f)
        // 建立RuntimeObject執行個體並設定運行參數。
        runtime := &util.RuntimeOptions{}
        runtime.ReadTimeout = tea.Int(10000)
        resp, err := client.DetectBodyCountAdvance(request, runtime)
        if err != nil {
            panic(err)
        }
        // response 包含服務端響應的 body 和 headers
        body, err := json.Marshal(resp.Body)
        if err != nil {
            panic(err)
        }
        headers, err := json.Marshal(resp.Headers)
        if err != nil {
            panic(err)
        }
        fmt.Printf("body: %s\n", string(body))
        fmt.Printf("header: %s\n", string(headers))
    }
  • 上傳檔案鑒權服務的Endpoint,您可以在VPC或者內網環境配置VPC Endpoint來請求上傳檔案的鑒權資訊。

    package main
    
    import (
        "encoding/json"
        "fmt"
        "os"
    
        openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        facebody20191230 "github.com/alibabacloud-go/facebody-20191230/v4/client"
        util "github.com/alibabacloud-go/tea-utils/v2/service"
        "github.com/alibabacloud-go/tea/tea"
    )
    
    func main() {
        config := &openapi.Config{
            // 省略憑證配置
            // 訪問的 Region
            RegionId: tea.String("<RegionId>"),
            // 根據 regionId 設定 VPC 請求的地址
            OpenPlatformEndpoint: tea.String("openplatform-vpc.cn-shanghai.aliyuncs.com"),
            // 根據 regionId 設定 OSS 請求的地址,internal:vpc 和傳統網路、accelerate: 國外加速網域名稱
            EndpointType: tea.String("internal"),
        }
        client, err := facebody20191230.NewClient(config)
        if err != nil {
            panic(err)
        }
        f, err := os.Open("本地檔案路徑")
        if err != nil {
            panic(err)
        }
        request := &facebody20191230.DetectBodyCountAdvanceRequest{}
        request.SetImageURLObject(f)
        // 建立RuntimeObject執行個體並設定運行參數。
        runtime := &util.RuntimeOptions{}
        runtime.ReadTimeout = tea.Int(10000)
        resp, err := client.DetectBodyCountAdvance(request, runtime)
        if err != nil {
            panic(err)
        }
        // response 包含服務端響應的 body 和 headers
        body, err := json.Marshal(resp.Body)
        if err != nil {
            panic(err)
        }
        headers, err := json.Marshal(resp.Headers)
        if err != nil {
            panic(err)
        }
        fmt.Printf("body: %s\n", string(body))
        fmt.Printf("header: %s\n", string(headers))
    }

附:Endpoint尋找方式

產品的Endpoint可以通過在OpenAPI門戶上尋找:

  1. 在門戶頂部菜單選擇雲產品,例如ECS。

  2. 在雲產品首頁找到服務地區列表。

  3. 選擇相應RegionId所對應的Endpoint,進行複製粘貼即可。

還可以在API調試介面,在左側欄單擊服務地區,查看雲產品支援的Endpoint。