Поделиться через


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

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

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

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

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

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

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

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

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

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

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

  3. На вкладке Дополнительно, в разделе Blob storage, установите уровень доступа на Горячий, Прохладный или Холодный. Значение по умолчанию — Горячий.

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

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

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

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

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

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

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

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

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

  • Вы можете явно указать уровень, на котором будет создан BLOB-объект. Этот параметр переопределит уровень доступа по умолчанию для учетной записи хранения. Вы можете установить уровень для объекта данных или группы объектов при загрузке: горячий, прохладный, холодный или архивный.
  • Вы можете загрузить BLOB-объект, не указывая для него уровень. В этом случае объект BLOB будет создан на уровне доступа по умолчанию, заданном для учетной записи хранения ('горячий' или 'холодный').

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

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

Загрузите BLOB-объект на конкретный онлайн-уровень.

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

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

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

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

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

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

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

    Снимок экрана, показывающий, как загрузить BLOB-объекты в онлайн-уровень на портале Azure.

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

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

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

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

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

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

Перенос BLOB на другой онлайн уровень

Объект Blob можно переместить на другой уровень хранения одним из двух способов:

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

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

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

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

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

Совет

Вы можете использовать задачу хранения для изменения уровня доступа объектов-blob в большом масштабе в нескольких учетных записях хранения на основе определенного вами набора условий. Задача хранения — это ресурс, доступный в Azure Storage Actions — бессерверной платформе, которую можно использовать для выполнения общих операций с данными для миллионов объектов в нескольких учетных записях хранения. Для получения дополнительных сведений см. Что такое действия хранилища Azure?.

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

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

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

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

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

    Снимок экрана, показывающий, как изменить уровень объекта BLOB в портале Azure

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

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

Н/П

Массовый тиеринг

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

не применимо

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

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