nodejs knox 放入 s3 结果是 403

2024-06-18

我尝试在 nodejs 项目中使用 knox 上传到 Amazon s3 存储桶,但无法解决 403 错误。我已确保密钥、秘密和存储桶已正确设置。我真的需要那些有更多经验的人的帮助。

我的节点代码如下:

var upload_test = function(){

var client = knox.createClient(
    {
      key: config.aws.key
    , secret: config.aws.secret
    , bucket: config.aws.bucket
    }
);

fs.readFile('test.pdf', function(err,buf){
    var req = client.put('6530/test.pdf', {
        'Content-length': buf.length,
        'Content-Type': 'application/pdf'
    });
    req.on('response',function(res){
        if(res.statusCode === 200){
            console.log('Success!');
            req.on('data',function(chunk) {
                console.log(chunk);
            });
        }
        else {
            console.log("Error statusCode: " + res.statusCode);
            console.log("URL: " + req.url);
            req.on('data',function(chunk){
                console.log(chunk);
            });
        }
    });
});

}


对于未来的观众:

通过将存储桶名称更改为全部小写字母,解决了我的类似问题

数字业力 --> 数字业力

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nodejs knox 放入 s3 结果是 403 的相关文章

  • 不支持从“describe”返回 Promise。测试必须同步定义

    特定测试通过了 但我得到了这个 console log node modules jest jasmine2 build jasmine Env js 502 Test suite failed to run Returning a Pro
  • 从 aws Glue 脚本调用存储过程

    ETL 作业完成后 在 AWS Glue 脚本中调用存储过程的最佳方式是什么 我正在使用 PySpark 从 S3 获取数据并将其存储在临时表中 在这个过程之后 需要调用一个存储过程 该存储过程将数据从临时表加载到相应的 MDS 表中 如果
  • 如何重命名对象 boto3 S3?

    我在 S3 中有大约 1000 个对象 它们以 abcyearmonthday1 abcyearmonthday2 abcyearmonthday3 想要将它们重命名为 abc year month day 1 abc year month
  • 删除时忽略限制(猫鼬)

    我需要删除集合中最早的几个文档 所以我写了这样的内容 Model remove u abc sort id 1 limit 10 exec function err count count gives the total documents
  • 如何在node.js的当前范围内动态创建变量?

    我正在尝试动态创建指向对象的node js 变量 我知道我可以使用 eval 在范围内动态创建变量 var vars a b for var n 0 n
  • 基准测试socket.io

    我想对我的 socket io 服务器进行基准测试 我想测试服务器可以处理多少并行连接和消息 但是当我用大约 200 个 websocket 启动基准测试几分钟后 我的 socket io 服务器崩溃了 我尝试使用node js的集群模块将
  • Node.js 多线程程序

    我编写了一个 node js 脚本来从交易所获取一些价格 它看起来像这样 async function main async function func var start time performance now for let rout
  • 为什么 docker 会创建空的 node_modules 以及如何避免它?

    有一些类似的问题 https stackoverflow com questions 39651908 why node modules is empty after docker build但他们还没有回答为什么 docker 创建空的n
  • NodeJS MySQL - 如何知道连接是否释放

    我正在开发 NodeJS MySQL Web API 我在用mysql https www npmjs com package mysqlnpm 模块 我想知道连接是否已释放 是否有任何函数或变量 喜欢 if connection isRe
  • Express生成JSON

    我正在尝试传递一个键值并根据传递的键生成 JSON 响应 快速计划 var express require express async require async http require http mysql require mysql
  • 使用 React 和 Ant Design 的浮动标签

    对于我的 React 应用程序 我正在尝试构建一个表单浮动标签使用具有不同输入类型的 Antd 模板 仅使用样式使标签浮动 到目前为止 我已经能够将标签放在输入后面 但是当我将转换 转换应用于我的CSS代码时 它似乎根本不起作用 这是我的表
  • 如何在nodejs中处理xhr blob post

    客户端代码 var xhr new XMLHttpRequest xhr open POST frame true xhr send blob 服务器代码 app use bodyParser urlencoded extended fal
  • 使用 Laravel 从 Amazon S3 下载文件

    我有点确定如何使用 Laravel 4 从 Amazon S3 启动文件下载 我正在使用 AWS result s3 gt getObject array Bucket gt bucket Key gt data txt temp file
  • 将最新的 terser-webpack-plugin 与 Webpack5 一起使用

    根据这个链接 简洁的文档 https webpack js org plugins terser webpack plugin terseroptions如果您使用最新的 Webpack 5 则无需安装 Terser 插件 因为它已包含在
  • Puppeteer - 如何获取当前页面(应用程序/pdf)作为缓冲区或文件?

    使用 Puppeteer https github com GoogleChrome puppeteer https github com GoogleChrome puppeteer 我有一个页面是申请 pdf With headless
  • 映射警告时反应唯一键

    我对反应还很陌生 我面临着一个无法解决的问题 这是我的反应组件 import React from react import Header from Header import ContestPreview from ContestPrev
  • 如何仅更改音频文件的 AWS S3 内容类型

    我在 AWS S3 存储桶上有超过 50000 个文件 音频 图像 pdf 现在我面临着 Firefox 的问题 由于其内容类型 音频文件无法在 Firefox 上播放 之前一直运转良好 当我更改内容类型时 音频文件效果很好二进制 八位字节
  • 为什么 npm install 失败并出现与 node-sass 相关的错误?

    我正在使用我继承的 Rails 应用程序 我正在尝试运行npm install命令但我不断收到errors以下 我尝试跑步npm rebuild node sass正如输出中所建议的 但它没有帮助 我遇到这个问题乌班图16也OS X gt
  • socket.io 切换命名空间

    我目前正在与 socket io 进行简单的聊天 基础知识已经可以工作 但现在我正在尝试实现 2 个不同的命名空间 我希望客户端能够通过单击按钮从一个命名空间 支持聊天 切换到另一个命名空间 朋友聊天 服务器端 default namesp
  • 无法将环境变量传递给 docker

    我正在尝试使用环境变量运行 docker 映像 但它对我来说不起作用 无论是使用 env list 文件还是通过命令行 docker run p 49160 8080 d appname e FOO foo 来自守护程序的错误响应 OCI

随机推荐

  • 如何将 Dart 代码迁移到不可空 (NNBD)?

    我有一个之前编写的 Flutter 应用程序Dart 中引入了 null 安全性 https stackoverflow com questions 60068435 what is nullability in dart non null
  • 并发访问且不受数据结构的影响

    问题是这样的 我有一个包含 500 个指针的数组 它们指向双向链表中的 500 个元素 有 10 个并行运行的线程 每个线程运行 50 个循环 并尝试释放列表中的某些元素 该列表已排序 包含简单整数 并且有 10 个其他线程并行运行 搜索包
  • 如何在短时间内列出Google存储桶中的所有文件?

    我有一个 Google 存储桶 其中包含超过 20k 个文件名 有没有办法在短时间内列出bucket中的所有文件名 这取决于你所说的 短 是什么意思 但是 为了加快列出存储桶的速度 您可以做的一件事是对列出操作进行分片 例如 如果您的存储桶
  • 以编程方式单击 tabbarController 的选项卡

    我有 2 个带有 Nib 文件的选项卡按钮 在按下选项卡 1 上的按钮时 我希望它显示选项卡 2 的视图 而不是单击选项卡栏按钮 2 我的意思是 我想以编程方式单击第二个选项卡栏按钮 我怎样才能做到这一点 可能吗 您必须创建一个包含以下内容
  • WithEvents(句柄)与 AddHandler 之间的区别

    我搜索了关键字使用的差异Handles http msdn microsoft com en us library 6k46st1y aspx代替添加处理程序 http msdn microsoft com en us library 7t
  • 如何在没有 Google Play 服务的情况下设置 Android 模拟器

    一位客户要求我制作一个应用程序版本 以便在没有 Google Play 服务的设备上运行 有什么方法可以告诉 Android 模拟器在不使用 GPS 的情况下运行应用程序吗 然后我可以测试代码以确保它可以在客户端设备上运行 使用不包含 go
  • 对静态类成员的未定义引用

    谁能解释为什么以下代码无法编译 至少在 g 4 2 4 上 更有趣的是 为什么当我将 MEMBER 转换为 int 时它会编译 include
  • Swift - 如何复制包含引用类型的数组

    我正在尝试复制数组及其值 为什么两个数组都引用同一个变量 您可以在 Playground 中尝试此操作 var view UIView view tag 1 var a UIView var b UIView a append view b
  • 如何正确初始化log4j?

    将 log4j 添加到我的应用程序后 每次执行应用程序时都会得到以下输出 log4j WARN No appenders could be found for logger slideselector facedata FaceDataPa
  • Angular2中如何从另一个模块继承一个模块?

    因此 我使用 Angular 2 Final 2 0 0 假设我创建了一个 WidgetsModule 其中包含一堆指令和组件 这些指令和组件将帮助我构建应用程序 然后将其导入到我的 AppModule 中 import NgModule
  • 添加自定义 CSS 到 Jekyll

    我是 Jekyll 新手 我正在按顺序使用自定义 html 和 css 制作一个网站 Jekyll 默认下载 minima 主题 所以我用以下 html 覆盖了主页 all my html
  • 什么是“声明式安全”?一般来说

    这个问题的答案 声明式安全 这是什么 https stackoverflow com questions 1210609并没有告诉我太多 坦率地说 根本没有告诉我任何事情 我看到一篇关于 NET 性能的博客 其中提到了这一点 您使用声明式安
  • 在 Python 中搜索文本文件并打印相关行?

    如何在文本文件中搜索关键短语或关键字 然后打印关键短语或关键字所在的行 searchfile open file txt r for line in searchfile if searchphrase in line print line
  • 当没有结果返回时,如何防止 Angular 异步管道频繁进行服务器调用?

    我正在使用async通过管道传入 ngFor 来观察 Observable Observable 是由访问我的服务器的服务创建的 并且在枚举 ngFor 循环时的加载时间 该服务正确地调用服务器 现在对于我不明白的部分 当任何结果返回时 一
  • 如何在 RxSwift 中取消订阅 Observable?

    我想在 RxSwift 中取消订阅 Observable 为了做到这一点 我曾经将 Disposable 设置为 nil 但在我看来 更新到 RxSwift 3 0 0 beta 2 后 这个技巧不起作用 我无法取消订阅 Observabl
  • PreviewKeyDown 不会在 ElementHost 中针对 Tab 和箭头键触发

    我在 Winforms ElementHost 中有一个 WPF 窗口 我的窗口上的 Tab 键和箭头键不会触发 KeyDown 和 PreviewKeyDown 事件 KeyUp 和 PreviewKeyUp 似乎工作正常 Preview
  • 将字符串拆分为数组,在 Swift 中保留定界符/分隔符

    寻找一种 优雅的 解决方案来分割字符串并将分隔符保留为数组中的项目 示例1 hello world hello world 示例2 hello world hello world thx 假设您要使用名为的分隔符分割字符串separator
  • 在 Bash 中替换垂直线

    我很难完成我的脚本 因为这一部分没有按照我想要的方式运行 我的脚本中有这一行 cat home tmp temp1 txt awk gsub RS gsub RS print gt home tmp temp txt 效果很好 是的 但是当
  • 如何枚举控件的所有依赖属性?

    我有一些 WPF 控件 例如 文本框 如何枚举该控件的所有依赖属性 如 XAML 编辑器所做的那样 不需要使用反射 恕我直言 这是一个坏主意 因为框架已经为此提供了实用程序类 但它们并不明显找到 以下是基于这篇文章的答案 枚举绑定 http
  • nodejs knox 放入 s3 结果是 403

    我尝试在 nodejs 项目中使用 knox 上传到 Amazon s3 存储桶 但无法解决 403 错误 我已确保密钥 秘密和存储桶已正确设置 我真的需要那些有更多经验的人的帮助 我的节点代码如下 var upload test func