登录
首页 >  Golang >  Go问答

创建 Amazon SQS 队列时遇到 NoCredentialProviders 错误:无法在凭据提供程序链中找到有效提供程序,该错误已被弃用

来源:stackoverflow

时间:2024-03-05 17:27:32 498浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《创建 Amazon SQS 队列时遇到 NoCredentialProviders 错误:无法在凭据提供程序链中找到有效提供程序,该错误已被弃用》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我正在尝试从本地计算机创建 amazon sqs,但遇到类似错误

got an error while trying to create queue: nocredentialproviders: no valid providers in chain. deprecated. 
for verbose messaging see aws.config.credentialschainverboseerrors

我做了什么:

第 1 步: 我已在 .aws/credentials 文件中设置了我的凭证

[default]
aws_access_key_id = testaccesskey
aws_secret_access_key = testsecretaccesskey

第 2 步: 我在 go lang 中的代码如下

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/sqs"
)

func CreateQueue(sess *session.Session, queueName string) (*sqs.CreateQueueOutput, error) {
    sqsClient := sqs.New(sess)
    result, err := sqsClient.CreateQueue(&sqs.CreateQueueInput{
        QueueName: &queueName,
        Attributes: map[string]*string{
            "DelaySeconds":      aws.String("0"),
            "VisibilityTimeout": aws.String("60"),
        },
    })

    if err != nil {
        return nil, err
    }

    return result, nil
}

func main() {
    sess, err := session.NewSessionWithOptions(session.Options{
        Profile: "default",
        Config: aws.Config{
            Region: aws.String("us-east-1"),
        },
    })

    if err != nil {
        fmt.Printf("Failed to initialize new session: %v", err)
        return
    }

    queueName := "my-new-queue"
    createRes, err := CreateQueue(sess, queueName)
    if err != nil {
        fmt.Printf("Got an error while trying to create queue: %v", err)
        return
    }

    fmt.Println("Created a new queue with url: " + *createRes.QueueUrl)
}

第三步:


正确答案


尝试更新共享凭证文件 (.aws/credentials) 中的配置文件,如下所示:

[default]
aws_access_key_id=TestAccessKey
aws_secret_access_key=TestSecretAccessKey
region=us-east-1

我刚刚在末尾添加了区域。

本篇关于《创建 Amazon SQS 队列时遇到 NoCredentialProviders 错误:无法在凭据提供程序链中找到有效提供程序,该错误已被弃用》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

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