问题标签 [rusoto]

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.

0 投票
1 回答
637 浏览

amazon-s3 - 如果找不到环境变量,如何从文件中回退到凭据?

config.yml如果未找到环境变量,我如何回退使用已解析文件 () 中的凭据?为了测试,我使用这个例子

它可以工作,但需要环境变量AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY. 我想扩展它,以便如果没有定义的环境变量,我可以使用在解析文件中找到的键:

config.yml例如可能是这样的:

我可以添加什么chain以使用在 中找到的凭据config.yml,可能类似于:

如何优先考虑环境,如果找不到,则使用提供的凭据StaticProvider

0 投票
2 回答
1414 浏览

rust - 在放弃 Rust Future 时恐慌运行异步代码

我有一个使用 的应用程序#[tokio::main],它在 AWS 上的一项任务中创建了多个资源。Drop我已经在处理程序中实现了清理这些资源。但是这些清理函数是异步的,所以我block_on用来确保它们在从drop.

main函数在 a 完成之前不会返回signal::ctrl_c().await.unwrap();,之后我认为 Tokio 运行时被删除,并且生成的任务被取消。我相信与的交互block_on失败,因为运行时不再可用。

这是恐慌输出

0 投票
1 回答
497 浏览

amazon-s3 - Rusoto streamed upload using sigv4

I'm having trouble streaming uploads to S3:

I generate a binary file by using dd if=/dev/zero of=/tmp/test.bin bs=4k count=500.

Not withstanding that I haven't quite wrapped my head around the future stuff yet, I'm just trying to get something dumping a file into S3, with the minimum amount of memory usage possible.

On run, I get the following output with debug logging; potentially sensitive information ellipsed:

I think this is telling me that it's not a sigv4 signed upload, but I'm not sure.

For the most part, the debug output looks like it's successfully sending the file in chunks, but then it errors...

Given my assumption about it being sent sigv2 and not sigv4, how do I go about making it send the sigv4 headers instead? Failing that, what have I missed?

0 投票
1 回答
256 浏览

amazon-web-services - 如何将我的结构放入 Rust 中 AWS Kinesis 的 PutRecordInput?

我对 Rust 非常陌生,并试图让一些可以将记录推送到 kinesis firehose 流的代码工作。

当我尝试这个时,它想要数据bytes::bytes::Bytes但我不清楚如何将我的结构转换为bytes::bytes::Bytes表示形式。任何有关如何进行此操作的示例将不胜感激。

为了澄清我正在使用

此外,如果有人知道一个很好的地方可以查看如何使用 rusoto 与各种 AWS 实体交谈的真实示例,那将不胜感激。

0 投票
1 回答
511 浏览

rust - 如何将 futures_io::AsyncRead 转换为 rusoto::ByteStream?

我正在尝试构建一个从 SFTP 服务器中提取文件并将它们上传到 S3 的服务。

对于 SFTP 部分,我使用的是async-ssh2,它为我提供了一个实现futures::AsyncRead. 由于这些 SFTP 文件可能非常大,我正在尝试将此File处理程序转换为ByteStream可以使用 Rusoto 上传的文件。看起来 aByteStream可以用 a 初始化futures::Stream

我的计划是StreamFile对象上实现(基于此处的代码)以与 Rusoto 兼容(代码在下面复制以供后代使用):

这是做这件事的好方法吗?我看到了这个问题,但它似乎正在使用tokio::io::AsyncRead. 是否使用tokio规范的方式来执行此操作?如果是这样,有没有办法从转换futures_io::AsyncReadtokio::io::AsyncRead

0 投票
1 回答
222 浏览

rust - Tokio core.run 无法编译。出现错误:特性 `futures::future::Future` 未针对 `impl futures::Future` 实现

我正在用这个例子学习 Rust 和 Rusoto https://www.rusoto.org/futures.html 我发现许多代码已经过时了。所以我改变了这样的代码:

然后我发现了这个编译错误:

谁能解释这个错误?这两个未来特征有什么区别?代码应该是什么样的?

这是我的货物依赖项:

谢谢

布鲁斯

0 投票
0 回答
328 浏览

amazon-web-services - 为什么使用 Rusoto 从 S3 下载文件有时会返回一个空白字符串?

我正在尝试使用 rusoto 从 S3 存储桶中的现有文件中获取正文。我body.unwrap返回一个空白字符串,我不明白为什么。我没有任何问题或错误,我的文件很好。

看起来我有时会从 S3 收到空内容。这是一个快速而肮脏的补丁,还有其他更好的方法吗?喜欢使用 S3 哈希?

这是我的 Tokio 集成:

Tokio 似乎没有按预期工作。

我解决了我的问题:我的网速非常低,我使用 AWS CLI 以防 rusoto 出现多次故障。

0 投票
3 回答
416 浏览

rust - 混合选择!Rust 中的异步调用

我正在构建一个小应用程序,它应该以rusoto不同的时间间隔安排两个任务(基于 AWS SDK):每 X 秒运行一个任务,每 Y 秒运行另一个。

我找到crossbeam了提供滴答计时器和select!宏的板条箱,并将它们放在一起,如下所示:

这会编译,但是程序会出现thread 'main' panicked at 'not currently running on the Tokio runtime.'. 通过分析回溯,这似乎来自 Rusoto 调用。

我在这里想念什么?有没有办法使这项工作?有没有更好的方法来处理 Rust 中的任务调度?

请注意,这个问题似乎没有解决我的问题。这个问题从使用futures::executor::block_on函数开始,然后通过使用block_ontokio 实现的方法来解决Runtime。我已经在使用中的block_on方法了Runtime

0 投票
1 回答
123 浏览

rust - 如何将`futures::Stream`包装到任何实现`Write`的东西中?

最终我需要一个ByteStreamfor rusoto。所以我想我可以从一个创建它futures::Stream

我有一个方法process,它需要 2 个参数,一个用于impl Read,另一个用于impl Write,其中 Read 和 Write 来自std::io

如何将outstream上述内容包装成允许我将其传递给的东西process?可能已经有一些东西了,我不必编写自己的包装器?

0 投票
1 回答
1174 浏览

rust - 如何一起使用 actix-web 3 和 rusoto 0.46?

当我尝试同时使用 actix-web 3 和 rusoto 0.46 时,出现以下运行时错误:

小可重现:

随附货物文件:

这是一个包含完整代码的非常小的 GitHub 存储库的链接,这里是如何重现错误: