gpt4 book ai didi

r - 如何在模块化 Shiny 应用程序中连接 AWS S3 凭证

转载 作者:行者123 更新时间:2023-12-04 10:11:52 25 4
gpt4 key购买 nike

在shinyapps.io 上运行具有多个文件夹的 Shiny 应用程序。该应用程序具有从 S3 提取数据的功能(使用 get_bucket() 周围的包装器),当我在我的项目 .Renviron 文件中设置 AWS secret 和凭据时,它在本地工作正常,但一旦推送我收到 HTTP 403 错误:

Error in value[[3L]](cond) : Forbidden (HTTP 403).
Calls: local ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted

我尝试过的事情:
  • 直接在 get_bucket() 中包括 aws key 、 secret 和区域调用
  • 将 aws 中的存储桶设置更改为“开放访问”
  • 在包含 sys.setenv() 的 global.R 文件中设置凭据
  • 使用凭据
  • 将 .Renviron 添加到主项目文件夹
  • 在 server.R 文件中添加凭据(为了测试,我不想这样做)

  • 我对这个完全没有想法。它源于一个更广泛的问题,即如何在 shinyapps.io 应用程序中设置 .Renviron 变量。我读过的东西说要添加到主文件夹或其他选项,但正如我上面所说的那样没有用。

    我正在使用 shiny::reactivePoll() 读取数据但不明白这是怎么回事。

    感谢您的帮助,这几天被卡住了。

    最佳答案

    所以,一直以来,答案都是直接调用Sys.getenv()。在 get_bucket()

    get_bucket(s3BucketName,
    "AWS_ACCESS_KEY_ID" = Sys.getenv("AWS_ACCESS_KEY_ID"),
    "AWS_SECRET_ACCESS_KEY" = Sys.getenv("AWS_SECRET_ACCESS_KEY")


    这可以调用我在主目录中的 .Renviron 。我认为在我之前的尝试中,我要么 a) 没有正确调用 Sys.getenv()或忘记正确解决它。

    关于r - 如何在模块化 Shiny 应用程序中连接 AWS S3 凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57891608/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com