Esempio n. 1
0
 private void ReplicateTeansformsPage(IPage <Transform> transforms)
 {
     if (transforms.Any())
     {
         foreach (var transform in transforms)
         {
             Helpers.WriteLine($"Copying transform '{transform.Name}'...", 2);
             DestinationOperations.CreateOrUpdate(DestinationAuth.ResourceGroup, DestinationAuth.AccountName, transform.Name, transform.Outputs, transform.Description);
             Helpers.WriteLine($"Done", 3);
         }
     }
     else
     {
         Helpers.WriteLine("No transforms to copy", 2);
     }
 }
 private void ReplicateAccountFiltersPage(IPage <AccountFilter> accountFilterPage)
 {
     if (accountFilterPage.Any())
     {
         foreach (var accountFilter in accountFilterPage)
         {
             Helpers.WriteLine($"Replicating account filter {accountFilter.Name}...", 2);
             DestinationOperations.CreateOrUpdate(DestinationAuth.ResourceGroup, DestinationAuth.AccountName, accountFilter.Name, accountFilter);
             Helpers.WriteLine("Done", 3);
         }
     }
     else
     {
         Helpers.WriteLine("No account filters to copy", 2);
     }
 }
        private void ReplicateContentKeyPolicyPage(IPage <ContentKeyPolicy> contentKeyPolicies)
        {
            if (contentKeyPolicies.Any())
            {
                foreach (var contentKeyPolicy in contentKeyPolicies)
                {
                    Helpers.WriteLine($"Copying content key policy '{contentKeyPolicy.Name}'...", 2);

                    ContentKeyPolicyProperties tempContentKey = SourceOperations.GetPolicyPropertiesWithSecrets(SourceAuth.ResourceGroup, SourceAuth.AccountName, contentKeyPolicy.Name);

                    DestinationOperations.CreateOrUpdate(DestinationAuth.ResourceGroup, DestinationAuth.AccountName, contentKeyPolicy.Name, tempContentKey.Options, tempContentKey.Description);

                    Helpers.WriteLine($"Done", 3);
                }
            }
            else
            {
                Helpers.WriteLine($"No content key policies to replicate", 2);
            }
        }
        private void ReplicateAssetPage(IPage <Asset> assetPage)
        {
            if (assetPage.Any())
            {
                //Loop through page assets and move them to the destination
                foreach (var asset in assetPage)
                {
                    Helpers.WriteLine($"Replicating asset '{asset.Name}'...", 2);
                    Helpers.WriteLine($"Copying asset's blobs...", 3);

                    Asset destinationAsset = DestinationOperations.Get(DestinationAuth.ResourceGroup, DestinationAuth.AccountName, asset.Name);

                    //Create destination asset if it does not exists
                    if (destinationAsset == null)
                    {
                        destinationAsset = DestinationOperations.CreateOrUpdate(DestinationAuth.ResourceGroup, DestinationAuth.AccountName, asset.Name, new Asset()
                        {
                            AlternateId = asset.AlternateId, Description = asset.Description
                        });
                    }

                    //Used to update asset info. sometimes it will be empty
                    destinationAsset = DestinationOperations.Get(DestinationAuth.ResourceGroup, DestinationAuth.AccountName, destinationAsset.Name);

                    CloudBlobContainer sourceContainer      = GetCloudBlobContainer(SourceAuth, asset.Container);
                    CloudBlobContainer destinationContainer = GetCloudBlobContainer(DestinationAuth, destinationAsset.Container);

                    CopyAsset(sourceContainer, destinationContainer);

                    if (_sourceAssetFilterOperations != null && _destinationAssetFilterOperations != null)
                    {
                        Helpers.WriteLine($"Copying asset's filters...", 3);
                        ReplicateAssetFilter(asset.Name);
                    }
                }
            }
            else
            {
                Helpers.WriteLine("No assets to copy", 2);
            }
        }