MK.IO
1.0.9
See the version list below for details.
dotnet add package MK.IO --version 1.0.9
NuGet\Install-Package MK.IO -Version 1.0.9
<PackageReference Include="MK.IO" Version="1.0.9" />
paket add MK.IO --version 1.0.9
#r "nuget: MK.IO, 1.0.9"
// Install MK.IO as a Cake Addin
#addin nuget:?package=MK.IO&version=1.0.9
// Install MK.IO as a Cake Tool
#tool nuget:?package=MK.IO&version=1.0.9
MK.IO Client Library
A client library for MediaKind MK/IO.
Usage (C#, .NET)
MK/IO API Token
You need the MK/IO API token mkiotoken
to connect to the API.
To do so,
- Open a web browser and log into https://io.mediakind.com (sign in with Microsoft SSO).
- Once you are logged in, open a second tab on the same browser and open this link in the new tab: https://api.io.mediakind.com/auth/token/
This should provide you with your user_id and token. Note that this token is valid for 1 year.
Another way to get the token is to use Fiddler when you connect to the MK/IO portal with your browser.
It is displayed in the header as x-mkio-token
. For example, you should see it on the second REST call to https://api.io.mediakind.com/api/ams/mkiosubscriptionname/stats/.
For more information, please read this article.
Supported operations
In the current version, operations are supported for :
- Assets
- Streaming endpoints
- Streaming locators
- Storage accounts
- Content key policies
- Transforms
- Jobs
- Live events
- Live outputs
- Asset filters
- Account filters
Sample code
using MK.IO;
using MK.IO.Models;
// **********************
// MK/IO Client creation
// **********************
var client = new MKIOClient("mkiosubscriptionname", "mkiotoken");
// get user profile info
var profile = client.Account.GetUserProfile();
// Get subscription stats
var stats = client.Account.GetSubscriptionStats();
// *****************
// asset operations
// *****************
// list assets
var mkioAssets = client.Assets.List();
// list assets with pages
var mkioAssetsResult = client.Assets.ListAsPage("name desc", 10);
do
{
mkioAssetsResult = client.Assets.ListAsPageNext(mkioAssetsResult.NextPageLink);
// do stuff
} while (mkioAssetsResult.NextPageLink != null);
// get asset
var mkasset = client.Assets.Get("mmyassetname");
// create asset
var newasset = client.Assets.CreateOrUpdate(MKIOClient.GenerateUniqueName("asset"), "asset-67c25a02-a672-40cd-a4da-dcc48b89acae", "description of asset", "storagename");
// delete asset
client.Assets.Delete(newsasset.Name);
// get streaming locators for asset
var locatorsAsset = client.Assets.ListStreamingLocators("copy-1b510ee166");
// Get tracks and directory of an asset
var tracksAndDir = client.Assets.ListTracksAndDirListing("copy-ef2058b692");
// ******************************
// Streaming endpoint operations
// ******************************
// get streaming endpoint
var mkse = client.StreamingEndpoints.Get("streamingendpoint1");
// list streaming endpoints
var mkses = client.StreamingEndpoints.List();
// create streaming endpoint
var newSe = client.StreamingEndpoints.Create("streamingendpoint2", "francecentral", new StreamingEndpointProperties
{
Description = "my description",
ScaleUnits = 0,
CdnEnabled = false,
Sku = new StreamingEndpointsCurrentSku
{
Name = "Standard",
Capacity = 600
}
});
// start, stop, delete streaming endpoint
client.StreamingEndpoints.Start("streamingendpoint1");
client.StreamingEndpoints.Stop("streamingendpoint1");
client.StreamingEndpoints.Delete("streamingendpoint2");
Additional samples are available :
- live operations
- storage operations
- transform and job operations
- account filter and asset filter operations
- content key policy and streaming locator operations
Async operations are also supported. For example :
// *****************
// asset operations
// *****************
// Retrieve assets with pages for better performances
var mkioAssetsResult = await client.Assets.ListAsPageAsync("name desc", 10);
do
{
mkioAssetsResult = await client.Assets.ListAsPageNextAsync(mkioAssetsResult.NextPageLink);
// do stuff
} while (mkioAssetsResult.NextPageLink != null);
// ******************************
// Streaming endpoint operations
// ******************************
// get streaming endpoint
var mkse = await client.StreamingEndpoints.GetAsync("streamingendpoint1");
// list streaming endpoints
var mkses = await client.StreamingEndpoints.ListAsync();
// create streaming endpoint
var newSe = await client.StreamingEndpoints.CreateAsync("streamingendpoint2", "francecentral", new StreamingEndpointProperties
{
Description = "my description",
ScaleUnits = 0,
CdnEnabled = false,
Sku = new StreamingEndpointsCurrentSku
{
Name = "Standard",
Capacity = 600
}
});
// start, stop, delete streaming endpoint
await client.StreamingEndpoints.StartAsync("streamingendpoint1");
await client.StreamingEndpoints.StopAsync("streamingendpoint1");
await client.StreamingEndpoints.DeleteAsync("streamingendpoint2");
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Framework | net48 is compatible. net481 was computed. |
-
.NETFramework 4.8
- JsonSubTypes (>= 2.0.1)
- Microsoft.Net.Http (>= 2.2.29)
- Newtonsoft.Json (>= 13.0.3)
-
net7.0
- JsonSubTypes (>= 2.0.1)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on MK.IO:
Repository | Stars |
---|---|
Azure/Azure-Media-Services-Explorer
Azure Media Services Explorer Tool
|
Version | Downloads | Last updated | |
---|---|---|---|
1.6.0 | 62 | 5/14/2024 | |
1.5.0 | 480 | 4/22/2024 | |
1.4.0 | 356 | 3/25/2024 | |
1.3.0 | 386 | 3/18/2024 | |
1.2.2 | 213 | 3/8/2024 | |
1.2.1 | 89 | 3/7/2024 | |
1.2.0 | 96 | 3/6/2024 | |
1.1.0 | 415 | 12/21/2023 | |
1.0.14 | 93 | 12/20/2023 | |
1.0.14-beta8 | 74 | 12/20/2023 | |
1.0.14-beta7 | 89 | 12/20/2023 | |
1.0.14-beta6 | 95 | 12/20/2023 | |
1.0.14-beta5 | 76 | 12/20/2023 | |
1.0.14-beta4 | 80 | 12/20/2023 | |
1.0.14-beta3 | 82 | 12/20/2023 | |
1.0.14-beta2 | 79 | 12/20/2023 | |
1.0.13 | 109 | 12/20/2023 | |
1.0.12 | 90 | 12/20/2023 | |
1.0.11 | 108 | 12/19/2023 | |
1.0.10 | 103 | 12/18/2023 | |
1.0.9 | 229 | 11/20/2023 | |
1.0.8 | 97 | 11/20/2023 | |
1.0.7 | 137 | 11/16/2023 | |
1.0.6 | 108 | 11/16/2023 | |
1.0.5 | 144 | 11/2/2023 | |
1.0.4 | 131 | 10/20/2023 | |
1.0.3 | 140 | 10/6/2023 | |
1.0.2 | 137 | 10/2/2023 | |
1.0.1 | 115 | 9/27/2023 | |
1.0.0-alpha7 | 97 | 9/26/2023 | |
1.0.0-alpha6 | 104 | 9/22/2023 | |
1.0.0-alpha5 | 118 | 9/8/2023 | |
1.0.0-alpha4 | 112 | 8/31/2023 | |
1.0.0-alpha3 | 117 | 8/30/2023 | |
1.0.0-alpha2 | 102 | 8/30/2023 |