Краткое руководство. Создание ресурсов Служб коммуникации и управление ими

Приступите к работе со Службами коммуникации Azure, подготовив первый ресурс Служб коммуникации Azure. Ресурсы служб коммуникации можно подготовить к работе с помощью портала Microsoft Azure или с помощью клиентской библиотеки управления .NET. Пакет SDK для управления и портал Azure позволяют создавать, настраивать, обновлять и удалять ресурсы и интерфейс с Azure Resource Manager, службой развертывания и управления Azure. Все функции, доступные в пакетах SDK, доступны в портал Azure.

Предупреждение

Обратите внимание, что невозможно создать группу ресурсов одновременно с ресурсом для Службы коммуникации Azure. При создании ресурса необходимо использовать группу ресурсов, созданную уже.

Необходимые компоненты

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

Создание ресурса Служб коммуникации Azure

Чтобы создать ресурс Служб коммуникации Azure, сначала войдите на портал Azure. Выберите + Создать ресурс в левом верхнем углу страницы.

Снимок экрана страницы портала Azure, на которой выделена кнопка

Введите коммуникации в поле Поиск в Marketplace или в строке поиска в верхней части портала.

Снимок экрана, на котором показан поиск Служб коммуникации в строке поиска.

В результатах выберите Службы коммуникации, а затем нажмите Создать.

Снимок экрана с панелью

Теперь можно настроить ресурс Служб коммуникации. На первой странице процесса создания вам будет предложено указать следующее:

  • Подписка
  • Группа ресурсов (можно создать новую или выбрать существующую группу ресурсов)
  • Имя ресурса Служб коммуникации
  • Географический регион, с которым будет связан ресурс

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

Наконец, можно проверить конфигурацию и создать ресурс. Обратите внимание, что развертывание займет несколько минут.

Управление ресурсом Служб коммуникации

Для управления ресурсом Служб коммуникации перейдите на портал Azure, а затем найдите и выберите Службы коммуникации Azure.

На странице Службы коммуникации выберите имя ресурса.

На странице Обзор ресурса можно выполнять базовые задачи управления: просмотр, завершение работы, запуск, перезагрузку и удаление. Дополнительные параметры конфигурации можно найти на странице ресурса в меню слева.

Необходимые компоненты

Если вы планируете использовать номера телефонов, вы не можете использовать бесплатную пробную учетную запись. Убедитесь, что ваша подписка соответствует всем требованиям, если вы планируете приобрести номера телефонов перед созданием ресурса.

Создание ресурса Служб коммуникации Azure

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

az communication create --name "<acsResourceName>" --location "Global" --data-location "United States" --resource-group "<resourceGroup>"

Если вы хотите выбрать определенную подписку, можно также указать флаг и указать --subscription идентификатор подписки.

az communication create --name "<acsResourceName>" --location "Global" --data-location "United States" --resource-group "<resourceGroup> --subscription "<subscriptionId>"

Теперь можно настроить ресурс Служб коммуникации с помощью следующих параметров:

  • Группа ресурсов
  • Имя ресурса Служб коммуникации
  • Географический регион, с которым будет связан ресурс

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

Управление ресурсом Служб коммуникации

Чтобы добавить теги в ресурс Служб коммуникации, выполните следующие команды: Вы также можете ориентироваться на конкретную подписку.

az communication update --name "<communicationName>" --tags newTag="newVal1" --resource-group "<resourceGroup>"

az communication update --name "<communicationName>" --tags newTag="newVal2" --resource-group "<resourceGroup>" --subscription "<subscriptionId>"

az communication show --name "<communicationName>" --resource-group "<resourceGroup>"

az communication show --name "<communicationName>" --resource-group "<resourceGroup>" --subscription "<subscriptionId>"

Дополнительные сведения о других командах см. в azure Communication CLI.

Необходимые компоненты

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

Установка пакета SDK

Во-первых, добавьте пакет SDK для управления Служб коммуникации в проект C#:

using Azure.ResourceManager.Communication;

ИД подписки

Вам потребуется идентификатор подписки Azure. Его можно получить на портале:

  1. Войдите в учетную запись Azure.
  2. Выберите "Подписки" на левой боковой панели.
  3. Выберите нужную подписку.
  4. Щелкните "Обзор".
  5. Выберите "Идентификатор подписки".

В этом кратком руководстве предполагается, что вы сохранили идентификатор подписки в переменной среды AZURE_SUBSCRIPTION_ID.

Проверка подлинности

Для взаимодействия со Службами коммуникации Azure необходимо сначала пройти проверку подлинности в Azure. Обычно для этого можно использовать удостоверение субъекта-службы.

Вариант 1. Управляемое удостоверение

Если код выполняется в качестве службы в Azure, самый простой способ пройти проверку подлинности — получить управляемое удостоверение Azure. Дополнительные сведения об управляемых удостоверениях.

Службы Azure с поддержкой управляемых удостоверений

Использование управляемых удостоверений в Службе приложений и Функциях Azure

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

using Azure.Identity;
using Azure.ResourceManager.Communication;
using Azure.ResourceManager.Communication.Models;
using System;
...
var subscriptionId = "AZURE_SUBSCRIPTION_ID";
var acsClient = new CommunicationManagementClient(subscriptionId, new ManagedIdentityCredential());

Управляемое удостоверение, назначаемое пользователем

ClientId созданного управляемого удостоверения должен быть явно передан ManagedIdentityCredential.

using Azure.Identity;
using Azure.ResourceManager.Communication;
using Azure.ResourceManager.Communication.Models;
using System;
...
var subscriptionId = "AZURE_SUBSCRIPTION_ID";
var managedIdentityCredential = new ManagedIdentityCredential("AZURE_CLIENT_ID");
var acsClient = new CommunicationManagementClient(subscriptionId, managedIdentityCredential);

Вариант 2. Субъект-служба

Вместо применения управляемого удостоверения проверку подлинности в Azure можно пройти, используя субъект-службу, которым вы самостоятельно управляете. Узнайте больше об использовании документации по созданию субъекта-службы и управлению ими в идентификаторе Microsoft Entra.

После создания субъекта-службы необходимо собрать следующие сведения о нем на портале Azure.

  • Идентификатор клиента
  • Секрет клиента
  • Идентификатор клиента

Сохраните эти значения в переменных среды AZURE_CLIENT_ID, AZURE_CLIENT_SECRET и AZURE_TENANT_ID соответственно. Затем вы можете создать клиент управления Служб коммуникации следующим образом.

using Azure.Identity;
using Azure.ResourceManager.Communication;
using Azure.ResourceManager.Communication.Models;
using System;
...
var subscriptionId = Environment.GetEnvironmentVariable("AZURE_SUBSCRIPTION_ID");
var acsClient = new CommunicationManagementClient(subscriptionId, new EnvironmentCredential());

Вариант 3. Удостоверение пользователя

Если вместо использования удостоверения службы вы хотите вызвать Azure от имени интерактивного пользователя, можно применить следующий код и создать клиент управления Служб коммуникации Azure. Откроется окно браузера для запроса пользователем учетных данных MSA или Microsoft Entra.

using Azure.Identity;
using Azure.ResourceManager.Communication;
using Azure.ResourceManager.Communication.Models;
using System;
...
var subscriptionId = Environment.GetEnvironmentVariable("AZURE_SUBSCRIPTION_ID");
var communicationServiceClient = new CommunicationManagementClient(subscriptionId, new InteractiveBrowserCredential());

Управление ресурсами Служб коммуникации

Взаимодействие с ресурсами Azure

После проверки подлинности можно использовать клиент управления для вызова API.

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

Если вам необходимо создать группу ресурсов, можете использовать портал Azure или пакет SDK для Azure Resource Manager.

Создание ресурсов Служб коммуникации Azure и управление ими

Для выполнения операций с ресурсами Служб коммуникации можно использовать экземпляр клиента пакета SDK для управления Служб коммуникации (Azure.ResourceManager.Communication.CommunicationManagementClient).

создать ресурс Служб коммуникации;

При создании ресурса Служб коммуникации необходимо указать имя группы ресурсов и имя ресурса. Обратите внимание, что значение свойства Location всегда будет global, а во время общедоступной предварительной версии значение DataLocation должно быть UnitedStates.

var resourceGroupName = "myResourceGroupName";
var resourceName = "myResource";
var resource = new CommunicationServiceResource { Location = "Global", DataLocation = "UnitedStates"  };
var operation = await acsClient.CommunicationService.StartCreateOrUpdateAsync(resourceGroupName, resourceName, resource);
await operation.WaitForCompletionAsync();

Обновление ресурса Служб коммуникации

...
var resourceGroupName = "myResourceGroupName";
var resourceName = "myResource";
var resource = new CommunicationServiceResource { Location = "Global", DataLocation = "UnitedStates" };
resource.Tags.Add("environment","test");
resource.Tags.Add("department","tech");
// Use existing resource name and new resource object
var operation = await acsClient.CommunicationService.StartCreateOrUpdateAsync(resourceGroupName, resourceName, resource);
await operation.WaitForCompletionAsync();

Список всех ресурсов Служб коммуникации

var resources = acsClient.CommunicationService.ListBySubscription();
foreach (var resource in resources)
{
    Console.WriteLine(resource.Name);
}

Удаление ресурса Служб коммуникации

var resourceGroupName = "myResourceGroupName";
var resourceName = "myResource";
await acsClient.CommunicationService.StartDeleteAsync(resourceGroupName, resourceName);

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

Каждый ресурс Служб коммуникации имеет пару ключей доступа и соответствующие строки подключения. Доступ к этим ключам можно получить с помощью пакета SDK управления. Затем их можно использовать в других пакетах SDK Служб коммуникации для проверки подлинности в Службах коммуникации Azure.

Получение ключей доступа для ресурса Служб коммуникации

var resourceGroupName = "myResourceGroupName";
var resourceName = "myResource";
var keys = await acsClient.CommunicationService.ListKeysAsync(resourceGroupName, resourceName);

Console.WriteLine(keys.Value.PrimaryConnectionString);
Console.WriteLine(keys.Value.SecondaryConnectionString);

Повторное создание ключа доступа для ресурса Служб коммуникации

var resourceGroupName = "myResourceGroupName";
var resourceName = "myResource";
var keyParams = new RegenerateKeyParameters { KeyType = KeyType.Primary };
var keys = await acsClient.CommunicationService.RegenerateKeyAsync(resourceGroupName, resourceName, keyParams);

Console.WriteLine(keys.Value.PrimaryKey);

Необходимые компоненты

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

Создание ресурса Служб коммуникации Azure

Чтобы создать ресурс Служб коммуникации Azure, войдите в Azure CLI. Это можно сделать с помощью терминала, используя команду Connect-AzAccount и указав учетные данные.

Сначала необходимо установить модуль Служб коммуникации Azure Az.Communication с помощью следующей команды.

PS C:\> Install-Module Az.Communication

Выполните следующую команду для создания рабочей области.

PS C:\> New-AzCommunicationService -ResourceGroupName ContosoResourceProvider1 -Name ContosoAcsResource1 -DataLocation UnitedStates -Location Global

Если вы хотите выбрать конкретную подписку, можно также указать флаг --subscription и указать идентификатор подписки.

PS C:\> New-AzCommunicationService -ResourceGroupName ContosoResourceProvider1 -Name ContosoAcsResource1 -DataLocation UnitedStates -Location Global -SubscriptionId SubscriptionID

Теперь можно настроить ресурс Служб коммуникации с помощью следующих параметров:

  • Группа ресурсов
  • Имя ресурса Служб коммуникации
  • Географический регион, с которым будет связан ресурс

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

Управление ресурсом Служб коммуникации

Чтобы добавить теги в ресурс Служб коммуникации, выполните следующие команды: Вы также можете ориентироваться на конкретную подписку.

PS C:\> Update-AzCommunicationService -Name ContosoAcsResource1 -ResourceGroupName ContosoResourceProvider1 -Tag @{ExampleKey1="ExampleValue1"}

PS C:\> Update-AzCommunicationService -Name ContosoAcsResource1 -ResourceGroupName ContosoResourceProvider1 -Tag @{ExampleKey1="ExampleValue1"} -SubscriptionId SubscriptionID

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

PS C:\> Get-AzCommunicationService -SubscriptionId SubscriptionID

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

PS C:\> Get-AzCommunicationService -Name ContosoAcsResource1 -ResourceGroupName ContosoResourceProvider1

Доступ к строкам подключения и конечным точкам службы

Строки подключения позволяют пакетам SDK Служб коммуникации Azure подключаться к Azure и проходить проверку подлинности. Вы можете получить доступ к строкам подключения Служб коммуникации Azure и конечным точкам службы с портала Azure или же программным способом с помощью API Azure Resource Manager.

Перейдя к ресурсу Служб коммуникации, выберите Ключи в меню навигации и скопируйте значения строки подключения или конечной точки, чтобы использовать их в пакетах SDK Служб коммуникации. У вас есть доступ к первичным и вторичным ключам. Это может быть полезно, если вы хотите предоставить временный доступ к ресурсам служб коммуникации в сторонней или промежуточной среде.

Снимок экрана со страницей

Доступ к строка подключения и конечным точкам служб с помощью Azure CLI

Вы также можете получить доступ к основным сведениям, например информации о группе ресурсов или ключах для определенного ресурса, с помощью Azure CLI.

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

az login

Теперь у вас есть доступ к главной информации о ресурсах.

az communication list --resource-group "<resourceGroup>"

az communication list-key --name "<acsResourceName>" --resource-group "<resourceGroup>"

Если вы хотите выбрать определенную подписку, можно также указать флаг и указать --subscription идентификатор подписки.

az communication list --resource-group  "<resourceGroup>"  --subscription "<subscriptionId>"

az communication list-key --name "<acsResourceName>" --resource-group "<resourceGroup>" --subscription "<subscriptionId>"

Сохранение строки подключения

Пакеты SDK Служб коммуникации используют строки подключения для авторизации запросов, выполняемых в этих службах. Есть несколько вариантов для хранения строки подключения.

  • Приложение, работающее на настольном компьютере или на устройстве, может хранить строку подключения в файле app.config или web.config. Добавьте строку подключения в раздел AppSettings в этих файлах.
  • Приложение, работающее в Службе приложений Azure, может хранить строку подключения в параметрах приложения Службы приложений Azure. На портале добавьте строку подключения в раздел Строки подключения на вкладке "Параметры приложения".
  • Строку подключения можно хранить в Azure Key Vault.
  • Если приложение выполняется локально, может потребоваться сохранить строку подключения в переменной среды.

Сохранение строки подключения в переменной среды

Чтобы настроить переменную среды, откройте окно консоли и выберите операционную систему на следующих вкладках. Замените <yourconnectionstring> фактической строкой подключения.

Откройте окно консоли и введите следующую команду:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<yourConnectionString>"

После добавления переменной среды может потребоваться перезапустить все запущенные программы, которые считывают переменную среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.

Очистка ресурсов

Если вы хотите отменить и удалить подписку на Службы коммуникации, можно удалить ресурс или группу ресурсов. Вы можете удалить ресурс связи, выполнив следующую команду.

az communication delete --name "acsResourceName" --resource-group "resourceGroup"

При удалении группы ресурсов также удаляются все другие ресурсы, связанные с ним.

Если у вас есть номера телефонов, назначенные ресурсу при удалении ресурсов, номера телефонов автоматически освобождаются из ресурса одновременно.

Примечание.

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

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

Из этого руководства вы узнали, как выполнить следующие действия:

  • создать ресурс Служб коммуникации;
  • настроить географию и теги ресурсов;
  • получить доступ к ключам для этого ресурса.
  • Удаление ресурса