首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拒绝通过AWS C++ SDK访问SQS (创建队列/删除队列)

拒绝通过AWS C++ SDK访问SQS (创建队列/删除队列)
EN

Stack Overflow用户
提问于 2018-10-18 14:04:37
回答 1查看 798关注 0票数 0

当我尝试使用aws-sdk-cpp和aws-sdk-sqs创建/删除队列时,收到以下错误:- error = {m_errorType=ACCESS_DENIED (15) m_exceptionName="AccessDenied“m_message=”访问资源https://sqs.ap-south-1.amazonaws.com/被拒绝。“...}

我可以通过登录amazon控制台来创建队列,但不能使用api(aws-sdk-cpp和aws-sdk-sqs)来创建队列。我甚至可以使用api从队列发送和接收消息。但是我不能使用api创建/删除队列。

我使用了以下链接作为参考:- https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/cpp/example_code/sqs/create_queue.cpp

以下是我的代码:

代码语言:javascript
复制
void createqueue()
{   
    Aws::Client::ClientConfiguration  CliConfig;

    CliConfig.region = "ap-south-1";

    Aws::SQS::SQSClient sqs(CliConfig);

    Aws::SQS::Model::CreateQueueRequest cq_req;

    Aws::String queue_name = "asdf";
    cq_req.SetQueueName(queue_name);

    Aws::Auth::AWSCredentials("************", "*****************");

    auto cq_out = sqs.CreateQueue(cq_req);
    if (cq_out.IsSuccess())
    {
        std::cout << "Successfully created queue " << queue_name << std::endl;
    }
    else
    {
        std::cout << "Error creating queue " << queue_name << ": " <<
            cq_out.GetError().GetMessage() << std::endl;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-05-25 07:42:50

用于创建或删除SQS队列的AWS凭证必须允许这些操作。

示例代码中定义的凭据不起作用。凭据可以传递给SQSClient构造函数,也可以按照https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/credentials.html中所述进行定义

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

https://stackoverflow.com/questions/52867895

复制
相关文章

相似问题

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