para resolver los problemas que surjan con el uso de Media Services.
.
En este artículo se muestra cómo crear un recurso de Media Services. Usará un recurso para almacenar el contenido multimedia de la codificación y el streaming. Para más información sobre los recursos de Media Services, lea Recursos en Azure Media Services v3.
Use los métodos siguientes para crear un recurso de Media Services.
La creación de recursos en el portal es tan sencilla como cargar un archivo.
Cargar vídeos
Debe tener una cuenta de Media Services, una cuenta de almacenamiento y un punto de conexión de streaming predeterminado.
- Vaya a la cuenta de Media Services con la que quiere trabajar.
- Seleccione Recursos. Los recursos son los contenedores que se usan para hospedar el contenido multimedia.
- Seleccione Cargar. Aparecerá la pantalla Cargar nuevos recursos.
- Seleccione la cuenta de almacenamiento que creó para la cuenta de Media Services en el menú desplegable Cuenta de almacenamiento. Debería estar seleccionada de manera predeterminada.
- Seleccione el icono de carpeta de archivos junto al campo Cargar archivos.
- Seleccione los archivos multimedia que desea usar. Se creará un recurso para cada vídeo que cargue. El nombre del recurso comenzará por el nombre del vídeo y se anexará con un identificador único. Puede cargar el mismo vídeo dos veces y se ubicará en dos recursos diferentes.
- Debe aceptar la instrucción "Tengo todos los derechos para usar el contenido o archivo y acepto que se controlará según los Términos de los Servicios en Línea y la declaración de privacidad de Microsoft". Seleccione Aceptar y cargar.
- Seleccione Continuar carga y cerrar o Cerrar si desea ver el progreso de la carga del vídeo.
- Repita este proceso para cada uno de los archivos que desea transmitir.
Creación de un recurso
az ams asset create -a <amsAccountName> -g <resourceGroupName> -n <myAsset>
Para más información sobre este comando, consulte la referencia de la CLI.
Uso de REST
Creación de un recurso con REST
Consulte la API REST para crear un recurso.
Uso de cURL
El siguiente comando de Azure crea un nuevo recurso de Media Services. Reemplace los valores subscriptionID
, resourceGroup
y amsAccountName
por los valores con los que esté trabajando actualmente. Asigne un nombre al recurso; para ello, establezca assetName
aquí.
curl -X PUT 'https://management.azure.com/subscriptions/00000000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.Media/mediaServices/amsAccountName/assets/myOutputAsset?api-version=2018-07-01' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"properties": {"description": "",}}'
Creación de un recurso con .NET
El siguiente comando de Azure .NET crea un nuevo recurso de Media Services. Reemplace los valores subscriptionID
, resourceGroup
y amsAccountName
por los valores con los que esté trabajando actualmente. Asigne un nombre al recurso; para ello, establezca assetName
aquí.
private static async Task<Asset> CreateInputAssetAsync(
IAzureMediaServicesClient client,
string resourceGroupName,
string accountName,
string assetName,
string fileToUpload)
{
// In this example, we are assuming that the asset name is unique.
//
// If you already have an asset with the desired name, use the Assets.Get method
// to get the existing asset. In Media Services v3, the Get method on entities returns null
// if the entity doesn't exist (a case-insensitive check on the name).
// Call Media Services API to create an Asset.
// This method creates a container in storage for the Asset.
// The files (blobs) associated with the asset will be stored in this container.
Asset asset = await client.Assets.CreateOrUpdateAsync(resourceGroupName, accountName, assetName, new Asset());
// Use Media Services API to get back a response that contains
// SAS URL for the Asset container into which to upload blobs.
// That is where you would specify read-write permissions
// and the exparation time for the SAS URL.
var response = await client.Assets.ListContainerSasAsync(
resourceGroupName,
accountName,
assetName,
permissions: AssetContainerPermission.ReadWrite,
expiryTime: DateTime.UtcNow.AddHours(4).ToUniversalTime());
var sasUri = new Uri(response.AssetContainerSasUrls.First());
// Use Storage API to get a reference to the Asset container
// that was created by calling Asset's CreateOrUpdate method.
BlobContainerClient container = new BlobContainerClient(sasUri);
BlobClient blob = container.GetBlobClient(Path.GetFileName(fileToUpload));
// Use Strorage API to upload the file into the container in storage.
await blob.UploadAsync(fileToUpload);
return asset;
}
Creación de un recurso con Python
Las funciones de los fragmentos de código de Python suponen que:
- Ha importado los módulos necesarios. Es posible que no necesite todos los módulos que se muestran aquí. Si el código siguiente no usa el módulo, puede omitirlo.
- Ha creado y editado un archivo .env que contiene los valores de autenticación. Puede obtener un archivo sample.env de los ejemplos de Python de Media Services.
- Ha leído y creado instancias de variables de entorno mediante load_env() como se indica a continuación. En función de lo que esté haciendo, es posible que necesite o no algunas de las variables.
- Ha creado un cliente Media Services como se indica a continuación.
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.mgmt.media import AzureMediaServices
from azure.mgmt.media.models import (Asset)
import os
#Get environment variables
load_dotenv()
subscriptionId = os.getenv("SUBSCRIPTIONID")
accountName=os.getenv("ACCOUNTNAME")
resourceGroupName=os.getenv("RESOURCEGROUP")
clientId = os.getenv("AZURE_CLIENT_ID")
storageAccountName=os.getenv("STORAGEACCOUNTNAME")
# Create the Media Services client and authenticate using the DefaultAzureCredential
default_credential = DefaultAzureCredential()
client = AzureMediaServices(default_credential, subscriptionId)
#Create an Asset object
#From SDK
# Asset(*, alternate_id: Optional[str] = None, description: Optional[str] = None, container: Optional[str] = None,
# storage_account_name: Optional[str] = None, **kwargs)
assetName = "MyAsset"
assetObj = Asset(alternate_id="myAlternateId",description="My description")
#From SDK
#create_or_update(resource_group_name: str, account_name: str, asset_name: str, parameters: "_models.Asset", **kwargs: Any) -> _models.Asset
def createAsset(account_name, resource_group_name, asset_name,asset):
thisAsset = client.assets.create_or_update(account_name, resource_group_name, asset_name,asset)
createAsset(resourceGroupName,accountName,assetName,assetObj)