static public void CopyBlobsBetweenAMSAccounts() { var tokenCredentials1 = new AzureAdTokenCredentials(_sourceAADTenantDomain, AzureEnvironments.AzureCloudEnvironment); var tokenProvider1 = new AzureAdTokenProvider(tokenCredentials1); var tokenCredentials2 = new AzureAdTokenCredentials(_destAADTenantDomain, AzureEnvironments.AzureCloudEnvironment); var tokenProvider2 = new AzureAdTokenProvider(tokenCredentials2); // Create the context for your source Media Services account. _sourceContext = new CloudMediaContext(new Uri(_sourceRESTAPIEndpoint), tokenProvider1); // Create the context for your destination Media Services account. _destContext = new CloudMediaContext(new Uri(_destRESTAPIEndpoint), tokenProvider2); // Get the credentials of the default Storage account bound to your destination Media Services account. StorageCredentials destinationStorageCredentials = new StorageCredentials(_destStorageAccountName, _destStorageAccountKey); // Get a reference to the source asset in the source context. IAsset sourceAsset = _sourceContext.Assets.Where(a => a.Id == _sourceAssetID).First(); // Create an empty destination asset in the destination context. IAsset destinationAsset = _destContext.Assets.Create(sourceAsset.Name, AssetCreationOptions.None); // Copy the files in the source asset instance into the destination asset instance. // There is an additional overload with async support. sourceAsset.Copy(destinationAsset, destinationStorageCredentials); Console.WriteLine("Done"); }
static void Main(string[] args) { // Create the context for your source Media Services account. // Use the cached credentials to create CloudMediaContext. _sourceContext = new CloudMediaContext(new MediaServicesCredentials( _sourceAaccountName, _sourceAccountKey)); // Create the context for your destination Media Services account. _destContext = new CloudMediaContext(new MediaServicesCredentials( _destAccountName, _destAccountKey)); // Get the credentials of the default Storage account bound to your destination Media Services account. StorageCredentials destinationStorageCredentials = new StorageCredentials(_destStorageAccountName, _destStorageAccountKey); // Get a reference to the source asset in the source context. IAsset sourceAsset = _sourceContext.Assets.Where(a => a.Id == _sourceAssetID).First(); // Create an empty destination asset in the destination context. IAsset destinationAsset = _destContext.Assets.Create(sourceAsset.Name, AssetCreationOptions.None); // Copy the files in the source asset instance into the destination asset instance. sourceAsset.Copy(destinationAsset, destinationStorageCredentials); }
public void ShouldThrowCopyIfAssetIsNull() { this.asset = this.context.Assets.Create("empty", AssetCreationOptions.None); IAsset nullAsset = null; var storageCredentials = TestHelper.CreateStorageCredentials(); try { nullAsset.Copy(this.asset, storageCredentials); } catch (AggregateException exception) { Assert.IsInstanceOfType(exception.InnerException, typeof(ArgumentNullException)); throw; } }