MissingRegion:在golang和AWS SNS中找不到区域配置

时间:2019-05-14 17:07:16

标签: amazon-web-services go amazon-sns

我是Golang和AWS的新手。我正在尝试使用AWS SNS发送SMS。 我已经设置了环境变量,然后尝试发送SMS。

export AWS_ACCESS_KEY_ID=AKIAIOSFODN..
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEM..
export AWS_DEFAULT_REGION=us-west-2

我尝试调试出问题的地方 但是总是出错 缺少区域:找不到区域配置

package main

import (
    "fmt"

    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/sns"
)

func main() {
    fmt.Println("creating session")
    sess := session.Must(session.NewSession())
    fmt.Println("session created")
    svc := sns.New(sess)
    fmt.Println("service created")
    params := &sns.PublishInput{
        Message: aws.String("testing 123"),         
        PhoneNumber: aws.String("+14445556666"),    
    }
    resp, err := svc.Publish(params)

    if err != nil {
        fmt.Println(err.Error())
        return
    }
    fmt.Println(resp)
}

自最近两天以来,我一直在尝试这样做。请帮我解决问题。

2 个答案:

答案 0 :(得分:1)

您必须配置SDK。要仅设置区域,您可以执行类似A C E 0 6 4 2 12 8 3 2 2

的操作

您可以在此处查看有关配置的完整详细信息:https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html

答案 1 :(得分:1)

Go SDK无法识别环境变量AWS_DEFAULT_REGION
可以使用AWS_REGION名称来指定区域,如下所示:

export AWS_REGION="us-west-2"

另一种方法是根据noisewaterphd

的答案在创建会话的同时显式传递区域