当我尝试使用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
以下是我的代码:
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;
}
}发布于 2019-05-25 07:42:50
用于创建或删除SQS队列的AWS凭证必须允许这些操作。
示例代码中定义的凭据不起作用。凭据可以传递给SQSClient构造函数,也可以按照https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/credentials.html中所述进行定义
https://stackoverflow.com/questions/52867895
复制相似问题