快速入門:建立和管理通訊服務資源

藉由布建您的第一個通訊服務資源,開始使用 Azure 通訊服務。 通訊服務資源可以透過 Azure 入口網站 或 .NET 管理 SDK 布建。 管理 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 通訊 CLI

必要條件

請注意,如果您打算使用電話號碼,則無法使用免費試用帳戶。 如果您打算在建立資源之前購買電話號碼, 請檢查您的訂用帳戶是否符合所有需求

安裝 SDK

首先,在您的 C# 專案中包含通訊服務管理 SDK:

using Azure.ResourceManager.Communication;

訂用帳戶識別碼

您必須知道 Azure 訂用帳戶的識別碼。 這可以從入口網站取得:

  1. 登入您的 Azure 帳戶
  2. 選取左側提要欄位中的 [訂用帳戶]
  3. 選取所需的訂用帳戶
  4. 按兩下 [概觀]
  5. 選取您的訂用帳戶標識碼

在本快速入門中,我們將假設您已將訂用帳戶標識碼儲存在名為 AZURE_SUBSCRIPTION_ID的環境變數中。

驗證

若要與 Azure 通訊服務 通訊,您必須先向 Azure 驗證自己。 您通常會使用服務主體身分識別來執行此動作。

選項 1:受控識別

如果您的程式代碼在 Azure 中以服務的形式執行,最簡單的驗證方式就是從 Azure 取得受控識別。 深入了解受控識別

支援受控識別的 Azure 服務

如何使用 App Service 和 Azure Functions 的受控身分識別

系統指派的受控識別

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 ID 中建立及管理服務主體。

建立服務主體之後,您必須從 Azure 入口網站 收集下列相關信息:

  • 用戶端識別碼
  • 用戶端祕密
  • 租用戶識別碼

將這些值分別儲存在名為 AZURE_CLIENT_IDAZURE_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 入口網站Azure Resource Manager SDK 來執行此動作。

建立和管理通訊服務資源

我們的通訊服務管理 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

存取您的 連接字串和服務端點

連線 ion 字串可讓通訊服務 SDK 連線並驗證至 Azure。 您可以從 Azure 入口網站 存取通訊服務 連接字串 和服務端點,或使用 Azure Resource Manager API 以程式設計方式存取。

流覽至您的通訊服務資源之後,請從導覽功能表中選取 [金鑰],然後複製通訊服務 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.configweb.config 檔案中。 將連接字串新增至這些檔案中的 AppSettings 區段。
  • 在 Azure App 服務 中執行的應用程式可以將 連接字串 儲存在 App Service 應用程式設定。 將 連接字串 新增至入口網站內 [應用程式 設定] 索引卷標的 [連線 ion Strings] 區段。
  • 您可以將 連接字串 儲存在 Azure 金鑰保存庫
  • 如果您在本機執行應用程式,您可能會想要將 連接字串 儲存在環境變數中。

將 連接字串 儲存在環境變數中

若要設定環境變數,請開啟控制台視窗,然後從下列索引標籤中選取您的作業系統。 將 <yourconnectionstring> 用實際的連接字串取代。

開啟主控台視窗,然後輸入下列命令:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<yourConnectionString>"

新增環境變數之後,您可能需要重新啟動讀取環境變數的任何執行中程式,包括主控台視窗。 例如,如果您使用 Visual Studio 作為編輯器,請在執行範例前重新啟動 Visual Studio。

清除資源

如果您想要清除並移除通訊服務訂用帳戶,您可以刪除資源或資源群組。 您可以執行下列命令來刪除通訊資源。

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

刪除資源群組 也會刪除與其相關聯的任何其他資源。

如果您在刪除資源時指派給資源的任何電話號碼,則電話號碼會自動從您的資源釋出。

注意

資源刪除是 永久 的,而且如果您刪除資源,則不會有任何數據,包括事件方格篩選、電話號碼或其他系結至資源的數據。

下一步

在本快速入門中,您已瞭解如何:

  • 建立通訊服務資源
  • 設定資源地理位置和標籤
  • 存取該資源的金鑰
  • 刪除資源