Существует защищенный метод с именем blob_uri
, который выглядит следующим образом:
def blob_uri(container_name, blob_name, query = {}, options = {})
if container_name.nil? || container_name.empty?
path = blob_name
else
path = ::File.join(container_name, blob_name)
end
options = { encode: true }.merge(options)
generate_uri(path, query, options)
end
Таким образом, вы можете использовать короткий путь:
blob_client = Azure::Storage::Blob::BlobService.create(storage_account_name: 'XXX' , storage_access_key: 'XXX')
blob_client.send(:blob_uri, container_name,blob_name)
Тем не менее, фактический URI просто:
https://[storage_account_name].blob.core.windows.net/container/[container[s]]/[blob file name]
Так что вам нужно знать имя BLOB-объекта и контейнер для доступа к BLOB-объекту.
File.join(blob_client.host,container,blob_name)
Является ли URI для BLOB-объекта