导出 (0) 打印
全部展开

更新保留单元类型和提高编码 RU

更新时间: 2015年2月

Media Services 帐户与 Reserved Unit Type 相关联,后者决定了编码作业的处理速度。你可以在以下保留单元类型之间进行选择:BasicStandardPremium。有关详细信息,请参阅编码保留单元类型

除了指定保留单元类型,你还可以指定如何通过编码保留单元 (RU) 来设置帐户。设置的编码保留单元数决定了给定帐户中可并发处理的媒体任务数。例如,如果你的帐户具有 5 个保留单元,则只要有任务要处理,就可以同时运行 5 个媒体任务。其余任务将排队等待,运行的任务完成后才选择它们以按顺序进行处理。如果帐户未设置任何保留单元,则按顺序选择任务进行处理。在这种情况下,完成一个任务和开始下一个任务之间的等待时间将取决于系统中资源的可用性。

默认情况下,每个 Media Services 帐户最多可以扩展到 25 个编码单元。若要请求更高的限制,请参阅How to request a higher limit for updatable quotas

在计算成本时,将使用针对 24 小时时间段指定的最大单元数。

以下代码示例演示如何使用 Media Services .NET SDK 更新保留单元类型或保留单元数。也可以根据如何缩放 Media Services 中所述使用 Azure 管理门户,或者根据 EncodingReservedUnitType 中所述使用 REST API。

using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using Microsoft.WindowsAzure.MediaServices.Client;

namespace UpdateEncodingReservedUnit
{
    class Program
    {
        // Read values from the App.config file.
        private static readonly string _mediaServicesAccountName =
            ConfigurationManager.AppSettings["MediaServicesAccountName"];
        private static readonly string _mediaServicesAccountKey =
            ConfigurationManager.AppSettings["MediaServicesAccountKey"];

        // Field for service context.
        private static CloudMediaContext _context = null;
        private static MediaServicesCredentials _cachedCredentials = null;
        
        static void Main(string[] args)
        {
            // Create and cache the Media Services credentials in a static class variable.
            _cachedCredentials = new MediaServicesCredentials(
                            _mediaServicesAccountName,
                            _mediaServicesAccountKey);
            // Used the chached credentials to create CloudMediaContext.
            _context = new CloudMediaContext(_cachedCredentials);


            IEncodingReservedUnit encodingBasicReservedUnit = _context.EncodingReservedUnits.FirstOrDefault();
            encodingBasicReservedUnit.ReservedUnitType = ReservedUnitType.Basic;
            encodingBasicReservedUnit.Update();
            Console.WriteLine("Reserved Unit Type: {0}", encodingBasicReservedUnit.ReservedUnitType);

            encodingBasicReservedUnit.CurrentReservedUnits = 2;
            encodingBasicReservedUnit.Update();

            Console.WriteLine("Number of reserved units: {0}", encodingBasicReservedUnit.CurrentReservedUnits);
        }
    }
}

显示:
© 2015 Microsoft