Начало работы со средствами разработки хранилища 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 и более новые версии
Примечание.
Существует высокая уязвимость в старой версии клиентской библиотеки .NET и Java из-за зависимостей от уязвимой версии пакета Джексона. Настоятельно рекомендуется использовать последнюю поддерживаемую версию клиентской библиотеки .NET и Java, чтобы избежать проблем с безопасностью.
Установка клиента PHP через компоновщик — текущая версия
Для установки через компоновщик сделайте следующее (возьмите для примера большой двоичный объект).
Создайте файл с именем composer.json в корневом каталоге проекта со следующим кодом:
{ "require": { "Microsoft/azure-storage-blob":"1.2.0" } }
Скачайте файл composer.phar в корневой каталог проекта.
Выполните команду
php composer.phar install
.
Указание версии API
Использование новой клиентской библиотеки .NET (Common: v12.9.0 / BLOB: v12.10.0 / Queue: v12.8.0) и клиентской библиотеки Java (Common: v12.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 и более новые версии
Установка клиента PHP через компоновщик — текущая версия
Для установки через компоновщик сделайте следующее (возьмите для примера большой двоичный объект).
Создайте файл с именем composer.json в корневом каталоге проекта со следующим кодом:
{ "require": { "Microsoft/azure-storage-blob":"1.2.0" } }
Скачайте файл composer.phar в корневой каталог проекта.
Выполните команду
php composer.phar install
.
Указание версии API
Использование новой клиентской библиотеки .NET (Common: v12.9.0 / BLOB: v12.10.0 / Queue: v12.8.0) и клиентской библиотеки Java (Common: v12.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
Установка клиента PHP через компоновщик — текущая версия
Для установки через компоновщик сделайте следующее (возьмите для примера большой двоичный объект).
Создайте файл с именем composer.json в корневом каталоге проекта со следующим кодом:
{ "require": { "Microsoft/azure-storage-blob":"1.2.0" } }
Скачайте файл composer.phar в корневой каталог проекта.
Выполните команду
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, описанное в предыдущем разделе Примеры.
- Приступая к работе с хранилищем BLOB-объектов Azure с помощью .NET
- Использование хранилища BLOB-объектов из Java
- Использование хранилища больших двоичных объектов из Node.js
- Использование хранилища BLOB-объектов из C++
- Использование хранилища BLOB-объектов из PHP
- Использование хранилища BLOB-объектов Azure из Python
- Использование хранилища BLOB-объектов из Ruby
Хранилище очередей
Следующие учебники по хранилищу очередей Azure применимы к Azure Stack Hub. Обратите внимание на конкретное требование к суффиксу конечной точки для Azure Stack Hub, описанное в предыдущем разделе Примеры.
- Приступая к работе с хранилищем очередей Azure с помощью .NET
- Использование хранилища очередей из Java
- Использование хранилища очередей из Node.js
- Использование хранилища очередей из C++
- Использование хранилища очередей из PHP
- Использование хранилища очередей из Python
- Использование хранилища очередей из Ruby
Хранилище таблиц
Следующие учебники по хранилищу таблиц Azure применимы к Azure Stack Hub. Обратите внимание на конкретное требование к суффиксу конечной точки для Azure Stack Hub, описанное в предыдущем разделе Примеры.
- Приступая к работе с хранилищем таблиц Azure с помощью .NET
- Использование табличного хранилища из Java
- Использование табличного хранилища Azure из Node.js
- Использование табличного хранилища из C++
- Использование табличного хранилища из PHP
- Как использовать хранилище таблиц в Python
- Использование табличного хранилища из Ruby