Freigeben über


Azure Resource Manager MediaServices client library for Java - version 2.3.0

Azure Resource Manager MediaServices client library for Java.

This package contains Microsoft Azure SDK for MediaServices Management SDK. This Swagger was generated by the API Framework. Package tag package-encoding-2022-07. For documentation on how to use this package, please see Azure Management Libraries for Java.

We'd love to hear your feedback

We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.

If you haven't already, please take a few minutes to complete this short survey we have put together.

Thank you in advance for your collaboration. We really appreciate your time!

Documentation

Various documentation is available to help you get started

Getting started

Prerequisites

Adding the package to your product

<dependency>
    <groupId>com.azure.resourcemanager</groupId>
    <artifactId>azure-resourcemanager-mediaservices</artifactId>
    <version>2.3.0</version>
</dependency>

Azure Management Libraries require a TokenCredential implementation for authentication and an HttpClient implementation for HTTP client.

Azure Identity and Azure Core Netty HTTP packages provide the default implementation.

Authentication

By default, Azure Active Directory token authentication depends on correct configuration of the following environment variables.

  • AZURE_CLIENT_ID for Azure client ID.
  • AZURE_TENANT_ID for Azure tenant ID.
  • AZURE_CLIENT_SECRET or AZURE_CLIENT_CERTIFICATE_PATH for client secret or client certificate.

In addition, Azure subscription ID can be configured via AZURE_SUBSCRIPTION_ID environment variable.

With above configuration, azure client can be authenticated using the following code:

AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
TokenCredential credential = new DefaultAzureCredentialBuilder()
    .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
    .build();
MediaServicesManager manager = MediaServicesManager
    .authenticate(credential, profile);

The sample code assumes global Azure. Please change AzureEnvironment.AZURE variable if otherwise.

See Authentication for more options.

Key concepts

See API design for general introduction on design and key concepts on Azure Management Libraries.

Examples

// storage account
StorageAccount storageAccount = storageManager.storageAccounts().define(STORAGE_ACCOUNT)
    .withRegion(REGION)
    .withExistingResourceGroup(resourceGroup)
    .create();

// media service account
MediaService account = manager.mediaservices().define(ACCOUNT)
    .withRegion(Region.US_WEST3)
    .withExistingResourceGroup(resourceGroup)
    .withStorageAccounts(Collections.singletonList(
        new com.azure.resourcemanager.mediaservices.models.StorageAccount()
            .withId(storageAccount.id())
            .withType(StorageAccountType.PRIMARY)))
    .create();

// transform
Transform transform = manager.transforms()
    .define("transform1")
    .withExistingMediaService(resourceGroup, ACCOUNT)
    .withOutputs(Collections.singletonList(new TransformOutput()
        .withPreset(new BuiltInStandardEncoderPreset()
            .withPresetName(EncoderNamedPreset.CONTENT_AWARE_ENCODING))))
    .create();

// output asset
Asset asset = manager.assets()
    .define("output1")
    .withExistingMediaService(resourceGroup, ACCOUNT)
    .create();

// input uri
String jobHttpBaseUri = "https://nimbuscdn-nimbuspm.streaming.mediaservices.windows.net/2b533311-b215-4409-80af-529c3e853622/";
String jobFile = "Ignite-short.mp4";

// job
Job job = manager.jobs().define("job1")
    .withExistingTransform(resourceGroup, ACCOUNT, "transform1")
    .withInput(new JobInputHttp()
        .withFiles(Collections.singletonList(jobFile))
        .withBaseUri(jobHttpBaseUri)
        .withLabel("input1"))
    .withOutputs(Collections.singletonList(new JobOutputAsset().withAssetName("output1")))
    .create();

// wait for job completion
JobState jobState = job.state();
while (!(jobState == JobState.CANCELED || jobState == JobState.ERROR || jobState == JobState.FINISHED)) {
    sleepIfRunningAgainstService(10 * 1000);    // wait 10 seconds
    jobState = job.refresh().state();
}

// refresh output asset after job finished
asset.refresh();

Code snippets and samples

Troubleshooting

Next steps

Contributing

For details on contributing to this repository, see the contributing guide.

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.