C++ 如何检查Aws::Transfer::Transfermanager的下载是否成功?

C++ 如何检查Aws::Transfer::Transfermanager的下载是否成功?,c++,amazon-s3,aws-sdk,C++,Amazon S3,Aws Sdk,我从AWSS3下载了一篇文章,在文章的结尾,我想返回它的成功,但遗憾的是,我不知道该怎么做 我试图用我得到的TransferHandle来实现这一点,但似乎没有选择 bool downloadObject(const std::shared_ptr<Aws::S3::S3Client> & client, const Aws::String &key_name) { const auto executor = Aws::MakeShared<Aws::Utils

我从AWSS3下载了一篇文章,在文章的结尾,我想返回它的成功,但遗憾的是,我不知道该怎么做

我试图用我得到的TransferHandle来实现这一点,但似乎没有选择

bool downloadObject(const std::shared_ptr<Aws::S3::S3Client> & client, const Aws::String &key_name)
{
const auto executor = Aws::MakeShared<Aws::Utils::Threading::PooledThreadExecutor>("Downloading-File", 4);
auto transferInitCallback = [&](const Aws::Transfer::TransferManager*, const std::shared_ptr<const Aws::Transfer::TransferHandle>& handle) {};

Aws::Transfer::TransferManagerConfiguration transferConfig(executor.get());
transferConfig.s3Client = client;
transferConfig.transferInitiatedCallback = transferInitCallback;

const auto transmanager = Aws::Transfer::TransferManager::Create(transferConfig);
const auto handle = transmanager->DownloadFile("bucketName", key_name, "C:/Development/test.gz");

handle->WaitUntilFinished();    // block calling thread until download complete

//if download == success -> return true;
}
bool下载对象(const std::shared_ptr&client,const Aws::String&key_name)
{
const auto executor=Aws::MakeShared(“下载文件”,4);
自动transferInitCallback=[&](常量Aws::Transfer::TransferManager*,常量std::shared_ptr&handle){};
Aws::Transfer::TransferManagerConfiguration transferConfig(executor.get());
transferConfig.s3Client=客户端;
transferConfig.transferInitiatedCallback=transferInitiatedCallback;
const auto transmanager=Aws::Transfer::TransferManager::Create(transferConfig);
const auto handle=transmanager->下载文件(“bucketName”,key_name,“C:/Development/test.gz”);
handle->WaitUntilFinished();//在下载完成之前阻止调用线程
//如果下载==success->返回true;
}
您可以使用来检查是否成功,例如:

return handle->GetStatus() == Aws::Transfer::TransferStatus::COMPLETED