【问题标题】:Access or send a local file to Heroku访问或发送本地文件到 Heroku
【发布时间】:2014-03-18 19:23:18
【问题描述】:

我有一个本地 .csv 文件,其中包含更新的用户数据,我想在生产环境中运行一个简单的一次性脚本(在 Heroku、Rails 4 应用程序上)。它是开源的,所以我不能只在 repo 中包含文件而不暴露数据。我希望能够从 CLI 中做到这一点,但似乎无法弄清楚。

可能有更好的解决方案,但我一直在尝试将文件的内容(不是很大)设置为 Heroku 上的环境变量,但没有成功。我的 Bash 技能很弱...

$ heroku config:set MY_CSV=<./my_local_csv_path.csv

没有用——它不会设置任何东西。 (运行$ heroku config 显示环境变量为空白——MY_CSV:)。

有没有更好的方法让 Heroku 上的脚本可以访问这个 .csv 文件?我怀疑这与仅从 Heroku 控制台访问本地文件系统类似的问题。

【问题讨论】:

  • 为什么不能直接上传文件?我不确定开源与它有什么关系。
  • @mipadi 我假设您的意思是将文件包含在存储库中,在这种情况下敏感的用户数据将被暴露。是否有另一种方法可以将文件上传到 Heroku 而不将其包含在 repo 中?
  • 如果敏感数据上传到 Heroku,为什么不把它放在 repo 中会提高安全性?
  • 您可以随时将其上传到 S3 或其他在线存储。
  • 这需要自动化到什么程度?假设您确实是指一次,那么在 Heroku 上启动 Rails 控制台似乎是显而易见且简单的解决方案。在某处上传 CSV,运行您的工作(从网络中提取 CSV),删除 CSV。完毕。或者,调整您的脚本,使 MY_CSV 成为一个 URL,并让脚本抓取它。

标签: ruby-on-rails bash heroku


【解决方案1】:

我刚刚做了类似于您正在做的事情,用户上传 CSV 以在我的应用中进行处理。我也在heroku上托管。看看...

http://railscasts.com/episodes/396-importing-csv-and-excel

基本上让您的模型为您进行处理,这样您就不必在 heroku 上存储任何文件。

【讨论】:

  • 我只想访问该文件一次(作为管理员,而不是用户)以更新一些由于愚蠢错误而失去对齐的用户数据,因此构建该功能将是矫枉过正。
猜你喜欢
  • 2018-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
相关资源
最近更新 更多