Я делаю загрузку с AWS S3, и в конце метода я хочу вернуть его, но, к сожалению, я не знаю, как это сделать.
Я пытался сделать это с помощью 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;
}