【问题标题】:Azure SDK Ruby Set Container ACLAzure SDK Ruby 设置容器 ACL
【发布时间】:2017-02-26 04:58:18
【问题描述】:
我在我的 Rails 应用程序中使用https://github.com/Azure/azure-sdk-for-ruby。我需要设置容器策略,但我不知道如何为 set_container_acl 方法创建签名标识符实例。
cmets 说要传入一个“Azure::Entity::SignedIdentifier 实例”数组,但是当我尝试创建一个实例时,我得到“未初始化的常量 Azure::Storage::Entity”。搜遍网络/文档找不到任何关于它的内容。
【问题讨论】:
标签:
ruby-on-rails
ruby
azure
【解决方案1】:
在 azure gem 文件中挖掘之后,我能够在服务目录中找到一个签名的标识符文件。由于某种原因,它没有加载 azure,所以你必须要求它。
require 'azure'
require 'azure/service/signed_identifier'
def some_method
# Some code here. Create blobs instance.
# blobs = Azure::Blob::BlobService.new
sas = Azure::Service::SignedIdentifier.new
sas.id = identifier
policy = sas.access_policy
policy.start = (Time.now - 5 * 60).utc.iso8601
policy.expiry = (Time.now + 1.years).utc.iso8601
policy.permission = "r"
identifiers = [sas]
options = { timeout: 60, signed_identifiers: identifiers }
container, signed = blobs.set_container_acl(container_name, "", options)
end