Как я могу (программно) получить максимально допустимый размер BLOB-объекта Azure?

Есть ли способ программным способом получить максимальный разрешенный размер для большого двоичного объекта Azure? Также для блока в блобе?


person Mirel Vlad    schedule 22.05.2017    source источник


Ответы (3)


Я не знаю способа запросить максимальный размер по запросу, но я считаю, что значение, которое вы ищете, хранится как константа в SDK .net. Constants.MaxBlobSize и Constants.MaxBlockSize в пространстве имен Microsoft.WindowsAzure.Storage.Shared.Protocol будут интересующими вас значениями.

/// <summary>
/// The maximum size of a blob with blocks.
/// </summary>
public const long MaxBlobSize = MaxBlockNumber * MaxBlockSize;

Если MaxBlockSize

/// <summary>
/// The maximum size of a single block for Block Blobs.
/// </summary>
public const int MaxBlockSize = (int)(100 * Constants.MB);

Источник (Constants.cs)

person Brunner    schedule 22.05.2017

Взято из https://docs.microsoft.com/en-us/azure/storage/storage-dotnet-how-to-use-blobs#writing-to-an-append-blob

Каждый блок в добавляемом большом двоичном объекте может иметь разный размер, максимум до 4 МБ, а добавляемый большой двоичный объект может включать не более 50 000 блоков. Таким образом, максимальный размер добавляемого большого двоичного объекта составляет немногим более 195 ГБ (4 МБ X 50 000 блоков).

person Svek    schedule 22.05.2017
comment
Это верно для добавления больших двоичных объектов, для обычных больших двоичных объектов это 50 000 X 100 МБ согласно github.com/Microsoft/azure-docs/blob/master/includes/ (и код в Constants.cs) - person Brunner; 22.05.2017
comment
@Brunner Спасибо за замечание. - person Svek; 22.05.2017
comment
Все еще не ответил на вопрос. Мне нужно получить их программно (желательно без разбора содержимого HTML). - person Mirel Vlad; 22.05.2017

Есть ли способ программным способом получить максимально допустимый размер большого двоичного объекта Azure? Также для блока в блобе?

На сегодняшний день нет. Программного способа получения этой информации нет. Однако эта информация хорошо опубликована здесь, и он не меняется очень часто. Я считаю, что с 2008 года размер изменился только один раз, и это касается блочных блобов.

Вот ограничения на сегодняшний день:

Блокировать большие двоичные объекты

Максимальный размер: 4,75 ТБ (при использовании версии службы 2016-05-31 или выше)

Максимальный размер: 195 ГБ (если вы используете версию службы до 31 мая 2016 г.)

Максимальный размер блока: 100 МБ (если вы используете версию службы 2016-05-31 или выше)

Максимальный размер блока: 4 МБ (если вы используете версию службы до 31 мая 2016 г.)

Максимальное количество блоков: 50000

Страничные BLOB-объекты

Максимальный размер: 1 ТБ

Добавить большие двоичные объекты

Максимальный размер: 195 ГБ

Максимальный размер блока: 4 МБ

Максимальное количество блоков: 50000

person Gaurav Mantri    schedule 22.05.2017
comment
Я знаю об этом. Мне просто было интересно, есть ли способ получить код. - person Mirel Vlad; 22.05.2017
comment
Ответ - нет :). - person Gaurav Mantri; 22.05.2017
comment
Да, проверьте правильный ответ. Спасибо, в любом случае! - person Mirel Vlad; 22.05.2017
comment
Для всех практических намерений и целей это будет работать, но факт остается фактом: это жестко запрограммировано в SDK. Нет API для получения этой информации (и, следовательно, моего комментария). Поэтому, если группа службы хранилища Azure изменит это ограничение (что случается не очень часто), вам нужно будет убедиться, что вы используете правильный SDK. - person Gaurav Mantri; 22.05.2017