public static PSBlobContainerDataSetMapping ToPsObject(this BlobContainerDataSetMapping blobContainerDataSetMapping)
 {
     return(new PSBlobContainerDataSetMapping
     {
         Id = blobContainerDataSetMapping.Id,
         Name = blobContainerDataSetMapping.Name,
         Type = blobContainerDataSetMapping.Type,
         DataSetId = blobContainerDataSetMapping.DataSetId,
         DataSetMappingStatus = blobContainerDataSetMapping.DataSetMappingStatus,
         ContainerName = blobContainerDataSetMapping.ContainerName,
         SubscriptionId = blobContainerDataSetMapping.SubscriptionId,
         ResourceGroup = blobContainerDataSetMapping.ResourceGroup,
         StorageAccount = blobContainerDataSetMapping.StorageAccountName
     });
 }
Exemple #2
0
        public DataSetMapping CreateDataSetMapping(Principal principal, ConsumerSourceDataSet consumerSourceDataSet)
        {
            DataSetMapping dataSetMapping;

            try
            {
                dataSetMapping = this.DataShareClient.DataSetMappings.Get(
                    this.Principal.DataShareResourceGroup,
                    this.Principal.DataShareAccountName,
                    this.Principal.DataShareShareSubscriptionName,
                    this.Principal.DataShareDataSetMappingName);

                Console.WriteLine("\r\n\r\nFound existing data set mapping.");

                return(dataSetMapping);
            }
            catch (DataShareErrorException exception)
            {
                if (exception.Response.StatusCode == HttpStatusCode.NotFound)
                {
                    Console.WriteLine("\r\n\r\nData set mapping does not exist. Creating a new one...");

                    var dataSetMappingPayload = new BlobContainerDataSetMapping
                    {
                        DataSetId          = consumerSourceDataSet.DataSetId,
                        StorageAccountName = principal.StorageAccountName,
                        ContainerName      = principal.StorageContainerName,
                        SubscriptionId     = principal.SubscriptionId,
                        ResourceGroup      = principal.StorageResourceGroup
                    };

                    dataSetMapping = this.DataShareClient.DataSetMappings.Create(
                        this.Principal.DataShareResourceGroup,
                        this.Principal.DataShareAccountName,
                        this.Principal.DataShareShareSubscriptionName,
                        this.Principal.DataShareDataSetMappingName,
                        dataSetMappingPayload);

                    Console.WriteLine($"\r\n\r\nCreated data set mapping {dataSetMapping.Id}...");

                    return(dataSetMapping);
                }

                throw;
            }
        }