快速入門:建立和管理通訊服務資源
藉由布建您的第一個通訊服務資源,開始使用 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。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- 適用於您作業系統的最新版本 .NET Core SDK 。
- 取得最新版的 .NET Identity SDK。
- 取得最新版的 .NET 管理 SDK。
請注意,如果您打算使用電話號碼,則無法使用免費試用帳戶。 如果您打算在建立資源之前購買電話號碼, 請檢查您的訂用帳戶是否符合所有需求 。
安裝 SDK
首先,在您的 C# 專案中包含通訊服務管理 SDK:
using Azure.ResourceManager.Communication;
訂用帳戶識別碼
您必須知道 Azure 訂用帳戶的識別碼。 這可以從入口網站取得:
- 登入您的 Azure 帳戶
- 選取左側提要欄位中的 [訂用帳戶]
- 選取所需的訂用帳戶
- 按兩下 [概觀]
- 選取您的訂用帳戶標識碼
在本快速入門中,我們將假設您已將訂用帳戶標識碼儲存在名為 AZURE_SUBSCRIPTION_ID
的環境變數中。
驗證
若要與 Azure 通訊服務 通訊,您必須先向 Azure 驗證自己。 您通常會使用服務主體身分識別來執行此動作。
選項 1:受控識別
如果您的程式代碼在 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_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 入口網站 或 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 Az PowerShell 模組
請注意,如果您打算使用電話號碼,則無法使用免費試用帳戶。 如果您打算在建立資源之前購買電話號碼, 請檢查您的訂用帳戶是否符合所有需求 。
建立 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.config 或 web.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"
刪除資源群組 也會刪除與其相關聯的任何其他資源。
如果您在刪除資源時指派給資源的任何電話號碼,則電話號碼會自動從您的資源釋出。
注意
資源刪除是 永久 的,而且如果您刪除資源,則不會有任何數據,包括事件方格篩選、電話號碼或其他系結至資源的數據。
下一步
在本快速入門中,您已瞭解如何:
- 建立通訊服務資源
- 設定資源地理位置和標籤
- 存取該資源的金鑰
- 刪除資源