使用 boto3 从 AWS S3 存储桶下载文件会导致 ClientError: 发生错误 (403): Forbidden

2024-01-10

我正在尝试使用 s3 存储桶中提供的访问密钥 ID 和秘密访问密钥下载文件https://db. humanconnectome.org https://db.humanconnectome.org。但是,即使我能够导航数据库并找到文件(因为我已通过 aws cli 配置了我的凭证),尝试下载它们会导致以下错误: “botocore.exceptions.ClientError:调用 HeadObject 操作时发生错误(403):禁止”

使用相同的凭据,我可以浏览相同的数据库并通过 Cyber​​duck 等云存储浏览器手动下载文件,因此 Cyber​​duck 访问数据的方式不会引发 403 Forbidden 错误。

我还验证了 boto3 能够访问我的 aws 凭证,并尝试对它们进行硬编码。

我尝试下载数据的方式非常简单,并复制了 boto3 文档示例:https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-example-download-file.html https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-example-download-file.html

s3 = boto3.client('s3',
    aws_access_key_id=ACCESS_KEY_ID,
    aws_secret_access_key=ACCESS_KEY,)

s3.download_file(Bucket=BUCKET_NAME, Key=FILE_KEY, Filename=FILE_NAME)

这应该将文件下载到 FILE_NAME 指定的位置和文件,但会调用 403 Forbidden 错误。


下载文件时,您还需要传递存储桶区域。尝试配置region使用 CLI 或 passregion_name创建客户端时。

s3 = boto3.client('s3',
    aws_access_key_id=ACCESS_KEY_ID,
    aws_secret_access_key=ACCESS_KEY,
    region_name=AWS_REGION)

https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html

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

使用 boto3 从 AWS S3 存储桶下载文件会导致 ClientError: 发生错误 (403): Forbidden 的相关文章

随机推荐

  • “暂停”被忽略

    我读到我必须能够使用单个命令运行站点中的所有单元测试 因此我创建了一个 bat 文件来执行此操作 即使在结束前暂停 在 phpunit 命令之后 单元测试的结果也会在屏幕中闪烁 echo off cd c cd xampp cd htdoc
  • 访问 Android Wear Fit 数据

    我正在 Samsung Gear Live Google I O 版 上开发一款适用于 Android Wear 的应用程序 它将需要访问心率和步数历史数据 我知道稍后可以使用以下方式访问这些数据谷歌健身 SDK https develop
  • Android中如何获取当前SIM卡号码?

    我想知道 Android 中的用户手机号码 我使用了这个代码 但我没有得到号码 TelephonyManager tm TelephonyManager getSystemService Context TELEPHONY SERVICE
  • mysql 和 30 天

    我正在一个处理免费订阅的网站上工作 我现在想知道如何在 30 天不活动后取消订阅 我知道这必须通过 cron jobs 完成 但我不知道如何在 30 天后计数用户上次登录的时间 SELECT user id FROM users WHERE
  • Visual Studio Code 环绕

    我找不到任何方法可以在 VS Code 中用某些内容包围所选内容 For example doing something like that text gt text just by selecting the word text and
  • jq:错误:无法用字符串索引数组

    我正在尝试为检查点管理服务器 API 编写 bash 脚本 但遇到了一些问题 我想获取 json 字典中的值 为此我必须使用变量 我正在输入这个命令 echo rulebase jq arg n 0 rulebase n to 我收到下一个
  • 阻止浏览器重新发送 post 变量

    当用户尝试登录我的网站时 他的用户名和密码将作为 POST 变量发送 当页面加载时 我获取变量 处理它们并决定登录是否成功 然后 我呈现包含一条消息的页面 通知用户登录成功或失败 我的问题是 如果用户按 F5 或刷新 浏览器会提示他们重新发
  • 如何使用shadow DOM在动态加载的Web组件样式中加载@font-face

    我有一个带有 Shadow DOM 的 HTML 5 WebComponent 它显示的内容必须根据组件中显示的内容类型加载样式 样式表列表是从服务器获取的 我可以像这样加载样式表 for const style of styles con
  • Pandas 中的多索引排序

    我在 pandas df 中有一个包含多索引列的数据集 我想按特定列中的值进行排序 我的数据集如下所示 Group1 Group2 A B C A B C 1 1 0 3 2 5 7 2 5 6 9 1 0 0 3 7 0 2 0 3 5
  • 在 Objective-c xcode 中转换 android 的 AES 加密

    我必须使用类似于下面代码的 AES 加密和解密 需要像android那样传递类似的数据来生成KEY package encypt com import java io BufferedReader import java io FileRe
  • SSH -X“警告:不受信任的 X11 转发设置失败:未生成 xauth 密钥数据”

    嘿 我在使 ssh X 转发正常工作时遇到问题 设置是我ssh从 OSX Yosemite 主机进入我的 ubuntu VM 我已经在 OSX 上安装了 xQuartz 在 ubuntu 上安装了 xauth 并且我相信我已经在 ssh c
  • 使用滑块的模糊效果无法正常工作

    我使用滑块对图像进行模糊效果 我正在使用以下代码 let currentFilter CIFilter name CIGaussianBlur let beginImage CIImage image imgImage image curr
  • 如何编写混合 C 和 C++ 的 makefile

    在这个Makefile中 我不知道如何在同一个Makefile中混合C和C 编译出c对象 如果我首先编译 C 对象 然后运行这个 Makefile 它就可以工作 谁能帮我解决这个问题吗 提前致谢 CXX g CXXFLAGS Wall D
  • FileNotFoundError:使用 jupyter 笔记本时找不到模块

    当我尝试使用 jupyter Notebook 时 收到以下错误消息 FileNotFoundError Traceback most recent call last
  • 无论大小如何,可以使用什么算法来识别图像是否“相同”或相似?

    TinEye http tineye com 反向图像搜索引擎 允许您上传 链接到图像 它能够搜索它已抓取的十亿张图像 并将返回到它发现的相同图像的图像的链接 然而 它不是一个幼稚的校验和或与之相关的任何东西 它通常能够找到比您提供的原始图
  • BOOST ASIO:为什么我在 Windows 中没有得到“bind:地址已在使用中”(但在 Linux 中得到了)?

    尝试绑定已绑定的 TCP 端口应引发异常 绑定 地址已在使用中 异常 Linux 下确实会发生这种情况 但在 Windows 下 不会引发异常 难道是因为在 Windows 下它尝试绑定到任何接口 但在 Linux 中 它尝试绑定到所有这些
  • 使用 mingw 在套接字上使用 fprintf

    有一个有趣的帖子在 Windows 中的套接字上使用 fprintf https stackoverflow com q 14344445 3102264建议将 fprintf 替换为将格式化缓冲区发送到套接字的包装器 但是 似乎可以使用
  • 如何在语言支持等方面进行精简的 GCC 的“轻量级”构建?

    基本上我想制作一个仅支持 C C 的轻量级 GCC 这可以轻松完成还是需要手动修改源代码 这涵盖在安装海湾合作委员会 http gcc gnu org install and 配置 http gcc gnu org install conf
  • 如何打开OTG连接设置

    我正在使用 USB 设备连接 在某些设备中 例如Oppo F1sOTG 连接已从设置中禁用 检查下面的屏幕截图作为参考 我想知道 1 如何查看OTG连接是否启用2 如何使用intent打开OTG连接设置页面 我不知道你是否仍然感兴趣 但我也
  • 使用 boto3 从 AWS S3 存储桶下载文件会导致 ClientError: 发生错误 (403): Forbidden

    我正在尝试使用 s3 存储桶中提供的访问密钥 ID 和秘密访问密钥下载文件https db humanconnectome org https db humanconnectome org 但是 即使我能够导航数据库并找到文件 因为我已通过