-
Anonymous
C ++ putobject для небольших файлов занимает слишком много времени
Сообщение
Anonymous »
Код: Выделить всё
#include
#include
#include
#include
#include
#include
bool uploadFileToS3(const std::string& accessKey,
const std::string& secretKey,
const std::string& region,
const std::string& bucket,
const std::string& key,
const std::string& filePath)
{
Aws::Auth::AWSCredentials credentials(accessKey, secretKey);
Aws::S3::S3ClientConfiguration config;
config.region = region;
auto s3Client = std::make_shared(credentials, nullptr, config);
auto inputStream = Aws::MakeShared(
"UploadTag", filePath.c_str(), std::ios_base::in | std::ios_base::binary);
if (!inputStream || !inputStream->good()) {
std::cerr seekg(0, std::ios::beg);
Aws::S3::Model::PutObjectRequest request;
request.SetBucket(bucket);
request.SetKey(key);
request.SetBody(inputStream);
request.SetContentLength(static_cast(fileSize));
auto start = std::chrono::high_resolution_clock::now();
auto response = s3Client->PutObject(request);
auto elapsedMs = std::chrono::duration_cast(
std::chrono::high_resolution_clock::now() - start)
.count();
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79732242/c-putobject-for-smaller-files-takes-too-long[/url]
1754927601
Anonymous
[code]#include
#include
#include
#include
#include
#include
bool uploadFileToS3(const std::string& accessKey,
const std::string& secretKey,
const std::string& region,
const std::string& bucket,
const std::string& key,
const std::string& filePath)
{
Aws::Auth::AWSCredentials credentials(accessKey, secretKey);
Aws::S3::S3ClientConfiguration config;
config.region = region;
auto s3Client = std::make_shared(credentials, nullptr, config);
auto inputStream = Aws::MakeShared(
"UploadTag", filePath.c_str(), std::ios_base::in | std::ios_base::binary);
if (!inputStream || !inputStream->good()) {
std::cerr seekg(0, std::ios::beg);
Aws::S3::Model::PutObjectRequest request;
request.SetBucket(bucket);
request.SetKey(key);
request.SetBody(inputStream);
request.SetContentLength(static_cast(fileSize));
auto start = std::chrono::high_resolution_clock::now();
auto response = s3Client->PutObject(request);
auto elapsedMs = std::chrono::duration_cast(
std::chrono::high_resolution_clock::now() - start)
.count();
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79732242/c-putobject-for-smaller-files-takes-too-long[/url]