Есть ли рубиновый метод для поиска BLOB-объекта URI? - PullRequest
0 голосов
/ 12 февраля 2019

Я проверил весь камень azure-storage-blob и не нашел способа получить URI для блоба.Есть ли способ построить его правильно и в общем, который будет работать для любого другого большого двоичного объекта в любом регионе?

Я использовал S3 SDK раньше, и я хорошо знаком с S3, но плохо знаком с Azure.

1 Ответ

0 голосов
/ 12 февраля 2019

Существует защищенный метод с именем 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-объекта

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...