问题标签 [knox-amazon-s3-client]

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 回答
1169 浏览

node.js - 如何使用 Knox 模块的响应?

我正在使用 Knox S3 模块,但是当我最终获得文件时,生成的文件已损坏。我是否错误地使用了 Knox?

0 投票
3 回答
5158 浏览

node.js - 将配置传递给控制器

我正在构建一个 node.js 应用程序,它将使用 knox 将文件上传到我的 S3 存储桶。我能够按预期与 S3 交互,但我想让我的控制器接收配置,以便我可以使用配置值动态构建我的客户端。

我的问题是如何在不粗心的情况下从调用堆栈中获取配置参数到我的控制器?

免责声明:我对 Node.js 比较陌生,所以这可能只是我对导出之间的区别缺乏了解。和 module.exports.*

这是交互如何与我的代码一起工作的示例:

应用程序.js

路由器.js

主页.js

0 投票
3 回答
750 浏览

node.js - 如何使套接字成为流?在 imagemagick 之后将 https 响应连接到 S3

我一般是节点和编程,我一直在努力解决这个问题......

我想接受 https 响应,使用 graphicsmagick 调整大小并将其发送到我的亚马逊 S3 存储桶。

看来 https res 是一个 IncomingMessage 对象(我找不到任何关于它的信息),而 graphicsmagick 的标准输出是一个套接字。

奇怪的是,我可以使用管道并将它们发送到具有本地路径的 writeStream,并且 res 和 stdout 都创建了一个很好的新调整大小的图像。

我什至可以将 res 发送到 S3(使用 knox)并且它可以工作。

但标准输出不想去 S3 :-/

任何帮助,将不胜感激!

knox - 用于连接到 S3 - https://github.com/LearnBoost/knox graphicsmagick - 用于图像处理 - https://github.com/aheckmann/gm

0 投票
1 回答
860 浏览

node.js - 验证后显示来自 S3 的缩略图/图片

我是 S3 的新手。我对 s3 的理解是浏览器请求图像,然后服务器必须连接到 s3 获取图像,就好像它是一个文件系统一样,获取流并将输出发送到浏览器。我想知道是否有一种方法可以直接提供 s3 存储桶/图像的 url,但这必须在身份验证之后并且必须有时间限制,以便在一段时间后您应该能够再次访问图像。

上传也是一样。文件名等上传详细信息必须发送到服务器,但图像进入 s3 并且成功/错误在服务器中更新。这可能吗。我打算在服务器上使用 nodejs

我听说过诺克斯,但不确定它适合这个。

0 投票
2 回答
232 浏览

node.js - 奇怪的流行为 node.js/knox

我一直在研究这个问题的答案,位于此处如何使套接字成为流?在 imagemagick 之后将 https 响应连接到 S3。根据 loganfsmyth 的建议,我评论了 req.end(image) 行,但是当我尝试上传文件时,服务器只是超时。当我取消注释 req.end(image) 行时,我遇到了类似的行为,但图像成功上传到 S3 除外。如果取消注释 req.end(image) 行是正确的,有人可以为我澄清哪种方式是正确的,向浏览器发送响应以防止它超时的最佳方式是什么?

0 投票
1 回答
509 浏览

node.js - 诺克斯 putFile 返回 403

尝试使用 knox putFile 时出现 403 错误。奇怪的是,当我在本地机器上尝试它时它对我来说很好,但是当它从 EC2 实例运行时,我得到 403。有时这也会导致 ECONNRESET 或 EPIPE 错误,但它并不一致。

我在本地和 EC2 实例上运行最新的稳定版本的 node (0.10.5) 和 knox (0.7.0)。

文件名中除了下划线之外没有特殊字符,并且所有内容都是小写的。我已经在这里解决了其他类似的问题,但没有任何建议有帮助。我尝试更新我的服务器时间'ntpdate -s pool.ntp.org',但没有效果。

0 投票
2 回答
1463 浏览

node.js - NodeJS:通过 Knox 将 PDF 上传到 S3;putFile 返回 505

我正在尝试使用 Knox 库将 PDF 上传到 S3 存储桶,但我不断收到 505 错误并且 PDF 无法保存。我的代码:

任何人都知道我做错了什么?我也尝试使用 client.put(..) 设置我自己的标头,但我得到了相同的 505 响应。

0 投票
5 回答
12777 浏览

node.js - 有没有办法使用 node.js 从 url 上传到 S3?

我找到了这个问题,但它似乎没有回答我的问题,因为我认为它仍在谈论本地文件。

我想获取和imgur.com链接并使用节点将其上传到 S3。诺克斯能做到这一点还是我需要使用别的东西?

不知道从哪里开始。

0 投票
1 回答
2532 浏览

node.js - ZIP 文件在上传到 S3 期间损坏

我正在使用 node.js 和 knox 的 putFile 将 zip 文件上传到 S3。原始 zip 可以正常打开,从 S3 下载的 zip 已损坏。

这是我正在使用的相关代码:

这是我尝试在 OSX 的终端中使用 zip 修复 zip 文件时得到的输出

我完全不知道为什么会发生这种情况。几乎似乎最后几个字节不是由 knox 发送的,但这完全是新手的猜测。

有人有想法么?

更新:

我认为这可能是生成 ZIP 文件而不是上传的问题。我尝试上传由 OSX Zip Utility 生成的 zip 文件,每次都能正常工作。我将对此进行更深入的研究。谢谢您的帮助。

0 投票
1 回答
3852 浏览

node.js - Amazon S3 PUT 抛出“SignatureDoesNotMatch”

这个 AWS 安全问题让我抓狂。我正在尝试使用knox从节点应用程序上传一些二进制文件。我的密钥/秘密组合不断收到臭名昭著的SignatureDoesNotMatch错误。我将其追溯到这个:使用例如 Transmit,我可以通过连接来访问存储桶s3.amazonaws.com,但我无法通过虚拟子域访问它mybucket.s3.amazonaws.com。(当我尝试使用 s3.amazonaws.com/mybucket 语法访问存储桶时,我收到一条错误消息,指出只允许使用子域样式。)

我已尝试将存储桶策略设置为明确允许PUT相应用户使用,但这没有效果。谁能解释一下我如何能够从一个特定的 AWS 用户上传文件?