首页 > 解决方案 > MissingRegion:在 golang 和 aws sns 中找不到区域配置

问题描述

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

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

我试图调试我出错的地方但总是出错 MissingRegion: could not find region configuration

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 天以来,我一直在尝试这样做。请帮助我哪里出错了。

标签: amazon-web-servicesgoamazon-sns

解决方案


您必须配置 SDK。要设置区域,您可以执行类似的操作

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

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


推荐阅读