如何将 aws-sdk-go 的输出设置为 "text" ?



尽管output设置已设置为text

~/.aws/config

[default]
output=text

aws-sdk-go返回CCD_ 3。问题是输出是否可以切换到text

何时:

aws route53 get-hosted-zone --id some-id

运行时,输出如下:

NAMESERVERS some-ns
NAMESERVERS some-ns1
NAMESERVERS some-ns2
NAMESERVERS some-ns3

根据该AWS文档,可以设置配置:

sess, err := session.NewSession(&aws.Config{
Region: aws.String("us-east-2")},
)

一次尝试是查阅此Config结构,但似乎省略了Output选项。

如何将输出设置为文本?

注意:aws-sdk-go的github页面也添加了一个问题。

示例

package main
import (
"fmt"
"log"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/route53"
)
func main() {
session, err := session.NewSession()
if err != nil {
log.Fatal(err)
}
r53 := route53.New(session)
listParams := &route53.ListResourceRecordSetsInput{
HostedZoneId: aws.String("some-id"),
}
records, err := r53.ListResourceRecordSets(listParams)
if err != nil {
log.Fatal(err)
}
fmt.Println(records)
}

退货:

{
IsTruncated: false,
MaxItems: "100",
ResourceRecordSets: [
{
Name: "some-domain.",
ResourceRecords: [{
Value: "some-ip"
}],
TTL: 7200,
Type: "A"
}
}

aws route53 list-resource-record-sets --hosted-zone-id some-id导致:

RESOURCERECORDSETS      some-domain.     7200    A
RESOURCERECORDS some-ip

问题

虽然可以将aws-cli的格式设置为输出,但似乎不可能对SDK进行同样的设置。


问题

如何让go aws sdk返回text而不是json

我有你需要的所有信息,你只需要从响应(记录(中解开它。

要从上一个cli命令中获得类似的结果:

for _, recordSet := range records.ResourceRecordSets {
log.Println("RESOURCERECORDSETS " + *recordSet.Name + strconv.Itoa(int(*recordSet.TTL)) + *recordSet.Type)
for _, record := range recordSet.ResourceRecords {
log.Println("RESOURCERECORDS " + *record.Value)
}
log.Println("")
}

最新更新