我正在尝试使用c ++ SDK中的AWS SNSClient向主题发布消息。
有人可以帮助我找到一种方法来弄清楚我的方法有什么问题吗?我得到的错误消息只是说“无法达到端点”。
我试图找出我的请求挂起的位置 - 在我看来,它可能是以下之一:
有人知道如何调试我的请求并查看问题是什么?
谢谢!我的代码看起来像这样(api init和shutdown被省略):
Aws::SNS::SNSClient client(credentials , config);
Aws::SNS::Model::PublishRequest pubReq;
pubReq.SetTopicArn("...");
pubReq.SetMessage("Test message");
pubOutcome = client.Publish(pubReq);
if(! pubOutcome.IsSuccess() ){
std::cout << "outcome: " << pubOutcome.GetError().GetMessage() << std::endl;
}
答案 0 :(得分:3)
我无法看到您的代码的猜测是您没有指定正确的区域。如果您的代码挂起几秒钟,那么这很可能就是问题所在。
在创建SNS客户端之前添加一行代码:
config.region = "us-west-2";
要启用调试,请在Aws :: InitAPI(选项)之前添加此行
options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Debug;
记录标题:
#include <aws/core/utils/logging/DefaultLogSystem.h>
#include <aws/core/utils/logging/AWSLogging.h>
然后,您可以查看生成的日志文件。它将以“aws_sdk”开头
我使用Visual Studio,所以我更喜欢步入代码来弄清楚什么是错的。有时查看日志文件会更简单。