使用开发工具包将文件上传到 AWS C++
Uploading file to AWS using C++ SDK
每当我运行程序时,我都会收到错误"无法连接到端点"。但我知道我可以连接到该存储桶,因为我可以使用相同的配置和 s3Client 成功下载该存储桶中的文件。它卡在 PutObject(( 行上。
这是代码。
const String KEY = "test2.txt";
const String BUCKET = "savefiles2017";
const String fileName = "test2.txt";
Client::ClientConfiguration config;
config.region = Region::US_WEST_2;
config.scheme = Http::Scheme::HTTPS;
S3Client s3Client(Auth::AWSCredentials("XXXXXX", "YYYYYY"), config);
//putting something into s3
PutObjectRequest putObjectRequest;
putObjectRequest.WithBucket(BUCKET).WithKey(KEY);
auto requestStream = MakeShared<FStream>("PutObjectInputStream", fileName.c_str(), ios_base::in);
putObjectRequest.SetBody(requestStream);
auto putObjectOutcome = s3Client.PutObject(putObjectRequest);
if (putObjectOutcome.IsSuccess())
{
cout << "Put object succeeded" << endl;
}
else
{
cout << "Error while putting Object " << putObjectOutcome.GetError().GetExceptionName() <<
" " << putObjectOutcome.GetError().GetMessage() << endl;
}
这些也是我正在使用的包含
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
#include <aws/core/Aws.h>
#include <aws/core/auth/AWSCredentialsProvider.h>
#include <aws/s3/S3Client.h>
#include <aws/s3/model/PutObjectRequest.h>
#include <aws/s3/model/GetObjectRequest.h>
#include <aws/core/utils/memory/stl/AWSStringStream.h>
using namespace Aws;
using namespace Aws::S3;
using namespace Aws::S3::Model;
任何帮助将不胜感激。
我想出了如何解决它。我不得不换行
auto requestStream = MakeShared<FStream>("PutObjectInputStream", fileName.c_str(), ios_base::in);
自
auto requestStream = MakeShared<FStream>("PutObjectInputStream", fileName.c_str(), ios_base::in | ios_base::binary);
所以我只需要添加额外的ios_base::binary
标志
相关文章:
- 如何使用 AWS Transcribe C++ API 中的'StartTranscriptionJobRequest'?
- AWS Lambda C++运行时权限被拒绝
- 使用 AWS Lambda 触发C++文件 - Hello World
- 使用 C++ 订阅 AWS AppSync
- AWS IoT 开发工具包:通过 TCP 端口 443 使用 MQTT
- AWS AMI 中的 Windows DPAPI 失败,访问被拒绝
- 如何在 std::string 和 Aws::String 之间进行转换?
- 带有 esp32 的 AWS 物联网接收来自某些主题的消息,但无法接收其他主题的消息?
- 使用 AWS C++ 开发工具包分段上传 S3
- 与 AWS 开发工具包的链接问题
- 使用代码在 AWS 开发工具包C++控制台应用程序上设置凭证
- 在为 iOS 构建 aws-sdk-cpp 时,cmake 上的 CXX 编译器错误已损坏
- 将 aws-iot-device-sdk-cpp-v2 与 CMake 结合使用
- GCP 或 AWS 是否支持 C++ 和 GUI 应用程序开发?
- 如何在C++中使用TCP窗口缩放来提高AWS S3的吞吐量
- 如何使用 AWS C++ 开发工具包在给定的开始和结束日期范围内列出 S3 中的文件
- 如何使用 SAM 在本地运行C++ AWS Lambda 函数?
- 适用于 C++ 的 AWS 开发工具包:对 S3 传输进行完整性检查
- 使用 AWS c++ 接口将文件上传到 s3 时内容类型标签不正确
- 在 Cloud9 上安装 AWS C++ 开发工具包时出现问题