In this article:
Create or update an Asset
Creates or updates an Asset in the Media Services account
PUT https://{{api-endpoint}}/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}?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. |
api-version |
query | True | string | The version of the API to be used with the client request. |
Request Body
| Name | Type | Description |
|---|---|---|
| properties.alternateId | string | The alternate ID of the Asset. |
| properties.container | string | The name of the asset blob container. |
| properties.description | string | The Asset description. |
| properties.storageAccountName | string | The name of the storage account. |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK | Asset | OK |
| 201 Created | Asset | Created |
| Other Status Codes | ErrorResponse | Detailed error information. |
Examples
Create an Asset
| Technology | Sample request |
|---|---|
| HTTP |
PUT https://{{apiEndpoint}}/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosorg/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountLogan?api-version={{api-version}}
{
"properties": {
"description": "A documentary showing the ascent of Mount Logan",
"storageAccountName": "storage0"
}
}
|
| Java |
/**
* Samples for Assets CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/mediaservices/resource-manager/Microsoft.Media/Metadata/stable/2022-08-01/examples/assets-create.
* json
*/
/**
* Sample code: Create an Asset.
*
* @param manager Entry point to MediaServicesManager.
*/
public static void createAnAsset(com.azure.resourcemanager.mediaservices.MediaServicesManager manager) {
manager.assets().define("ClimbingMountLogan").withExistingMediaService("contosorg", "contosomedia")
.withDescription("A documentary showing the ascent of Mount Logan").withStorageAccountName("storage0")
.create();
}
}
|
| Python |
from azure.identity import DefaultAzureCredential
from azure.mgmt.media import AzureMediaServices
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-media
# USAGE
python assetscreate.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.assets.create_or_update(
resource_group_name="contoso",
account_name="contosomedia",
asset_name="ClimbingMountLogan",
parameters={
"properties": {
"description": "A documentary showing the ascent of Mount Logan",
"storageAccountName": "storage0",
}
},
)
print(response)
# x-ms-original-file: specification/mediaservices/resource-manager/Microsoft.Media/Metadata/stable/2022-08-01/examples/assets-create.json
if __name__ == "__main__":
main()
To use the SDK library in your project, see this documentation. |
| JavaScript |
const { AzureMediaServices } = require("@azure/arm-mediaservices");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates an Asset in the Media Services account
*
* @summary Creates or updates an Asset in the Media Services account
* x-ms-original-file: specification/mediaservices/resource-manager/Microsoft.Media/Metadata/stable/2022-08-01/examples/assets-create.json
*/
async function createAnAsset() {
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 = "ClimbingMountLogan";
const parameters = {
description: "A documentary showing the ascent of Mount Logan",
storageAccountName: "storage0",
};
const credential = new DefaultAzureCredential();
const client = new AzureMediaServices(credential, subscriptionId);
const result = await client.assets.createOrUpdate(
resourceGroupName,
accountName,
assetName,
parameters
);
console.log(result);
}
To use the SDK library in your project, see this documentation. |
| .NET |
using System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Media;
// Generated from example definition: specification/mediaservices/resource-manager/Microsoft.Media/Metadata/stable/2022-08-01/examples/assets-create.json
// this example is just showing the usage of "Assets_CreateOrUpdate" 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 MediaServicesAccountResource created on azure
// for more information of creating MediaServicesAccountResource, please refer to the document of MediaServicesAccountResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "contoso";
string accountName = "contosomedia";
ResourceIdentifier mediaServicesAccountResourceId = MediaServicesAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
MediaServicesAccountResource mediaServicesAccount = client.GetMediaServicesAccountResource(mediaServicesAccountResourceId);
// get the collection of this MediaAssetResource
MediaAssetCollection collection = mediaServicesAccount.GetMediaAssets();
// invoke the operation
string assetName = "ClimbingMountLogan";
MediaAssetData data = new MediaAssetData()
{
Description = "A documentary showing the ascent of Mount Logan",
StorageAccountName = "storage0",
};
ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, assetName, data);
MediaAssetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
MediaAssetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
|
Sample response
Status code: 201
{
"name": "ClimbingMountLogan",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosorg/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountLogan",
"type": "Microsoft.Media/mediaservices/assets",
"properties": {
"assetId": "09194258-36ba-4403-abb3-68780e6bc545",
"created": "2018-08-08T18:29:26.08Z",
"lastModified": "2018-08-08T18:29:26.08Z",
"description": "A documentary showing the ascent of Mount Logan",
"container": "asset-09194258-36ba-4403-abb3-68780e6bc545",
"storageAccountName": "storage0",
"storageEncryptionFormat": "None"
}
}
Status code: 200
{
"name": "ClimbingMountLogan",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosorg/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountLogan",
"type": "Microsoft.Media/mediaservices/assets",
"properties": {
"assetId": "09194258-36ba-4403-abb3-68780e6bc545",
"created": "2018-08-08T18:29:26.08Z",
"lastModified": "2018-08-08T18:29:26.107Z",
"description": "A documentary showing the ascent of Mount Logan",
"container": "asset-09194258-36ba-4403-abb3-68780e6bc545",
"storageAccountName": "storage0",
"storageEncryptionFormat": "None"
}
}
Definitions
| Name | Description |
|---|---|
| Asset | An Asset. |
| AssetStorageEncryptionFormat | The Asset encryption format. One of None or MediaStorageEncryption. |
| createdByType | The type of identity that created the resource. |
| ErrorAdditionalInfo | The resource management error additional info. |
| ErrorDetail | The error detail. |
| ErrorResponse | Error response |
| systemData | Metadata pertaining to creation and last modification of the resource. |
Asset
| Name | Type | Description |
|---|---|---|
| id | string |
Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/
|
| name | string | The name of the resource. |
| properties.alternateId | string | The alternate ID of the Asset. |
| properties.assetId | string | The Asset ID. |
| properties.container | string | The name of the asset blob container. |
| properties.created | string | The creation date of the Asset. |
| properties.description | string | The Asset description. |
| properties.lastModified | string | The last modified date of the Asset. |
| properties.storageAccountName | string | The name of the storage account. |
| properties.storageEncryptionFormat | The Asset encryption format. One of None or MediaStorageEncryption. | |
| systemData | systemData | The system metadata relating to this resource. |
| type | string | The type of the resource, e.g., "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". |
AssetStorageEncryptionFormat
The Asset encryption format. One of None or MediaStorageEncryption.
| Name | Type | Description |
|---|---|---|
| MediaStorageClientEncryption | string | The Asset is encrypted with Media Services client-side encryption. |
| None | string | The Asset does not use client-side storage encryption (this is the only allowed value for new Assets). |
createdByType
The type of identity that created the resource.
| Name | Type |
|---|---|
| Application | string |
| Key | string |
| ManagedIdentity | string |
| User | string |
ErrorAdditionalInfo
The resource management error additional info.
| Name | Type | Description |
|---|---|---|
| info | object | The additional info. |
| type | string | The additional info type. |
ErrorDetail
| Name | Type | Description |
|---|---|---|
| additionalInfo | ErrorAdditionalInfo | The error additional info. |
| code | string | The error code. |
| details | ErrorDetail | The error details. |
| message | string | The error message. |
| target | string | The error target. |
ErrorResponse
| Name | Type | Description |
|---|---|---|
| error | ErrorDetail | The error object. |
systemData
Metadata pertaining to creation and last modification of the resource.
| Name | Type | Description |
|---|---|---|
| createdAt | string | The timestamp of resource creation (UTC). |
| createdBy | string | The identity that created the resource. |
| createdByType | createdByType | The type of identity that created the resource. |
| lastModifiedAt | string | The timestamp of resource last modification (UTC). |
| lastModifiedBy | string | The identity that last modified the resource. |
| lastModifiedByType | createdByType | The type of identity that last modified the resource. |