Установка уровня доступа BLOB-объекта

Уровень доступа BLOB-объекта можно настроить одним из следующих способов:

  • Задав уровень доступа по умолчанию (горячий или холодный) для учетной записи хранения. BLOB-объекты учетной записи наследуют этот уровень доступа, если вы не переопределяли данный параметр для отдельного BLOB-объекта.
  • Путем явной настройки уровня BLOB-объекта при отправке. Большой двоичный объект можно создать на горячем, холодном, холодном или архивном уровне.
  • Путем изменения уровня существующего большого двоичного объекта с помощью операции set BLOB-объектов. Как правило, эта операция используется для перехода с горячего уровня на более холодный.
  • Путем копирования большого двоичного объекта с помощью операции копирования BLOB-объектов. Как правило, эта операция используется для перехода с более холодного уровня на более горячий.

В этой статье описывается, как управлять большим двоичным объектом на уровне доступа через Интернет. Дополнительные сведения о том, как переместить большой двоичный объект на архивный уровень, см. в статье "Архивировать большой двоичный объект". Дополнительные сведения о том, как восстановить большой двоичный объект с архивного уровня, см. в разделе "Повторное восстановление архивного большого двоичного объекта" на онлайн-уровне.

Дополнительные сведения о уровнях доступа для больших двоичных объектов см. в разделе "Уровни доступа" для данных BLOB-объектов.

Установка уровня доступа по умолчанию для учетной записи хранения

Уровень доступа по умолчанию для учетной записи хранения общего назначения версии 2 определяет, на каком подключенном уровне по умолчанию создается новый BLOB-объект. Установить уровень доступа по умолчанию для учетной записи хранения общего назначения версии 2 можно в момент ее создания или путем обновления конфигурации существующей учетной записи.

Изменение уровня доступа по умолчанию для существующей учетной записи хранения общего назначения версии 2 применяется ко всем BLOB-объектам в этой учетной записи, для которых уровень доступа не установлен явно. Изменение уровня доступа по умолчанию может повлиять на выставление счета. Подробные сведения см. в статье о параметре уровня доступа учетной записи по умолчанию.

Чтобы задать уровень доступа по умолчанию для учетной записи хранения на этапе ее создания на портале Azure, выполните указанные ниже действия.

  1. На странице Учетные записи хранения нажмите кнопку Создать.

  2. Заполните поля на вкладке Основные сведения.

  3. На вкладке Дополнительно в группе Хранилище BLOB-объектовустановите для параметра Уровень доступа значение Горячий или Холодный. Значение по умолчанию — Горячий.

  4. Выберите Просмотр и создание, чтобы проверить настройки и создать учетную запись хранения.

    Снимок экрана: настройка уровня доступа по умолчанию при создании учетной записи хранения.

Чтобы изменить уровень доступа по умолчанию для существующей учетной записи хранения на портале Azure, выполните указанные ниже действия.

  1. Перейдите к учетной записи хранения на портале Azure.

  2. В разделе Параметры выберите пункт Конфигурация.

  3. Найдите параметр Уровень доступа BLOB-объектов (по умолчанию) и выберите вариант Горячий или Холодный. Значение по умолчанию — Горячий, если вы ранее не задавали это свойство.

  4. Сохранение изменений.

Настройка уровня BLOB-объекта при отправке

При отправке BLOB-объекта в хранилище Azure задать уровень этого BLOB-объекта можно двумя способами:

  • Вы можете явно указать уровень, на котором будет создан BLOB-объект. Этот параметр переопределит уровень доступа по умолчанию для учетной записи хранения. Вы можете задать уровень для большого двоичного объекта или набора БОЛЬШИХ двоичных объектов при отправке в горячий, холодный, холодный или архив.
  • Вы можете добавить BLOB-объект, не указывая для него уровень. В этом случае большой двоичный объект будет создан на уровне доступа по умолчанию, указанном для учетной записи хранения (горячей или холодной).

При отправке нового большого двоичного объекта с областью шифрования изменить уровень доступа для этого большого двоичного объекта нельзя.

В следующих разделах описывается, как указать, что большой двоичный объект передается на горячий или холодный уровень. Дополнительные сведения о том, как отправить BLOB-объект на архивный уровень, см. в этой статье.

Отправка BLOB-объекта на определенный подключенный уровень

Чтобы создать большой двоичный объект на горячем, холодном или холодном уровне, укажите этот уровень при создании большого двоичного объекта. Уровень доступа, заданный при отправке, переопределяет уровень доступа по умолчанию для учетной записи хранения.

Чтобы добавить BLOB-объект или набор BLOB-объектов на определенный уровень с портала Azure, выполните указанные ниже действия.

  1. Перейдите к целевому контейнеру.

  2. Нажмите кнопку Отправить.

  3. Выберите файл или файлы для отправки.

  4. Разверните раздел Дополнительно и установите для уровня доступа значение Горячий или Холодный.

  5. Нажмите кнопку Отправить.

    Снимок экрана: отправка BLOB-объектов на подключенный уровень на портале Azure.

Отправка BLOB-объекта на уровень по умолчанию

У учетных записей хранения есть уровень доступа по умолчанию, на котором создаются новые BLOB-объекты. По умолчанию можно установить горячий или холодный уровень доступа. Применение этого параметра отчасти зависит от типа учетной записи хранения.

  • Уровень доступа по умолчанию для новой учетной записи хранения общего назначения версии 2 устанавливается на горячий уровень по умолчанию. Изменить уровень доступа по умолчанию можно при создании учетной записи хранения или после этого.
  • При создании устаревшей учетной записи большого двоичного объекта служба хранилища необходимо указать параметр уровня доступа по умолчанию как горячий или холодный при создании учетной записи хранения. Изменить уровень доступа по умолчанию для учетной записи хранения можно после ее создания.

Любой BLOB-объект, которому уровень не присвоен явным образом, наследует его из параметра уровня доступа учетной записи. Выяснить, наследуется ли уровень доступа для BLOB-объектов, можно с помощью портала Azure, PowerShell или Azure CLI.

Если уровень доступа BLOB-объектов наследуется на основе параметра по умолчанию для учетной записи, на портале Azure этот уровень отображается как Горячий (наследуется) или Холодный (наследуется).

Снимок экрана: BLOB-объекты с уровнем доступа по умолчанию на портале Azure.

Перемещение BLOB-объектов на другой подключенный уровень

Большой двоичный объект можно переместить на другой подключенный уровень одним из двух способов:

  • путем изменения уровня доступа;
  • путем копирования BLOB-объекта на другой подключенный уровень.

Дополнительные сведения о каждом из этих вариантов см. в статье об установке и изменении уровня BLOB-объекта.

Переместить BLOB-объект на другой уровень можно с помощью PowerShell, Azure CLI, AzCopy v10 или одной из клиентских библиотек службы хранилища Azure.

Изменение уровня BLOB-объекта

При изменении уровня большого двоичного объекта сам этот объект и все его данные перемещаются на целевой уровень путем вызова операции Set Blob Tier (напрямую или через политику управления жизненным циклом) или с помощью команды AzCopy azcopy set-properties. Этот вариант обычно будет лучшим методом для перевода BLOB-объекта с более горячего на более холодный уровень.

Чтобы изменить уровень большого двоичного объекта на более холодный уровень в портал Azure, выполните следующие действия.

  1. Перейдите к BLOB-объекту, для которого требуется изменить уровень.

  2. Выберите BLOB-объект и нажмите кнопку Изменить уровень.

  3. В диалоговом оке Изменение уровня выберите целевой уровень.

  4. Выберите кнопку Сохранить.

    Снимок экрана: изменение уровня BLOB-объекта на портале Azure.

Копирование BLOB-объекта на другой подключенный уровень

Вызовите операцию копирования BLOB-объекта, чтобы скопировать BLOB-объект с одного уровня на другой. При копировании BLOB-объекта на другой уровень он и все его данные перемещаются на целевой уровень. Исходный BLOB-объект останется на исходном уровне, а на целевом уровне будет создан новый. Вызов большого двоичного объекта копирования рекомендуется для большинства сценариев, когда большой двоичный объект перемещается на более теплый уровень, или повторное создание большого двоичного объекта из архивного уровня.

Н/П

Массовое масштабирование

Чтобы переместить большие двоичные объекты на другой уровень в контейнере или папке, перечислите большие двоичные объекты и вызовите операцию "Задать уровень BLOB-объектов" для каждой из них. В следующем примере показано, как выполнить эту операцию:

Неприменимо

При перемещении большого количества больших двоичных объектов на другой уровень используйте пакетную операцию для оптимальной производительности. Пакетная операция отправляет в службу несколько вызовов API в одном запросе. В число субопераций, поддерживаемых операцией пакетной обработки BLOB-объектов, входят удаление BLOB-объекта и установка уровня BLOB-объекта.

Примечание.

Подоперирование уровня BLOB-объектов для операции пакетной службы BLOB-объектов еще не поддерживается в учетных записях с иерархическим пространством имен.

Чтобы изменить уровень доступа больших двоичных объектов с помощью пакетной операции, используйте одну из клиентских библиотек служба хранилища Azure. В следующем примере кода показано, как выполнить простую пакетную операцию с помощью клиентской библиотеки .NET.

static async Task BulkArchiveContainerContents(string accountName, string containerName)
{
    string containerUri = string.Format("https://{0}.blob.core.windows.net/{1}",
                                    accountName,
                                    containerName);

    // Get container client, using Azure AD credentials.
    BlobUriBuilder containerUriBuilder = new BlobUriBuilder(new Uri(containerUri));
    BlobContainerClient blobContainerClient = new BlobContainerClient(containerUriBuilder.ToUri(), 
                                                                      new DefaultAzureCredential());

    // Get URIs for blobs in this container and add to stack.
    var uris = new Stack<Uri>();
    await foreach (var item in blobContainerClient.GetBlobsAsync())
    {
        uris.Push(blobContainerClient.GetBlobClient(item.Name).Uri);
    }

    // Get the blob batch client.
    BlobBatchClient blobBatchClient = blobContainerClient.GetBlobBatchClient();

    try
    {
        // Perform the bulk operation to archive blobs.
        await blobBatchClient.SetBlobsAccessTierAsync(blobUris: uris, accessTier: AccessTier.Archive);
    }
    catch (RequestFailedException e)
    {
        Console.WriteLine(e.Message);
    }
}

Подробное описание приложения, в котором показано, как изменять уровни с помощью пакетной операции, см. в разделе AzBulkSetBlobTier.

Следующие шаги