我计划使用 Windows Azure 存储来保存 Rails 应用程序中的 blob 数据。
我在网上搜索了一个合适的解决方案,并找到了一个名为 waz-storage
的 gem。
conn = WAZ::Storage::Base.built_connection(:account_name => account_name, :access_key => access_key)
我尝试使用上面的 block 来建立连接,这部分执行成功。但是当我使用如下命令时
WAZ::Blobs::Container.find('测试容器')
它失败并显示403 Forbidden
,我实际上使用的是从我的 Windows Azure 存储帐户获取的帐户名和访问 key 。
我在这方面做错了什么?或者如果有更好的解决方案在azure中存储blob,请提出建议。
最佳答案
我在 waz-storage gem issues list 中找到了解决方案。
首先,“找到”您要使用的容器(如果您愿意,也可以创建一个容器):
container = WAZ::Blobs::Container.find('name_of_container')
然后,试试这个:
open('/absolute_path_to_the_file_you_are_uploading', 'rb') do |f|
container.store('name_of_blob', f.read, 'file_type/extension')
end
这对我来说非常有效。祝你好运!
关于ruby-on-rails - 使用 Rails (waz-storage gem) 将文件存储在 Windows Azure 存储中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15698564/