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


Подключение к Azurite с помощью пакетов SDK и средств

Вы можете подключиться к Azurite из пакетов SDK службы хранилища Azure или таких средств, как Обозреватель службы хранилища Azure. Требуется проверка подлинности, а Azurite поддерживает авторизацию с помощью OAuth, общего ключа и подписанных URL-адресов (SAS). Azurite также поддерживает анонимный доступ к общедоступным контейнерам.

В этой статье описывается, как подключиться к эмулятору Azurite с помощью пакетов SDK и средств службы хранилища Azure. Сведения об установке и запуске Azurite см. в разделе "Установка и запуск Azurite". Дополнительные сведения об использовании Azurite с пакетами SDK Azure см. в статье о пакетах SDK Azure.

Подключение приложений или инструментов к Azurite

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

Использование известной учетной записи хранения и ключа

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

  • Имя учетной записи: devstoreaccount1
  • Ключ учетной записи: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==

Использование пользовательских учетных записей хранения и ключей

Azurite поддерживает пользовательские имена и ключи учетных записей хранения, задав AZURITE_ACCOUNTS переменную среды в следующем формате: account1:key1[:key2];account2:key1[:key2];...

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

set AZURITE_ACCOUNTS="account1:key1"
export AZURITE_ACCOUNTS="account1:key1"

Замечание

Ключи учетной записи должны быть строкой в кодировке Base64.

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

set AZURITE_ACCOUNTS="account1:key1:key2;account2:key1:key2"
export AZURITE_ACCOUNTS="account1:key1:key2;account2:key1:key2"

Azurite обновляет имена и ключи пользовательских учетных записей из переменной среды каждую минуту по умолчанию. С помощью этой функции можно динамически повернуть ключ учетной записи или добавить новые учетные записи хранения без перезапуска Azurite.

Замечание

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

Ключи учетной записи должны быть строкой в кодировке Base64.

Использование строк подключения

Самый простой способ подключения к Azurite из приложения — настроить строку подключения в файле конфигурации приложения, который ссылается на ярлык UseDevelopmentStorage=true. Ниже приведен пример строки подключения в файлеapp.config :

<appSettings>
  <add key="StorageConnectionString" value="UseDevelopmentStorage=true" />
</appSettings>
Строки http-подключения

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

Полная строка подключения:

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;

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

Чтобы подключиться только к хранилищу BLOB-объектов, строка подключения :

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;

Строки подключения HTTPS

Полная строка подключения HTTPS:

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=https://127.0.0.1:10001/devstoreaccount1;TableEndpoint=https://127.0.0.1:10002/devstoreaccount1;

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

Чтобы использовать только службу BLOB-объектов, строка подключения HTTPS:

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;

Если вы использовали dotnet dev-certs для создания самозаверяющего сертификата, используйте следующую строку подключения.

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://localhost:10000/devstoreaccount1;QueueEndpoint=https://localhost:10001/devstoreaccount1;TableEndpoint=https://localhost:10002/devstoreaccount1;

Обновите строку подключения при использовании пользовательских учетных записей хранения и ключей.

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

Подключение с помощью пакетов SDK Azure

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

  • Включите проверку подлинности OAuth для Azurite с помощью коммутатора --oauth . Дополнительные сведения см. в разделе конфигурации OAuth.
  • Включите ПРОТОКОЛ HTTPS с помощью самозаверяющего сертификата с помощью --cert параметров и --key/--pwd параметров. Дополнительные сведения о создании сертификатов см. в статье о настройке сертификата (HTTPS) и настройке HTTPS.

После размещения сертификатов запустите Azurite со следующими параметрами командной строки:

azurite --oauth basic --cert cert-name.pem --key cert-name-key.pem

Замените и certname-key.pem на имена cert-name.pem файлов сертификатов и ключей. Если вы используете PFX-сертификат, используйте --pwd этот параметр вместо --key параметра.

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

В следующих примерах показано, как авторизовать BlobContainerClient объект с помощью трех различных механизмов авторизации: DefaultAzureCredential, строки подключения и общего ключа. DefaultAzureCredential предоставляет механизм проверки подлинности на основе маркеров носителя и использует цепочку типов учетных данных, используемых для проверки подлинности. После проверки подлинности эти учетные данные предоставляют маркер OAuth в рамках создания экземпляра клиента. Дополнительные сведения см. в справочнике по классу DefaultAzureCredential.

// With container URL and DefaultAzureCredential
var client = new BlobContainerClient(
    new Uri("https://127.0.0.1:10000/devstoreaccount1/container-name"), new DefaultAzureCredential()
  );

// With connection string
var client = new BlobContainerClient(
    "DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;", "container-name"
  );

// With account name and key
var client = new BlobContainerClient(
    new Uri("https://127.0.0.1:10000/devstoreaccount1/container-name"),
    new StorageSharedKeyCredential("devstoreaccount1", "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==")
  );

Подключение обозревателя службы хранилища Azure

Обозреватель службы хранилища можно использовать для просмотра данных, хранящихся в Azurite, с помощью протоколов HTTP или HTTPS.

Подключение к Azurite с помощью HTTP

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

  1. Щелкните значок "Управление учетными записями"
  2. Выберите "Добавить учетную запись"
  3. Выберите "Подключиться к локальному эмулятору"
  4. Выберите "Далее"
  5. Измените поле отображаемого имени в нужное имя.
  6. Снова нажмите кнопку "Далее"
  7. Выберите "Подключиться"

Подключение к Azurite с помощью HTTPS

По умолчанию обозреватель службы хранилища не открывает конечную точку HTTPS, использующую самозаверяющий сертификат. Если вы используете Azurite с HTTPS, скорее всего, вы используете самозаверяющий сертификат. В обозревателе службы хранилища импортируйте SSL-сертификаты с помощью диалогового окна "Изменить>SSL-сертификаты ->импорт сертификатов".

Импорт сертификата в обозреватель службы хранилища

  1. Найдите сертификат на локальном компьютере.
  2. В обозревателе службы хранилища перейдите к разделу "Изменить>SSL-сертификаты ->импорт сертификатов" и импортируйте сертификат.

Если сертификат не импортирован, вы получите сообщение об ошибке:

unable to verify the first certificate или self signed certificate in chain

Добавление Azurite через строку подключения HTTPS

Выполните следующие действия, чтобы добавить Azurite HTTPS в обозреватель службы хранилища:

  1. Выбор переключателя обозревателя
  2. Выбор "Локальный" и "Присоединено"
  3. Щелкните правой кнопкой мыши учетные записи хранения и выберите "Подключиться к службе хранилища Azure".
  4. Выберите "Использовать строку подключения"
  5. Нажмите кнопку Далее.
  6. Введите значение в поле отображаемого имени .
  7. Введите строку подключения HTTPS из предыдущего раздела этого документа
  8. Выберите "Далее"
  9. Выберите "Подключиться"

Дальнейшие шаги