首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当试图创建队列时,Amazon::得到了一个错误: NoCredentialProviders:没有链中的有效提供者。已弃用

当试图创建队列时,Amazon::得到了一个错误: NoCredentialProviders:没有链中的有效提供者。已弃用
EN

Stack Overflow用户
提问于 2022-02-01 08:22:33
回答 3查看 480关注 0票数 0

我正在尝试从本地机器创建Amazon,并面临以下错误:

代码语言:javascript
复制
Got an error while trying to create queue: NoCredentialProviders: no valid providers in chain. Deprecated. 
For verbose messaging see aws.Config.CredentialsChainVerboseErrors

我所做的:

步骤1:我已经在..aws/凭据文件中设置了我的凭据

代码语言:javascript
复制
[default]
aws_access_key_id = TestAccessKey
aws_secret_access_key = TestSecretAccessKey

步骤2:我在go lang中的代码,如下所示

代码语言:javascript
复制
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)
}

步骤-3:

EN

回答 3

Stack Overflow用户

发布于 2022-02-01 08:34:51

尝试在共享凭据文件(. as /凭据)中更新配置文件,如下所示:

代码语言:javascript
复制
[default]
aws_access_key_id=TestAccessKey
aws_secret_access_key=TestSecretAccessKey
region=us-east-1

我刚在最后加了一个区域。

票数 1
EN

Stack Overflow用户

发布于 2022-02-01 10:59:40

若要验证CLI会话是否配置了正确的AWS凭据,请运行此命令aws sts get-caller-identity,此命令将显示所使用的配置文件。如果工作正常,那么您可以运行任何简单的AWS命令,比如S3.getBuckets(),以验证dev环境是否正确设置。

这两个解决方案应该给您足够的输入,以了解什么是错误的。

票数 1
EN

Stack Overflow用户

发布于 2022-04-19 13:37:42

在..aws/凭据文件中添加区域:

region=us-east-1

请参阅aws控制台中创建sqs的区域。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70937391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档