Call this API after manually modifying the .ism manifest file in the asset's storage container. This operation syncs the changes made in the manifest file to the streaming manifest used by the player.
The streaming manifest is cached for up to 2 hours, so changes may not be reflected until the cache expires.
For track CRUD operations performed through the API or direct track file edits, calling Update Track Data is not required.
POST https://{{api-endpoint}}/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}/updateTrackData?api-version={{api-version}}
URI Parameters
Name
In
Required
Type
Description
accountName
path
True
string
The Media Services account name.
assetName
path
True
string
The Asset name.
resourceGroupName
path
True
string
The name of the resource group within the Azure subscription.
subscriptionId
path
True
string
The unique identifier for a Microsoft Azure subscription.
trackName
path
True
string
The Asset Track name.
api-version
query
True
string
The version of the API to be used with the client request.
POST https://{{api-endpoint}}/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosorg/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text2/updateTrackData?api-version={{api-version}}
Java
/**
* Samples for Tracks UpdateTrackData.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/mediaservices/resource-manager/Microsoft.Media/Metadata/stable/2022-08-01/examples/asset-tracks-
* update-data.json
*/
/**
* Sample code: Update the data for a tracks.
*
* @param manager Entry point to MediaServicesManager.
*/
public static void updateTheDataForATracks(com.azure.resourcemanager.mediaservices.MediaServicesManager manager) {
manager.tracks().updateTrackData("contosorg", "contosomedia", "ClimbingMountRainer", "text2",
com.azure.core.util.Context.NONE);
}
}
Python
from azure.identity import DefaultAzureCredential
from azure.mgmt.media import AzureMediaServices
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-media
# USAGE
python assettracksupdatedata.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = AzureMediaServices(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.tracks.begin_update_track_data(
resource_group_name="contoso",
account_name="contosomedia",
asset_name="ClimbingMountRainer",
track_name="text2",
).result()
print(response)
# x-ms-original-file: specification/mediaservices/resource-manager/Microsoft.Media/Metadata/stable/2022-08-01/examples/asset-tracks-update-data.json
if __name__ == "__main__":
main()
const { AzureMediaServices } = require("@azure/arm-mediaservices");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Update the track data. Call this API after any changes are made to the track data stored in the asset container. For example, you have modified the WebVTT captions file in the Azure blob storage container for the asset, viewers will not see the new version of the captions unless this API is called. Note, the changes may not be reflected immediately. CDN cache may also need to be purged if applicable.
*
* @summary Update the track data. Call this API after any changes are made to the track data stored in the asset container. For example, you have modified the WebVTT captions file in the Azure blob storage container for the asset, viewers will not see the new version of the captions unless this API is called. Note, the changes may not be reflected immediately. CDN cache may also need to be purged if applicable.
* x-ms-original-file: specification/mediaservices/resource-manager/Microsoft.Media/Metadata/stable/2022-08-01/examples/asset-tracks-update-data.json
*/
async function updateTheDataForATracks() {
const subscriptionId =
process.env["MEDIASERVICES_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["MEDIASERVICES_RESOURCE_GROUP"] || "contoso";
const accountName = "contosomedia";
const assetName = "ClimbingMountRainer";
const trackName = "text2";
const credential = new DefaultAzureCredential();
const client = new AzureMediaServices(credential, subscriptionId);
const result = await client.tracks.beginUpdateTrackDataAndWait(
resourceGroupName,
accountName,
assetName,
trackName
);
console.log(result);
}
using System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Media;
using Azure.ResourceManager.Media.Models;
// Generated from example definition: specification/mediaservices/resource-manager/Microsoft.Media/Metadata/stable/2022-08-01/examples/asset-tracks-update-data.json
// this example is just showing the usage of "Tracks_UpdateTrackData" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this MediaAssetTrackResource created on azure
// for more information of creating MediaAssetTrackResource, please refer to the document of MediaAssetTrackResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "contoso";
string accountName = "contosomedia";
string assetName = "ClimbingMountRainer";
string trackName = "text2";
ResourceIdentifier mediaAssetTrackResourceId = MediaAssetTrackResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName, assetName, trackName);
MediaAssetTrackResource mediaAssetTrack = client.GetMediaAssetTrackResource(mediaAssetTrackResourceId);
// invoke the operation
await mediaAssetTrack.UpdateTrackDataAsync(WaitUntil.Completed);
Console.WriteLine($"Succeeded");