问题标签 [aws-sdk-cpp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 设置分段上传阈值
在 AWS S3 CLI 中,我们可以设置以下参数:
multipart_threshold - CLI 用于单个文件的多部分传输的大小阈值。
我们可以在 aws cpp sdk 客户端做这样的事情吗?
当然,我可以设置 TransferManagerConfiguration 的 bufferSize,但是我必须使用 TransferManager。我只想直接使用 S3Client。
有没有办法做到这一点?
amazon-ec2 - 在 c++ 中的 aws ec2 describeinstance api 调用中创建过滤器的语法帮助
使用 DescribeInstancesRequest (c++ sdk) 获取有关特定 instance_id 的响应。我在构建过滤器时遇到问题。
我正在调整 aws-doc-sdk-examples c++ 示例代码 describe_instances.cpp 提供的示例代码。我添加了代码来过滤响应以使用已知的有效(现在是硬编码)实例 ID。
我尝试了多种变体来设置过滤器,但是文档对我来说并不清楚过滤器的“值对”格式。
这是完整的代码。它只编译 find,但总是以“找不到:...”作为响应
请让我知道过滤器语法有什么问题!(见评论部分过滤实例ID)
谢谢
c++ - 如何为 S3 使用 AWS SDK cpp async API?
我希望在我的应用程序中使用 s3 的 aws sdk cpp async api。但是我无法找到相同的文档。我已经通过https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/cpp/example_code/s3但没有包含异步 api 的示例。
例如,我正在尝试使用 PutObjectAsync api。根据此处给出的 api 参考指南https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_s3 _1_1_s3_client.html#aee8d39c350c5bb66a8d1edcc18df2b78 您需要形成 PutObjectRequest、PutObjectResponseReceivedHandler 和 AsyncCallerContext。
这里没看懂PutObjectResponseReceivedHandler和AsyncCallerContext怎么组成。有人可以指导我完成它。
c++ - [aws-sdk-cpp][s3] 使用 getObject 下载二进制文件
我正在尝试编写一些代码来从 AWS S3 服务器下载二进制文件。
我在下面写了这段代码,大约 200MB 的二进制文件看起来没问题,所以我认为它有效。
但是对于像 200MB~ 这样的大文件,它会被下载,但只是文件的前面部分。
例如,一个视频文件(1.2GB)只下载了前面部分(460MB ~ 700MB)。
为什么会发生这种情况?它是关于流功能的吗?
c++ - AWS 开发工具包 CPP 和 EBS 连接
根据我的研究,我发现 AWS SDK CPP 允许上传/下载文件到存储桶。
我需要对AWS EBS
大量类型具有相同的上传/下载访问权限st1
,但我找不到任何关于它的示例或教程。有什么办法吗?我在非常大的文档中搜索但没有成功。
amazon-web-services - 为什么我不能在 AWS Batch C++ SDK 中覆盖多节点并行作业的容器变量?
我正在使用 AWS Batch。我的目标是通过适用于 C++ 的 AWS 开发工具包创建多节点并行作业。为此,我按照此处的说明创建了一个工作定义。
我正在使用 AWS C++ SDK,我注意到当我尝试覆盖环境变量或命令时,实际上没有任何内容传输到作业中。
有趣的是,对于使用普通作业定义(与多节点作业相反)的作业,相同的代码工作得非常好:
}
我应该为多节点并行作业使用不同的 API 吗?
aws-sdk-cpp - 使用 AWS C++ SDK 最大化 S3 上传性能
我正在使用启用了 ENA 适配器的 c5.18xlarge 实例(因此希望每个 AWS 支持具有 25 Gbps 到 S3 的连接)。我在 RHEL 7 上使用 AWS C++ SDK(版本 1.3.59)使用 256 MB 的部分大小将 70 GB 的文件上传到单个 S3 对象。根据 AWS 支持,我将 ClientConfiguration 的 maxConnections 字段设置为 999,并将其 executor 字段设置为使用池大小为 999 的 PooledThreadExecutor(这些提高了我的性能)。我正在执行一系列 S3Client::UploadPart() 调用,自己处理这些;使用 UploadPartCallable() 并让 SDK 管理线程时,我获得了非常相似的性能。
这是我看到的性能: - 36 个线程:7.5 Gbps - 200 个线程:15.7 Gbps
AWS 支持报告了类似的行为(实际上他们使用了 900 个线程)。
我浏览了 S3Client 的底层实现以及所有低级线程管理和 curl 句柄管理。我没有看到任何明显低效的事情发生。我需要 200 个线程才能在具有 36 个物理内核的机器上实现这种性能,这对我来说没有任何意义。这是预期的吗?有人可以解释正在发生的事情或将 SDK 配置为不需要这么多线程的不同方法吗?我想我可以提供我自己的 HTTPClientFactory 并定制一些东西,如果我小心的话,可以在 curl 句柄的管理方式中去掉一个互斥锁,但这似乎不太可能解释我所看到的。
谢谢你的帮助。
-亚当
c++ - AWS SDK for C++ 中“allocationTag”参数的用途是什么?
AWS 内存分配函数 , , , Aws::MakeShared
,Aws::MakeUnique
和Aws::MakeUniqueArray
所有都需要提供 const char * allocationTag 参数,但是,尚不清楚该字符串的确切用途。Aws::Malloc
Aws::New
Aws::NewArray
AWS SDK for C++ 文档Aws::MakeShared
说:
“...allocationTag 用于内存跟踪目的。”
但是,allocationTag 究竟是如何用于内存跟踪的呢?是否有关于 AWS 内存管理功能使用哪些 allocationTags 值的指南?
c++ - aws sdk c++ 代码不适用于发布版本
我有一个在 Visual Studio 2017 中创建的 .dll c++ 项目。我在其中有使用 aws sdk 从 s3 存储桶获取文件的代码。
我在调试模式模式下构建了这个 dll 项目,并在我的主应用程序(c++)上使用它。它奏效了。
现在我确实做了一个 dll 项目和我的主应用程序的发布版本。我的应用程序在执行“aws sdk c++”代码时崩溃。
这是关于 aws sdk c++ 的代码片段:
希望可以有人帮帮我。
c++ - 在 Freeswitch 中使用 AWS C++ SDK 加载模块时出现未定义符号错误
我再次问这个问题,因为 mods 决定在这里关闭我的问题作为重复,在被问到的几分钟内(并且也被否决了!!)。现在,我已经浏览了所有33 个被认为是我的解决方案的答案,但它没有帮助。所以我又问了。
我正在尝试构建一个 FreeSWITCH 模块,以使用 AWS Polly 和 AWS C++ SDK 添加文本转语音功能。开发环境是 Debian 8,g++ 4.9.2。AWS C++ SDK 是使用此处的说明构建的,但我关闭了共享库(生成 .a 库文件)。
AWS C++ SDK 是按照此处的建议构建的(基本上是带有 C++ 链接的 C++ 代码)。mod_polly.cpp
也使用 C++ 链接构建以生成mod_polly.so
. 它确实引用了一些 C 头文件和函数。这是建造为 -
g++ -shared -o mod_polly.so -L/usr/local/lib/ -laws-cpp-sdk-polly -laws-cpp-sdk-core -fPIC -g -ggdb -std=c++11 -Wall -Werror -I/usr/src/freeswitch/src/include/ -I/usr/src/freeswitch/libs/libteletone/src/mod_polly.cpp
以下来源 -
现在当我尝试加载它时Freeswitch
,它会引发错误
2019-07-31 22:00:51.918181 [CRIT] switch_loadable_module.c:1522 加载模块 /usr/local/freeswitch/mod/mod_polly.so 时出错
/usr/local/freeswitch/mod/mod_polly.so:未定义符号:_ZNK3Aws35AmazonSerializableWebServiceRequest7GetBodyEv
Freeswitch 是在头文件中带有 C++ 保护的 C 代码(外部“C”声明)。
看里面的符号mod_polly.so
readelf -Ws mod_polly.so | grep _ZNK3Aws35AmazonSerializableWebServiceRequest7GetBodyEv
66: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND _ZNK3Aws35AmazonSerializableWebServiceRequest7GetBodyEv
590: 0000000000000000 0 NOTYPE 全球默认 UND _ZNK3Aws35AmazonSerializableWebServiceRequest7GetBodyEv
现在我对这里帖子的基本理解告诉我该符号存在于so
文件中但Freeswitch
无法找到或加载它。
现在这个错误很可能与混合 C/C++ 代码有关,但是看看这个并没有帮助我弄清楚如何修复它。
我不想构建Freeswitch
来加载我的模块,我想我不应该这样做,因为这会使这个项目无法扩展。
我在这里想念什么?
PS:
readelf -Ws libaws-cpp-sdk-core.a | grep AmazonSerializableWebServiceRequest7GetBodyEv
165:0000000000000000 716 FUNC 全局默认值 42 _ZNK3Aws35AmazonSerializableWebServiceRequest7GetBodyEv
符号被定义在libaws-cpp-sdk-core.a
其中是编译命令的一部分mod_polly.cpp