5.开始使用
查询公网域名列表示例代码
Copied!
import (
dnsRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2/region"
"fmt"
"log"
coreBasic "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
dns "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2"
dnsModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2/model"
"os"
)
type ListPublicZonesDemo struct{}
func NewListPublicZonesDemoDefault() ListPublicZonesDemo {
l := ListPublicZonesDemo{}
return l
}
func main() {
ak := os.Getenv("HUAWEICLOUD_SDK_AK")
sk := os.Getenv("HUAWEICLOUD_SDK_SK")
auth := coreBasic.NewCredentialsBuilder().WithAk(ak).WithSk(sk).Build()
client := *dns.NewDnsClient(dns.DnsClientBuilder().
WithCredential(auth).
WithRegion(dnsRegion.ValueOf("cn-north-4")).
Build())
request := dnsModel.ListPublicZonesRequest{}
listPublicZonesRequestTypeParam := "public"
request.Type = &listPublicZonesRequestTypeParam
listPublicZonesRequestLimitParam := int32(1)
request.Limit = &listPublicZonesRequestLimitParam
response, err := client.ListPublicZones(&request)
if err != nil {
fmt.Println(err)
return
}
log.Println(response.String())
}
6. 返回示例
公网域名列表
Copied!
{
"zones": [
{
"id": "8aace3b97c27b313017ca6ec553d053e",
"name": "example.com.",
"description": "This is an example zone.",
"email": "xx@example.com",
"ttl": 300,
"serial": 1,
"masters": [],
"status": "ACTIVE",
"pool_id": "ff8080825ce479fe015ceca527b90001",
"project_id": "03636axxxxxxxxxxxxxxxxxxacacd567",
"zone_type": "public",
"created_at": "2021-10-22T07:34:38.361",
"updated_at": "2021-10-22T07:00:06.786",
"record_num": 2,
"links": {
"self": "https://dns.myhuaweicloud.com/v2/zones/8aace3b97c27b313017ca6ec553d053e"
},
"enterprise_project_id": "0"
}
],
"links": {
"self": "https://dns.myhuaweicloud.com/v2/zones?limit=1&type=public",
"next": "https://dns.myhuaweicloud.com/v2/zones?limit=1&type=public&marker=8aace3b97c27b313017ca6ccb864659c"
},
"metadata": {
"total_count": 2
}
}
1. 版本说明
本示例基于华为云SDK开发。
2. 功能介绍
华为云提供了DNS云解析服务的SDK,您可以直接集成SDK来调用DNS的相关API,从而实现对DNS的快速操作。 该示例展示了如何通过GO版SDK查询用户创建的公网域名列表。
3. 前置条件
4. 安装SDK
具体的SDK版本号请参见 SDK开发中心 。
5.开始使用
查询公网域名列表示例代码
import ( dnsRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2/region" "fmt" "log" coreBasic "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" dns "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2" dnsModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2/model" "os" ) type ListPublicZonesDemo struct{} func NewListPublicZonesDemoDefault() ListPublicZonesDemo { l := ListPublicZonesDemo{} return l } func main() { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") auth := coreBasic.NewCredentialsBuilder().WithAk(ak).WithSk(sk).Build() client := *dns.NewDnsClient(dns.DnsClientBuilder(). WithCredential(auth). WithRegion(dnsRegion.ValueOf("cn-north-4")). Build()) request := dnsModel.ListPublicZonesRequest{} listPublicZonesRequestTypeParam := "public" request.Type = &listPublicZonesRequestTypeParam listPublicZonesRequestLimitParam := int32(1) request.Limit = &listPublicZonesRequestLimitParam response, err := client.ListPublicZones(&request) if err != nil { fmt.Println(err) return } log.Println(response.String()) }
6. 返回示例
公网域名列表
{ "zones": [ { "id": "8aace3b97c27b313017ca6ec553d053e", "name": "example.com.", "description": "This is an example zone.", "email": "xx@example.com", "ttl": 300, "serial": 1, "masters": [], "status": "ACTIVE", "pool_id": "ff8080825ce479fe015ceca527b90001", "project_id": "03636axxxxxxxxxxxxxxxxxxacacd567", "zone_type": "public", "created_at": "2021-10-22T07:34:38.361", "updated_at": "2021-10-22T07:00:06.786", "record_num": 2, "links": { "self": "https://dns.myhuaweicloud.com/v2/zones/8aace3b97c27b313017ca6ec553d053e" }, "enterprise_project_id": "0" } ], "links": { "self": "https://dns.myhuaweicloud.com/v2/zones?limit=1&type=public", "next": "https://dns.myhuaweicloud.com/v2/zones?limit=1&type=public&marker=8aace3b97c27b313017ca6ccb864659c" }, "metadata": { "total_count": 2 } }
7.接口及参数说明
参见:查询公网Zone的列表
8. 参考
更多示例信息请参考DNS
9. 修订记录