登录
首页 >  Golang >  Go问答

Go中的AWS SDK不会自动读取配置文件中的区域信息

来源:stackoverflow

时间:2024-03-12 18:03:39 498浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《Go中的AWS SDK不会自动读取配置文件中的区域信息》,涉及到,有需要的可以收藏一下

问题内容

尝试按照官方示例列出存储桶

    sess, err := session.newsessionwithoptions(session.options{
        profile: "my-profile",
    })

    if err != nil {
        exiterrorf("unable to create session, %v", err)
    }

    // create s3 service client
    svc := s3.new(sess)
    result, err := svc.listbuckets(nil)
    if err != nil {
        exiterrorf("unable to list buckets, %v", err)
    }

请注意,my-profile(驻留在 ~/.aws/credentials 中)具有关联的区域信息

[my-profile]
aws_access_key_id=xxxxxxx
aws_secret_access_key=xxxxxxx
region=us-east-1

程序失败如下:

unable to list buckets, missingregion: could not find region configuration
exit status 1

编辑:设法通过添加这行代码来解决这个问题

os.Setenv("AWS_REGION", "us-east-1")

但我想正确的方法应该是让 sdk 适当地读取配置文件,不是吗?


正确答案


~/.aws/config 中的 region is set

~/.aws/config

[my-profile]
region=us-east-1

~/.aws/凭证

[my-profile]
aws_access_key_id=XXXXXXX
aws_secret_access_key=XXXXXXX

今天关于《Go中的AWS SDK不会自动读取配置文件中的区域信息》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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