步驟 3 - 設定以移轉至 V3 REST API 或用戶端 SDK
重要
不再需要從 Azure 媒體服務 v2 移轉至 v3,因為 V2 API 的淘汰會與淘汰 Azure 媒體服務一致。 如需詳細資訊,請參閱 Azure 媒體服務淘汰指南 。
下列說明設定環境以使用媒體服務 V3 API 應採取的步驟。
SDK 模型
在 V2 API 中,有兩個不同的用戶端 SDK,一個用於管理 API,其以程式設計方式建立帳戶,另一個用戶端 SDK 則用於資源管理。
開發人員先前使用 Azure 服務主體用戶端識別碼和用戶端密碼,以及其 AMS 帳戶的特定 V2 REST API 端點。
V3 API 以 AZURE 資源管理 (ARM) 為基礎。 V3 API 使用 Azure Active Directory (Azure AD) 服務主體識別碼和金鑰來連線到 API。 開發人員將必須建立服務主體或受控身分識別,才能連線到 API。 在 V3 API 中,API 會使用標準 ARM 端點、使用與其他所有 Azure 服務類似且一致的模型。
先前使用 2015 年 10 月 1 日版本的 ARM 管理 API 來管理其 V2 帳戶的客戶,應該使用 2020 年 5 月 1 日 (或更新版本) 的 ARM 管理 API 版本,以存取 V3 API 支援。
在入口網站中尋找您的 租用戶和訂 用帳戶標識碼,並 建立媒體服務帳戶。 然後,選取 [API 存取和服務主體驗證],以產生新的 Azure AD 應用程式識別碼和秘密,以搭配此測試帳戶使用。
建立媒體服務帳戶。
取得認證以存取媒體服務 API。
下載您選擇的用戶端 SDK,並設定您的環境
注意
V3 上的 Azure 媒體服務已不再提供社群 PHP SDK。 如果您在 V2 上使用 PHP,您應該直接在您的程式碼中移轉至 REST API。
Open API 規格
V3 以統一的 API 表面為基礎,公開建置於 Azure Resource Manager 上的管理和操作功能。 Azure Resource Manager 範本可用於建立及部署轉換、串流端點、即時事件等等。
OpenAPI 規格 (先前稱為 Swagger) 文件說明所有服務元件的結構描述。
所有用戶端 SDK 都是從 GitHub 上發佈的 Open API 規格衍生和產生。 發佈本文時,GitHub 會公開維護最新的 Open API 規格。 2020 年 5 月 1 日的版本是最新的穩定發行版本。
請參閱使用 .NET 連線至媒體服務 v3 API 一文,以設定您的環境。
如果您只想使用 PackageManager 安裝最新的 SDK,請使用下列命令:
Install-Package Microsoft.Azure.Management.Media
或者,若要使用 .NET CLI 安裝最新的 SDK,請使用下列命令:
dotnet add package Microsoft.Azure.Management.Media
此外,Azure-Samples/media-services-v3-dotnet 中提供完整的 .NET 範例,適用於各種案例。 此存放庫中的專案示範如何使用 v3 版本實作不同的 Azure 媒體服務案例。
開始調整您的程式碼
搜尋程式碼基礎映像來取得 CloudMediaContext
使用方式的執行個體,以開始升級至 V3 API 的流程。
下列程式碼示範 v2 API 先前如何使用 v2 .NET SDK 進行存取。 開發人員會從建立 CloudMediaContext
和建立具有 AzureAdTokenCredentials
物件的執行個體開始著手。
class Program
{
// Read values from the App.config file.
private static readonly string _AADTenantDomain =
ConfigurationManager.AppSettings["AMSAADTenantDomain"];
private static readonly string _RESTAPIEndpoint =
ConfigurationManager.AppSettings["AMSRESTAPIEndpoint"];
private static readonly string _AMSClientId =
ConfigurationManager.AppSettings["AMSClientId"];
private static readonly string _AMSClientSecret =
ConfigurationManager.AppSettings["AMSClientSecret"];
private static CloudMediaContext _context = null;
static void Main(string[] args)
{
try
{
AzureAdTokenCredentials tokenCredentials =
new AzureAdTokenCredentials(_AADTenantDomain,
new AzureAdClientSymmetricKey(_AMSClientId, _AMSClientSecret),
AzureEnvironments.AzureCloudEnvironment);
var tokenProvider = new AzureAdTokenProvider(tokenCredentials);
_context = new CloudMediaContext(new Uri(_RESTAPIEndpoint), tokenProvider);
取得說明及支援
您可以連絡媒體服務並詢問問題,或依照下列其中一種方法追蹤我們的更新: