登录
首页 >  Golang >  Go问答

无法找到区域配置:在 golang 和 aws sns 中缺失地区配置

来源:stackoverflow

时间:2024-03-15 09:36:29 468浏览 收藏

大家好,今天本人给大家带来文章《无法找到区域配置:在 golang 和 aws sns 中缺失地区配置》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

问题内容

我是 golang 和 aws 的新手。我正在尝试使用 aws sns 发送短信。 我先设置了环境变量,然后尝试发送短信。

export aws_access_key_id=akiaiosfodn..
export aws_secret_access_key=wjalrxutnfem..
export aws_default_region=us-west-2

我尝试调试我出错的地方 但总是报错 missingregion:找不到区域配置

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)
}

自过去两天以来,我一直在尝试这样做。请帮助我,我哪里出错了。


解决方案


您必须配置 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

go sdk 无法识别环境变量 aws_default_region
可以使用 aws_region 名称指定区域,如下

export AWS_REGION="us-west-2"

另一种方法是在根据 noisewaterphd 的答案创建会话时显式传递区域

今天关于《无法找到区域配置:在 golang 和 aws sns 中缺失地区配置》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>