Cuando estamos desarrollando, un método que no podemos olvidar es uno que elimine todos los assets, locators, jobs y políticas de acceso que se hayan acumulado después de realizar numerosas pruebas. Lo cierto es que es muy sencillo, ya que solamente debemos recorrer cada uno de los listados y eliminar el contenido de ellos a través del método Delete de cada uno de los objetos (también disponemos de DeleteAsync):
[csharp]using Microsoft.WindowsAzure.MediaServices.Client;
using System;
using System.Configuration;
namespace CleanAMSAccount
{
class Program
{
static void Main(string[] args)
{
var context = new CloudMediaContext(ConfigurationManager.AppSettings["AccountName"], ConfigurationManager.AppSettings["AccountKey"]);
Console.WriteLine("Removing programs");
foreach (var program in context.Programs)
{
if (program.State != ProgramState.Stopped)
program.Stop();
program.Delete();
}
Console.WriteLine("Removing channels");
foreach (var channel in context.Channels)
{
if (channel.State != ChannelState.Stopped)
channel.Stop();
channel.Delete();
}
Console.WriteLine("Removing streaming units");
foreach (var endpoint in context.StreamingEndpoints)
{
if (endpoint.State != StreamingEndpointState.Scaling && endpoint.ScaleUnits > 0)
endpoint.Scale(0);
}
Console.WriteLine("Removing encoding units");
foreach (var endpoint in context.EncodingReservedUnits)
{
endpoint.CurrentReservedUnits = 0;
endpoint.Update();
}
Console.WriteLine("Removing channels");
foreach (var channel in context.Channels)
{
channel.Stop();
channel.Delete();
}
Console.WriteLine("Cleaning jobs");
foreach (var job in context.Jobs)
{
job.Delete();
}
Console.WriteLine("Cleaning locators");
foreach (var locator in context.Locators)
{
locator.Delete();
}
Console.WriteLine("Cleaning access policies");
foreach (var accessPolicy in context.AccessPolicies)
{
accessPolicy.Delete();
}
Console.WriteLine("Cleaning assets");
foreach (var asset in context.Assets)
{
asset.Delete();
}
Console.WriteLine("Done!");
Console.ReadLine();
}
}
}
[/csharp]
Espero que sea de utilidad.
¡Saludos!
