使用 适用于 C++ 的 AWS 开发工具包 上传对象 - Amazon Simple Storage Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

使用 适用于 C++ 的 AWS 开发工具包 上传对象

以下C++代码示例将字符串放入AmazonS3对象,使用 PutObjectRequest 通过将文本字符串作为指定S3bucket和AWSRegion(可选)上的示例对象数据来请求。

#include <aws/core/Aws.h> #include <aws/s3/S3Client.h> #include <aws/s3/model/PutObjectRequest.h> #include <iostream> #include <fstream> #include <awsdoc/s3/s3_examples.h> bool AwsDoc::S3::PutObjectBuffer(const Aws::String& bucketName, const Aws::String& objectName, const std::string& objectContent, const Aws::String& region) { Aws::Client::ClientConfiguration config; if (!region.empty()) { config.region = region; } Aws::S3::S3Client s3_client(config); Aws::S3::Model::PutObjectRequest request; request.SetBucket(bucketName); request.SetKey(objectName); const std::shared_ptr<Aws::IOStream> input_data = Aws::MakeShared<Aws::StringStream>(""); *input_data << objectContent.c_str(); request.SetBody(input_data); Aws::S3::Model::PutObjectOutcome outcome = s3_client.PutObject(request); if (!outcome.IsSuccess()) { std::cout << "Error: PutObjectBuffer: " << outcome.GetError().GetMessage() << std::endl; return false; } else { std::cout << "Success: Object '" << objectName << "' with content '" << objectContent << "' uploaded to bucket '" << bucketName << "'."; return true; } } int main() { Aws::SDKOptions options; Aws::InitAPI(options); { const Aws::String bucket_name = "my-bucket"; const Aws::String object_name = "my-file.txt"; const std::string object_content = "This is my sample text content."; const Aws::String region = "us-east-1"; if (!AwsDoc::S3::PutObjectBuffer(bucket_name, object_name, object_content, region)) { return 1; } } Aws::ShutdownAPI(options); return 0; }