Todos os produtos
Search
Central de documentação

Object Storage Service:Consultar pontos de extremidade usando o OSS SDK for Go 2.0

Última atualização: Sep 24, 2026

Este tópico descreve como consultar os pontos de extremidade de todas as regiões compatíveis ou os pontos de extremidade de uma região específica usando o OSS SDK V2, incluindo pontos de extremidade públicos, internos e de aceleração.

Observações de uso

  • Você pode consultar os pontos de extremidade de todas as regiões compatíveis ou de uma região específica, independentemente de já ter criado um bucket nessas regiões.

  • O código de exemplo deste tópico usa o ID de região cn-hangzhou, da região China (Hangzhou). Por padrão, use um ponto de extremidade público para acessar recursos em um bucket. Para acessar os recursos do bucket a partir de outros serviços da Alibaba Cloud na mesma região, use um ponto de extremidade interno. Para obter mais informações sobre as regiões e os pontos de extremidade compatíveis com o OSS, consulte OSS Regions and Endpoints.

  • Neste tópico, o código obtém as credenciais de acesso de variáveis de ambiente. Para obter mais informações sobre como configurar as credenciais de acesso, consulte Configure Access Credentials.

Consultar os pontos de extremidade de todas as regiões compatíveis

O exemplo de código a seguir demonstra como consultar os pontos de extremidade de todas as regiões compatíveis:

package main

import (
	"context"
	"flag"
	"log"

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

// Specify the global variables to store the command line parameters.
var (
	region string 
)

// Specify the init function used to initialize command line parameters and configure the default values and help information of the parameters.
func init() {
	flag.StringVar(&region, "region", "", "The region in which the bucket is located. Required.")
}

func main() {
	// Parse the command-line parameters.
	flag.Parse()

	// Check whether the region is empty. This parameter is required.
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, region required")
	}

	// Load the default configurations from environment parameters and specify the credential provider and region.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	// Create an OSS client.
	client := oss.NewClient(cfg)

	// Create a request to query all the regions.
	request := &oss.DescribeRegionsRequest{}

	// Send a request to query all the regions.
	result, err := client.DescribeRegions(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to describe regions %v", err)
	}

	// Print the query results.
	for _, region := range result.RegionInfoList.RegionInfos {
		// Print the region information, including the public access domain name, internal access domain name, and acceleration access domain name.
		log.Printf("region:%s, public endpoint:%s, internal endpoint:%s, acceleration endpoint:%s\n", *region.Region, *region.InternetEndpoint, *region.InternalEndpoint, *region.AccelerateEndpoint)
	}
}

Consultar os pontos de extremidade de uma região específica

O exemplo de código a seguir demonstra como consultar os pontos de extremidade de uma região específica:

package main

import (
	"context"
	"flag"
	"log"

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

// Specify the global variables to store the command line parameters.
var (
	region string
)

// Specify the init function used to initialize command line parameters and configure the default values and help information of the parameters.
func init() {
	flag.StringVar(&region, "region", "", "The region in which the bucket is located. Required.")
}

func main() {
	// Parse the command-line parameters.
	flag.Parse()

	// Check whether the region is empty. This parameter is required.
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, region required")
	}

	// Load the default configurations from environment parameters and specify the credential provider and region.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	// Create an OSS client.
	client := oss.NewClient(cfg)

	// Create a request to query all the regions.
	request := &oss.DescribeRegionsRequest{
		Regions: oss.Ptr("oss-cn-hangzhou"), // Use China (Hangzhou) as an example and fill in oss-cn-hangzhou. For other regions, fill in according to the actual situation
	}

	// Send a request to query all the regions.
	result, err := client.DescribeRegions(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to describe regions %v", err)
	}

	// Print the query results.
	for _, region := range result.RegionInfoList.RegionInfos {
		// Print the region information, including the public access domain name, internal access domain name, and acceleration access domain name.
		log.Printf("region:%s, public endpoint:%s, internal endpoint:%s, acceleration endpoint:%s\n", *region.Region, *region.InternetEndpoint, *region.InternalEndpoint, *region.AccelerateEndpoint)
	}
}

Referência

  • Para obter mais informações sobre a operação de API para consultar os pontos de extremidade de todas as regiões, consulte DescribeRegions.