Начало работы со средствами разработки хранилища Azure Stack Hub

Microsoft Azure Stack Hub предоставляет набор служб хранилища, включая хранилище BLOB-объектов, таблиц и очередей.

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

Примечание

Существуют различия между хранилищем Azure Stack Hub и службой хранилища Azure, включая некоторые особые требования для каждой платформы. Например, для Azure Stack Hub существуют определенные клиентские библиотеки и требования к суффиксу конечной точки. Дополнительные сведения см. в статье Хранилище Azure Stack Hub: различия и рекомендации.

Клиентские библиотеки Azure

Для клиентских библиотек хранилища вам необходимо знать версию, совместимую с REST API. Необходимо также указать конечную точку Azure Stack Hub в коде.

Обновление 2301 и более поздней версии

Клиентская библиотека Поддерживаемая версия Azure Stack Hub Ссылка Спецификация конечной точки
.NET Общие сведения: 12.9.0
Blob: 12.10.0
Очередь: 12.8.0
Пакет NuGet:
Общая версия: https://www.nuget.org/packages/Azure.Storage.common/12.9.0
Большой двоичный объект: https://www.nuget.org/packages/Azure.Storage.Blobs/12.10.0
Очередь: https://www.nuget.org/packages/Azure.Storage.queues/12.8.0

Выпуск GitHub:
Общая версия: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.9.0/sdk/storage/Azure.Storage.Common
Большой двоичный объект: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.10.0/sdk/storage/Azure.Storage.Blobs
Очередь: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.8.0/sdk/storage/Azure.Storage.Queues
Файл app.config
Java Общие сведения: 12.12.0
Blob: 12.14.3
Очередь: 12.11.3
Пакет Maven
Общая версия: https://mvnrepository.com/artifact/com.azure/azure-storage-common/12.12.0
Большой двоичный объект: https://mvnrepository.com/artifact/com.azure/azure-storage-blob/12.14.3
Очередь: https://mvnrepository.com/artifact/com.azure/azure-storage-queue/12.11.3

Выпуск GitHub:
Общая версия: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-common_12.12.0/sdk/storage/azure-storage-common
Большой двоичный объект: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-blob_12.14.3/sdk/storage/azure-storage-blob
Очередь: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-queue_12.11.3/sdk/storage/azure-storage-queue
Настройка строки подключения
Node.js 2.8.3 Ссылка на NPM:
https://www.npmjs.com/package/azure-storage
(Запуск: npm install azure-storage@2.8.3)

Выпуск GitHub:
https://github.com/Azure/azure-storage-node/releases/tag/v2.8.3
Объявление экземпляра службы
C++ Blob: 12.2.0
Очередь: 12.0.0
Выпуск GitHub:
Большой двоичный объект: https://github.com/Azure/azure-sdk-for-cpp/tree/azure-storage-blobs_12.2.0
Очередь: https://github.com/Azure/azure-sdk-for-cpp/tree/azure-storage-queues_12.0.0
Настройка строки подключения
PHP 1.2.0 Выпуск GitHub:
Общая версия: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-common
Большой двоичный объект: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-blob
Очередь:
https://github.com/Azure/azure-storage-php/releases/tag/v1.1.1-queue
Таблица: https://github.com/Azure/azure-storage-php/releases/tag/v1.1.0-table

Установка с помощью Composer (дополнительные сведения см. ниже).)
Настройка строки подключения
Python Blob: 12.9.0
Очередь: 12.1.6
Выпуск GitHub:
Большой двоичный объект:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-blob_12.9.0/sdk/storage/azure-storage-blob
Очередь:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-queue_12.1.6/sdk/storage/azure-storage-queue
Объявление экземпляра службы
Ruby 1.0.1 Пакет RubyGems:
Общая версия:
https://rubygems.org/gems/azure-storage-common/versions/1.0.1
Большой двоичный объект: https://rubygems.org/gems/azure-storage-blob/versions/1.0.1
Очередь: https://rubygems.org/gems/azure-storage-queue/versions/1.0.1
Таблица: https://rubygems.org/gems/azure-storage-table/versions/1.0.1

Выпуск GitHub:
Общая версия: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-common
Большой двоичный объект: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-blob
Очередь: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-queue
Таблица: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-table
Настройка строки подключения

Примечание

В старой версии клиентской библиотеки .NET и Java существует уязвимость с высоким уровнем серьезности из-за зависимостей от уязвимой версии пакета Jackson. Настоятельно рекомендуется использовать последнюю поддерживаемую версию .NET и клиентская библиотека Java, чтобы избежать проблем с безопасностью.

Установка клиента PHP через компоновщик — текущая версия

Для установки через компоновщик сделайте следующее (возьмите для примера большой двоичный объект).

  1. Создайте файл с именем composer.json в корне проекта со следующим кодом:

    {
      "require": {
      "Microsoft/azure-storage-blob":"1.2.0"
      }
    }
    
  2. Скачайте файл composer.phar в корневой каталог проекта.

  3. Выполните команду php composer.phar install.

Указание версии API

Использование новой клиентской библиотеки .NET (общая версия: 12.9.0/ BLOB-объект: v12.10.0 / Очередь: v12.8.0) и клиентской библиотеки Java (общая версия: 12.12) 0 / Blob: v12.13.0 / Queue: v12.10.0), необходимо явно указать serviceVersion в каждом клиентском классе (включая BlobServiceClient, BlobContainerClient, BlobClient, QueueServiceClient и QueueClient), так как версия по умолчанию в классе клиента в настоящее время не поддерживается Azure Stack Hub.

Примеры

.NET
BlobClientOptions options = new BlobClientOptions(BlobClientOptions.ServiceVersion.V2019_07_07);
BlobServiceClient client = new BlobServiceClient("<connection_string>", options);
Java
BlobServiceVersion version = BlobServiceVersion.V2019_07_07; 
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
    .endpoint("<your_endpoint>")
    .sasToken("<your_SAS_token>")
    .serviceVersion(version)
    .buildClient();

Обновление 2008 г. и более новые

Клиентская библиотека Поддерживаемая версия Azure Stack Hub Ссылка Спецификация конечной точки
.NET Общие сведения: 12.9.0
Blob: 12.10.0
Очередь: 12.8.0
Пакет NuGet:
Общая версия: https://www.nuget.org/packages/Azure.Storage.common/12.9.0
Большой двоичный объект: https://www.nuget.org/packages/Azure.Storage.Blobs/12.10.0
Очередь: https://www.nuget.org/packages/Azure.Storage.queues/12.8.0

Выпуск GitHub:
Общая версия: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.9.0/sdk/storage/Azure.Storage.Common
Большой двоичный объект: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.10.0/sdk/storage/Azure.Storage.Blobs
Очередь: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.8.0/sdk/storage/Azure.Storage.Queues
Файл app.config
Java Общие сведения: 12.12.0
Blob: 12.13.0
Очередь: 12.10.0
Пакет Maven
Общая версия: https://mvnrepository.com/artifact/com.azure/azure-storage-common/12.12.0
Большой двоичный объект: https://mvnrepository.com/artifact/com.azure/azure-storage-blob/12.13.0
Очередь: https://mvnrepository.com/artifact/com.azure/azure-storage-queue/12.10.0

Выпуск GitHub:
Общая версия: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-common_12.12.0/sdk/storage/azure-storage-common
Большой двоичный объект: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-blob_12.13.0/sdk/storage/azure-storage-blob
Очередь: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-queue_12.10.0/sdk/storage/azure-storage-queue
Настройка строки подключения
Node.js 2.8.3 Ссылка на NPM:
https://www.npmjs.com/package/azure-storage
(Запуск: npm install azure-storage@2.8.3)

Выпуск GitHub:
https://github.com/Azure/azure-storage-node/releases/tag/v2.8.3
Объявление экземпляра службы
C++ 7.2.0 Выпуск GitHub:
https://github.com/Azure/azure-storage-cpp/releases/tag/v7.2.0
Настройка строки подключения
PHP 1.2.0 Выпуск GitHub:
Общая версия: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-common
Большой двоичный объект: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-blob
Очередь:
https://github.com/Azure/azure-storage-php/releases/tag/v1.1.1-queue
Таблица: https://github.com/Azure/azure-storage-php/releases/tag/v1.1.0-table

Установка с помощью Composer (дополнительные сведения см. ниже).)
Настройка строки подключения
Python Blob: 12.3.1
Очередь: 12.1.6
Выпуск GitHub:
Большой двоичный объект:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-blob_12.3.1/sdk/storage/azure-storage-blob
Очередь:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-queue_12.1.6/sdk/storage/azure-storage-queue
Объявление экземпляра службы
Ruby 1.0.1 Пакет RubyGems:
Общая версия:
https://rubygems.org/gems/azure-storage-common/versions/1.0.1
Большой двоичный объект: https://rubygems.org/gems/azure-storage-blob/versions/1.0.1
Очередь: https://rubygems.org/gems/azure-storage-queue/versions/1.0.1
Таблица: https://rubygems.org/gems/azure-storage-table/versions/1.0.1

Выпуск GitHub:
Общая версия: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-common
Большой двоичный объект: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-blob
Очередь: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-queue
Таблица: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-table
Настройка строки подключения

Установка клиента PHP через компоновщик — текущая версия

Для установки через компоновщик сделайте следующее (возьмите для примера большой двоичный объект).

  1. Создайте файл с именем composer.json в корне проекта со следующим кодом:

    {
      "require": {
      "Microsoft/azure-storage-blob":"1.2.0"
      }
    }
    
  2. Скачайте файл composer.phar в корневой каталог проекта.

  3. Выполните команду php composer.phar install.

Указание версии API

Использование новой клиентской библиотеки .NET (общая версия: 12.9.0/ BLOB-объект: v12.10.0 / Очередь: v12.8.0) и клиентской библиотеки Java (общая версия: 12.12) 0 / Blob: v12.13.0 / Queue: v12.10.0), необходимо явно указать serviceVersion в каждом клиентском классе (включая BlobServiceClient, BlobContainerClient, BlobClient, QueueServiceClient и QueueClient), так как версия по умолчанию в классе клиента в настоящее время не поддерживается Azure Stack Hub.

Примеры

.NET
BlobClientOptions options = new BlobClientOptions(BlobClientOptions.ServiceVersion.V2019_07_07);
BlobServiceClient client = new BlobServiceClient("<connection_string>", options);
Java
BlobServiceVersion version = BlobServiceVersion.V2019_07_07; 
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
    .endpoint("<your_endpoint>")
    .sasToken("<your_SAS_token>")
    .serviceVersion(version)
    .buildClient();

Обновление 2005 г.

Клиентская библиотека Поддерживаемая версия Azure Stack Hub Ссылка Спецификация конечной точки
.NET 11.0.0 Пакет NuGet:
Общая версия: https://www.nuget.org/packages/Microsoft.Azure.Storage.Common/11.0.0
Большой двоичный объект: https://www.nuget.org/packages/Microsoft.Azure.Storage.Blob/11.0.0
Очередь:
https://www.nuget.org/packages/Microsoft.Azure.Storage.Queue/11.0.0

Выпуск GitHub:
https://github.com/Azure/azure-storage-net/releases/tag/v11.0.0
Файл app.config
Java 12.0.0-preview.3 Пакет Maven
https://mvnrepository.com/artifact/com.azure/azure-storage-blob/12.0.0-preview.3

Выпуск GitHub:
https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/storage
Настройка строки подключения
Node.js 2.8.3 Ссылка на NPM:
https://www.npmjs.com/package/azure-storage
(Запуск: npm install azure-storage@2.8.3)

Выпуск GitHub:
https://github.com/Azure/azure-storage-node/releases/tag/v2.8.3
Объявление экземпляра службы
C++ 7.1.0 Выпуск GitHub:
https://github.com/Azure/azure-storage-cpp/releases/tag/v7.1.0
Настройка строки подключения
PHP 1.2.0 Выпуск GitHub:
Общая версия: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-common
Большой двоичный объект: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-blob
Очередь:
https://github.com/Azure/azure-storage-php/releases/tag/v1.1.1-queue
Таблица: https://github.com/Azure/azure-storage-php/releases/tag/v1.1.0-table

Установите с помощью Composer (дополнительные сведения см. ниже.)
Настройка строки подключения
Python 2.1.0 Выпуск GitHub:
Общая версия:
https://github.com/Azure/azure-storage-python/releases/tag/v2.1.0-common
Большой двоичный объект:
https://github.com/Azure/azure-storage-python/releases/tag/v2.1.0-blob
Очередь:
https://github.com/Azure/azure-storage-python/releases/tag/v2.1.0-queue
Объявление экземпляра службы
Ruby 1.0.1 Пакет RubyGems:
Общая версия:
https://rubygems.org/gems/azure-storage-common/versions/1.0.1
Большой двоичный объект: https://rubygems.org/gems/azure-storage-blob/versions/1.0.1
Очередь: https://rubygems.org/gems/azure-storage-queue/versions/1.0.1
Таблица: https://rubygems.org/gems/azure-storage-table/versions/1.0.1

Выпуск GitHub:
Общая версия: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-common
Большой двоичный объект: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-blob
Очередь: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-queue
Таблица: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-table
Настройка строки подключения

Установка клиента PHP через компоновщик — текущая версия

Для установки через компоновщик сделайте следующее (возьмите для примера большой двоичный объект).

  1. Создайте файл с именем composer.json в корне проекта со следующим кодом:

    {
      "require": {
      "Microsoft/azure-storage-blob":"1.2.0"
      }
    }
    
  2. Скачайте файл composer.phar в корневой каталог проекта.

  3. Выполните команду php composer.phar install.

Объявление конечной точки

Конечная точка Azure Stack Hub содержит две части: имя региона и домен Azure Stack Hub. В Пакете средств разработки Azure Stack конечной точкой по умолчанию является local.azurestack.external. Если у вас нет сведений о своей конечной точке, обратитесь к администратору облака.

Примеры

.NET

Для Azure Stack Hub суффикс конечной точки указан в файле app.config:

<add key="StorageConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;
EndpointSuffix=local.azurestack.external;" />

Java

Для Azure Stack Hub суффикс конечной точки указывается в настройке строки подключения:

public static final String storageConnectionString =
    "DefaultEndpointsProtocol=http;" +
    "AccountName=your_storage_account;" +
    "AccountKey=your_storage_account_key;" +
    "EndpointSuffix=local.azurestack.external";

Node.js

Для Azure Stack Hub суффикс конечной точки указан в экземпляре объявления:

var blobSvc = azure.createBlobService('myaccount', 'mykey',
'myaccount.blob.local.azurestack.external');

C++

Для Azure Stack Hub суффикс конечной точки указывается в настройке строки подключения:

const utility::string_t storage_connection_string(U("DefaultEndpointsProtocol=https;
AccountName=your_storage_account;
AccountKey=your_storage_account_key;
EndpointSuffix=local.azurestack.external"));

PHP

Для Azure Stack Hub суффикс конечной точки указывается в настройке строки подключения:

$connectionString = 'BlobEndpoint=https://<storage account name>.blob.local.azurestack.external/;
QueueEndpoint=https:// <storage account name>.queue.local.azurestack.external/;
TableEndpoint=https:// <storage account name>.table.local.azurestack.external/;
AccountName=<storage account name>;AccountKey=<storage account key>'

Python

Для Azure Stack Hub суффикс конечной точки указан в экземпляре объявления:

block_blob_service = BlockBlobService(account_name='myaccount',
account_key='mykey',
endpoint_suffix='local.azurestack.external')

Ruby

Для Azure Stack Hub суффикс конечной точки указывается в настройке строки подключения:

set
AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;
AccountName=myaccount;
AccountKey=mykey;
EndpointSuffix=local.azurestack.external

Хранилище BLOB-объектов

Следующие учебники по хранилищу BLOB-объектов Azure применимы к Azure Stack Hub. Обратите внимание на конкретное требование к суффиксу конечной точки для Azure Stack Hub, описанное в предыдущем разделе Примеры.

Хранилище очередей

Следующие учебники по хранилищу очередей Azure применимы к Azure Stack Hub. Обратите внимание на конкретное требование к суффиксу конечной точки для Azure Stack Hub, описанное в предыдущем разделе Примеры.

Хранилище таблиц

Следующие учебники по хранилищу таблиц Azure применимы к Azure Stack Hub. Обратите внимание на конкретное требование к суффиксу конечной точки для Azure Stack Hub, описанное в предыдущем разделе Примеры.

Дальнейшие действия