From 2b5e92d80cf3b61fa883ef5ac5bc376b8fc2732d Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Wed, 10 Jun 2020 10:41:24 +0800 Subject: [PATCH 01/20] update NewAzureSynapseSparkPool --- .../SparkPool/NewAzureSynapseSparkPool.cs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs index 60b8035ced48..26bb4aeedd49 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs @@ -48,7 +48,7 @@ public class NewAzureSynapseSparkPool : SynapseCmdletBase [ValidateNotNull] public Hashtable Tag { get; set; } - [Parameter(ValueFromPipelineByPropertyName = false, Mandatory = true, + [Parameter(ValueFromPipelineByPropertyName = false, Mandatory = false, HelpMessage = HelpMessages.NodeCount)] [ValidateRange(3, 200)] public int NodeCount { get; set; } @@ -139,7 +139,17 @@ public override void ExecuteCmdlet() throw new SynapseException(string.Format(Resources.WorkspaceDoesNotExist, this.WorkspaceName)); } - LibraryRequirements libraryRequirements = null; + // NodeCount and EnableAutoScale are given at the same time + if (this.NodeCount != 0 && EnableAutoScale.IsPresent) + { + throw new SynapseException(string.Format("","")); + } + // both NodeCount and EnableAutoScale are not given + if (this.NodeCount == 0 && !EnableAutoScale.IsPresent) { + throw new SynapseException(string.Format("", "")); + } + + LibraryRequirements libraryRequirements = null; if (this.IsParameterBound(c => c.LibraryRequirementsFilePath)) { var powerShellDestinationPath = SessionState.Path.GetUnresolvedProviderPathFromPSPath(LibraryRequirementsFilePath); @@ -155,7 +165,10 @@ public override void ExecuteCmdlet() { Location = existingWorkspace.Location, Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true), - NodeCount = this.NodeCount, + //NodeCount = this.NodeCount, + + NodeCount = EnableAutoScale.IsPresent ? (int?) null : this.NodeCount, + NodeSizeFamily = NodeSizeFamily.MemoryOptimized, NodeSize = NodeSize, AutoScale = !EnableAutoScale.IsPresent ? null : new AutoScaleProperties From 4832c5f13f66785c0b5274e9a6a2855ae75c32f7 Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Wed, 10 Jun 2020 12:56:50 +0800 Subject: [PATCH 02/20] fix NewAzureSynapseSparkPool --- .../SparkPool/NewAzureSynapseSparkPool.cs | 69 +++++++++++-------- 1 file changed, 41 insertions(+), 28 deletions(-) diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs index 26bb4aeedd49..a44f5ea0ab18 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs @@ -13,26 +13,35 @@ namespace Microsoft.Azure.Commands.Synapse { - [Cmdlet(VerbsCommon.New, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkPool, DefaultParameterSetName = CreateByNameParameterSet, SupportsShouldProcess = true)] + [Cmdlet(VerbsCommon.New, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkPool, DefaultParameterSetName = CreateByNameAndEnableAutoScaleParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(PSSynapseSparkPool))] public class NewAzureSynapseSparkPool : SynapseCmdletBase { - private const string CreateByNameParameterSet = "CreateByNameParameterSet"; - private const string CreateByParentObjectParameterSet = "CreateByParentObjectParameterSet"; + private const string CreateByNameAndEnableAutoScaleParameterSet = "CreateByNameAndEnableAutoScaleParameterSet"; + private const string CreateByNameAndUnableAutoScaleParameterSet = "CreateByNameAndUnableAutoScaleParameterSet"; + private const string CreateByParentObjectAndEnableAutoScaleParameterSet = "CreateByParentObjectAndEnableAutoScaleParameterSet"; + private const string CreateByParentObjectAndUnableAutoScaleParameterSet = "CreateByParentObjectAndUnableAutoScaleParameterSet"; - [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameParameterSet, + + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndEnableAutoScaleParameterSet, + Mandatory = false, HelpMessage = HelpMessages.ResourceGroupName)] + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndUnableAutoScaleParameterSet, Mandatory = false, HelpMessage = HelpMessages.ResourceGroupName)] [ResourceGroupCompleter] [ValidateNotNullOrEmpty] public string ResourceGroupName { get; set; } - [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameParameterSet, + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndEnableAutoScaleParameterSet, + Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndUnableAutoScaleParameterSet, Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, nameof(ResourceGroupName))] [ValidateNotNullOrEmpty] public string WorkspaceName { get; set; } - [Parameter(ValueFromPipeline = true, ParameterSetName = CreateByParentObjectParameterSet, + [Parameter(ValueFromPipeline = true, ParameterSetName = CreateByParentObjectAndEnableAutoScaleParameterSet, + Mandatory = true, HelpMessage = HelpMessages.WorkspaceObject)] + [Parameter(ValueFromPipeline = true, ParameterSetName = CreateByParentObjectAndUnableAutoScaleParameterSet, Mandatory = true, HelpMessage = HelpMessages.WorkspaceObject)] [ValidateNotNull] public PSSynapseWorkspace WorkspaceObject { get; set; } @@ -48,8 +57,10 @@ public class NewAzureSynapseSparkPool : SynapseCmdletBase [ValidateNotNull] public Hashtable Tag { get; set; } - [Parameter(ValueFromPipelineByPropertyName = false, Mandatory = false, - HelpMessage = HelpMessages.NodeCount)] + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndUnableAutoScaleParameterSet, + Mandatory = true, HelpMessage = HelpMessages.NodeCount)] + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByParentObjectAndUnableAutoScaleParameterSet, + Mandatory = true, HelpMessage = HelpMessages.NodeCount)] [ValidateRange(3, 200)] public int NodeCount { get; set; } @@ -63,13 +74,17 @@ public class NewAzureSynapseSparkPool : SynapseCmdletBase HelpMessage = HelpMessages.EnableAutoScale)] public SwitchParameter EnableAutoScale { get; set; } - [Parameter(ValueFromPipelineByPropertyName = false, Mandatory = false, - HelpMessage = HelpMessages.AutoScaleMinNodeCount)] + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndEnableAutoScaleParameterSet, + Mandatory = true, HelpMessage = HelpMessages.AutoScaleMinNodeCount)] + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByParentObjectAndEnableAutoScaleParameterSet, + Mandatory = true, HelpMessage = HelpMessages.AutoScaleMinNodeCount)] [ValidateRange(3, 200)] public int AutoScaleMinNodeCount { get; set; } - [Parameter(ValueFromPipelineByPropertyName = false, Mandatory = false, - HelpMessage = HelpMessages.AutoScaleMaxNodeCount)] + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndEnableAutoScaleParameterSet, + Mandatory = true, HelpMessage = HelpMessages.AutoScaleMinNodeCount)] + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByParentObjectAndEnableAutoScaleParameterSet, + Mandatory = true, HelpMessage = HelpMessages.AutoScaleMinNodeCount)] [ValidateRange(3, 200)] public int AutoScaleMaxNodeCount { get; set; } @@ -98,6 +113,16 @@ public class NewAzureSynapseSparkPool : SynapseCmdletBase public override void ExecuteCmdlet() { + switch (ParameterSetName) + { + case CreateByNameAndEnableAutoScaleParameterSet: + this.EnableAutoScale = true; + break; + case CreateByParentObjectAndEnableAutoScaleParameterSet: + this.EnableAutoScale = true; + break; + } + if (this.IsParameterBound(c => c.WorkspaceObject)) { this.ResourceGroupName = new ResourceIdentifier(this.WorkspaceObject.Id).ResourceGroupName; @@ -139,17 +164,8 @@ public override void ExecuteCmdlet() throw new SynapseException(string.Format(Resources.WorkspaceDoesNotExist, this.WorkspaceName)); } - // NodeCount and EnableAutoScale are given at the same time - if (this.NodeCount != 0 && EnableAutoScale.IsPresent) - { - throw new SynapseException(string.Format("","")); - } - // both NodeCount and EnableAutoScale are not given - if (this.NodeCount == 0 && !EnableAutoScale.IsPresent) { - throw new SynapseException(string.Format("", "")); - } - LibraryRequirements libraryRequirements = null; + LibraryRequirements libraryRequirements = null; if (this.IsParameterBound(c => c.LibraryRequirementsFilePath)) { var powerShellDestinationPath = SessionState.Path.GetUnresolvedProviderPathFromPSPath(LibraryRequirementsFilePath); @@ -165,15 +181,12 @@ public override void ExecuteCmdlet() { Location = existingWorkspace.Location, Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true), - //NodeCount = this.NodeCount, - - NodeCount = EnableAutoScale.IsPresent ? (int?) null : this.NodeCount, - + NodeCount = this.EnableAutoScale ? (int?) null : this.NodeCount, NodeSizeFamily = NodeSizeFamily.MemoryOptimized, NodeSize = NodeSize, - AutoScale = !EnableAutoScale.IsPresent ? null : new AutoScaleProperties + AutoScale = !this.EnableAutoScale ? null : new AutoScaleProperties { - Enabled = EnableAutoScale.IsPresent, + Enabled = this.EnableAutoScale, MinNodeCount = AutoScaleMinNodeCount, MaxNodeCount = AutoScaleMaxNodeCount }, From 0b3f6d6a11a395f6446db62757452ae539d5b019 Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Thu, 11 Jun 2020 15:33:37 +0800 Subject: [PATCH 03/20] fix NewAzureSynapseSparkPool for auto scale --- .../ScenarioTests/SparkPoolTests.ps1 | 26 +- .../TestSynapseSparkPool.json | 1296 ++++++++++++----- src/Synapse/Synapse/ChangeLog.md | 1 + .../SparkPool/NewAzureSynapseSparkPool.cs | 7 - 4 files changed, 975 insertions(+), 355 deletions(-) diff --git a/src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 b/src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 index de52fc1d6793..143bed67d475 100644 --- a/src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 +++ b/src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 @@ -9,7 +9,10 @@ function Test-SynapseSparkPool $resourceGroupName = (Get-ResourceGroupName), $workspaceName = (Get-SynapseWorkspaceName), $sparkPoolName = (Get-SynapseSparkPoolName), + $sparkPoolName1 = $sparkPoolName + "1", $sparkPoolNodeCount = 3, + $sparkAutoScaleMinNodeCount = 3, + $sparkAutoScaleMaxNodeCount = 6, $sparkPoolNodeSize = "Small", $sparkVersion = 2.4 ) @@ -24,13 +27,22 @@ function Test-SynapseSparkPool # Test to make sure the SparkPool doesn't exist Assert-False {Test-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName} - $sparkPoolCreated = New-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName -NodeCount $sparkPoolNodeCount -SparkVersion $sparkVersion -NodeSize $sparkPoolNodeSize + # EnableAutoScale + $sparkPoolCreated1 = New-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName -NodeCount $sparkPoolNodeCount -SparkVersion $sparkVersion -NodeSize $sparkPoolNodeSize - Assert-AreEqual $sparkPoolName $sparkPoolCreated.Name - Assert-AreEqual $location $sparkPoolCreated.Location - Assert-AreEqual "Microsoft.Synapse/Workspaces/bigDataPools" $sparkPoolCreated.Type - Assert-True {$sparkPoolCreated.Id -like "*$resourceGroupName*"} + Assert-AreEqual $sparkPoolName $sparkPoolCreated1.Name + Assert-AreEqual $location $sparkPoolCreated1.Location + Assert-AreEqual "Microsoft.Synapse/Workspaces/bigDataPools" $sparkPoolCreated1.Type + Assert-True {$sparkPoolCreated1.Id -like "*$resourceGroupName*"} + # just test create for UnableAutoScale + $sparkPoolCreated2 = New-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName1 -AutoScaleMinNodeCount $sparkAutoScaleMinNodeCount -AutoScaleMaxNodeCount $sparkAutoScaleMaxNodeCount -SparkVersion $sparkVersion -NodeSize $sparkPoolNodeSize + + Assert-AreEqual $sparkPoolName1 $sparkPoolCreated2.Name + Assert-AreEqual $location $sparkPoolCreated2.Location + Assert-AreEqual "Microsoft.Synapse/Workspaces/bigDataPools" $sparkPoolCreated2.Type + Assert-True {$sparkPoolCreated2.Id -like "*$resourceGroupName*"} + # In loop to check if Spark pool exists for ($i = 0; $i -le 60; $i++) { @@ -40,7 +52,7 @@ function Test-SynapseSparkPool Assert-AreEqual $sparkPoolName $sparkPoolGet[0].Name Assert-AreEqual $location $sparkPoolGet[0].Location Assert-AreEqual "Microsoft.Synapse/Workspaces/bigDataPools" $sparkPoolGet[0].Type - Assert-True {$sparkPoolCreated.Id -like "*$resourceGroupName*"} + Assert-True {$sparkPoolCreated1.Id -like "*$resourceGroupName*"} break } @@ -114,6 +126,7 @@ function Test-SynapseSparkPool # Delete SparkPool Assert-True {Remove-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName -PassThru} "Remove SparkPool failed." + Assert-True {Remove-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName1 -PassThru} "Remove SparkPool failed." # Verify that it is gone by trying to get it again Assert-Throws {Get-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName} @@ -122,5 +135,6 @@ function Test-SynapseSparkPool { # cleanup the spark pool that was used in case it still exists. This is a best effort task, we ignore failures here. Invoke-HandledCmdlet -Command {Remove-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName -ErrorAction SilentlyContinue} -IgnoreFailures + Invoke-HandledCmdlet -Command {Remove-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName1 -ErrorAction SilentlyContinue} -IgnoreFailures } } diff --git a/src/Synapse/Synapse.Test/SessionRecords/Microsoft.Azure.Commands.Synapse.Test.ScenarioTests.SparkPoolTests/TestSynapseSparkPool.json b/src/Synapse/Synapse.Test/SessionRecords/Microsoft.Azure.Commands.Synapse.Test.ScenarioTests.SparkPoolTests/TestSynapseSparkPool.json index 2a5d3ad07383..85d1de4ec3d7 100644 --- a/src/Synapse/Synapse.Test/SessionRecords/Microsoft.Azure.Commands.Synapse.Test.ScenarioTests.SparkPoolTests/TestSynapseSparkPool.json +++ b/src/Synapse/Synapse.Test/SessionRecords/Microsoft.Azure.Commands.Synapse.Test.ScenarioTests.SparkPoolTests/TestSynapseSparkPool.json @@ -1,13 +1,13 @@ { "Entries": [ { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlP2FwaS12ZXJzaW9uPTIwMTktMDYtMDEtcHJldmlldw==", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2U/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "f0768220-2d37-4d26-b68d-13f95f5c54c9" + "5d46633c-8192-4c9a-8398-9c2b3bcc88d7" ], "Accept-Language": [ "en-US" @@ -15,7 +15,7 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -30,7 +30,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "bcb469f1-bd1b-48d0-b0c1-cf033118bc20" + "26c89086-ae41-4643-a1a3-4d8f97267b7e" ], "Server": [ "Microsoft-HTTPAPI/2.0" @@ -39,19 +39,19 @@ "11999" ], "x-ms-correlation-request-id": [ - "ee06147a-685b-4ca2-8a9a-5262095b7f28" + "708c8d36-cd75-42eb-a297-9cbc5f096b0a" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033035Z:ee06147a-685b-4ca2-8a9a-5262095b7f28" + "EASTASIA:20200611T051705Z:708c8d36-cd75-42eb-a297-9cbc5f096b0a" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:30:35 GMT" + "Thu, 11 Jun 2020 05:17:04 GMT" ], "Content-Length": [ - "1113" + "1029" ], "Content-Type": [ "application/json; charset=utf-8" @@ -60,17 +60,17 @@ "-1" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace\",\r\n \"location\": \"eastus\",\r\n \"name\": \"testsynapseworkspace\",\r\n \"type\": \"Microsoft.Synapse/workspaces\",\r\n \"identity\": {\r\n \"type\": \"SystemAssigned\",\r\n \"principalId\": \"5c40eee1-1044-4ec5-9d56-bbbd73b93df0\",\r\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\r\n },\r\n \"tags\": {\r\n \"key1\": \"value2\"\r\n },\r\n \"properties\": {\r\n \"connectivityEndpoints\": {\r\n \"web\": \"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fzzy-test-rg%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2ftestsynapseworkspace\",\r\n \"sql\": \"testsynapseworkspace.sql.azuresynapse.net\",\r\n \"dev\": \"https://testsynapseworkspace.dev.azuresynapse.net\",\r\n \"sqlOnDemand\": \"testsynapseworkspace-ondemand.sql.azuresynapse.net\"\r\n },\r\n \"managedResourceGroupName\": \"workspacemanagedrg-cf1e0457-375a-4c2d-a9b4-51676e4fce7c\",\r\n \"defaultDataLakeStorage\": {\r\n \"accountUrl\": \"https://newzzyadlsgen2.dfs.core.windows.net\",\r\n \"filesystem\": \"testfilesystem\"\r\n },\r\n \"sqlAdministratorLogin\": \"zzy\",\r\n \"privateEndpointConnections\": [],\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace\",\r\n \"location\": \"eastus2\",\r\n \"name\": \"testspace\",\r\n \"type\": \"Microsoft.Synapse/workspaces\",\r\n \"identity\": {\r\n \"type\": \"SystemAssigned\",\r\n \"principalId\": \"a8e53278-97e0-4fbb-80b1-d81d4243e6e2\",\r\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\r\n },\r\n \"tags\": {},\r\n \"properties\": {\r\n \"connectivityEndpoints\": {\r\n \"web\": \"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fywtest%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2ftestspace\",\r\n \"sql\": \"testspace.sql.azuresynapse.net\",\r\n \"dev\": \"https://testspace.dev.azuresynapse.net\",\r\n \"sqlOnDemand\": \"testspace-ondemand.sql.azuresynapse.net\"\r\n },\r\n \"managedResourceGroupName\": \"workspacemanagedrg-d2e0f911-1299-4e89-bcf5-30c08b28c17e\",\r\n \"defaultDataLakeStorage\": {\r\n \"accountUrl\": \"https://ywtestaccount.dfs.core.windows.net\",\r\n \"filesystem\": \"ywfilesystem\"\r\n },\r\n \"sqlAdministratorLogin\": \"sqladminuser\",\r\n \"privateEndpointConnections\": [],\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlP2FwaS12ZXJzaW9uPTIwMTktMDYtMDEtcHJldmlldw==", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2U/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "4a103749-f0fe-4344-8843-dd7ce2c3606e" + "ffd22880-94dc-47ec-a342-c8030019c01d" ], "Accept-Language": [ "en-US" @@ -78,7 +78,7 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -93,7 +93,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "c6b5bb6d-0b29-4e5b-bdb2-3129fda705c0" + "33827ca2-72b5-4e80-9fcc-dc59a8fc88a6" ], "Server": [ "Microsoft-HTTPAPI/2.0" @@ -102,19 +102,19 @@ "11996" ], "x-ms-correlation-request-id": [ - "97aa25e1-6b52-4b63-8a89-0b6c21486c34" + "5fa214a6-8121-4e52-bbe7-7c17dded4447" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033036Z:97aa25e1-6b52-4b63-8a89-0b6c21486c34" + "EASTASIA:20200611T051707Z:5fa214a6-8121-4e52-bbe7-7c17dded4447" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:30:36 GMT" + "Thu, 11 Jun 2020 05:17:06 GMT" ], "Content-Length": [ - "1113" + "1029" ], "Content-Type": [ "application/json; charset=utf-8" @@ -123,17 +123,17 @@ "-1" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace\",\r\n \"location\": \"eastus\",\r\n \"name\": \"testsynapseworkspace\",\r\n \"type\": \"Microsoft.Synapse/workspaces\",\r\n \"identity\": {\r\n \"type\": \"SystemAssigned\",\r\n \"principalId\": \"5c40eee1-1044-4ec5-9d56-bbbd73b93df0\",\r\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\r\n },\r\n \"tags\": {\r\n \"key1\": \"value2\"\r\n },\r\n \"properties\": {\r\n \"connectivityEndpoints\": {\r\n \"web\": \"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fzzy-test-rg%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2ftestsynapseworkspace\",\r\n \"sql\": \"testsynapseworkspace.sql.azuresynapse.net\",\r\n \"dev\": \"https://testsynapseworkspace.dev.azuresynapse.net\",\r\n \"sqlOnDemand\": \"testsynapseworkspace-ondemand.sql.azuresynapse.net\"\r\n },\r\n \"managedResourceGroupName\": \"workspacemanagedrg-cf1e0457-375a-4c2d-a9b4-51676e4fce7c\",\r\n \"defaultDataLakeStorage\": {\r\n \"accountUrl\": \"https://newzzyadlsgen2.dfs.core.windows.net\",\r\n \"filesystem\": \"testfilesystem\"\r\n },\r\n \"sqlAdministratorLogin\": \"zzy\",\r\n \"privateEndpointConnections\": [],\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace\",\r\n \"location\": \"eastus2\",\r\n \"name\": \"testspace\",\r\n \"type\": \"Microsoft.Synapse/workspaces\",\r\n \"identity\": {\r\n \"type\": \"SystemAssigned\",\r\n \"principalId\": \"a8e53278-97e0-4fbb-80b1-d81d4243e6e2\",\r\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\r\n },\r\n \"tags\": {},\r\n \"properties\": {\r\n \"connectivityEndpoints\": {\r\n \"web\": \"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fywtest%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2ftestspace\",\r\n \"sql\": \"testspace.sql.azuresynapse.net\",\r\n \"dev\": \"https://testspace.dev.azuresynapse.net\",\r\n \"sqlOnDemand\": \"testspace-ondemand.sql.azuresynapse.net\"\r\n },\r\n \"managedResourceGroupName\": \"workspacemanagedrg-d2e0f911-1299-4e89-bcf5-30c08b28c17e\",\r\n \"defaultDataLakeStorage\": {\r\n \"accountUrl\": \"https://ywtestaccount.dfs.core.windows.net\",\r\n \"filesystem\": \"ywfilesystem\"\r\n },\r\n \"sqlAdministratorLogin\": \"sqladminuser\",\r\n \"privateEndpointConnections\": [],\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2U/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "a5504be7-1ffb-4b91-bcfb-bf1c945d0955" + "351ede0c-0ea3-4d3d-b50b-f427a343d5c8" ], "Accept-Language": [ "en-US" @@ -141,7 +141,70 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "9bd6b19d-e6ec-4b56-b9c4-bb4bc5ce5c0c" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11992" + ], + "x-ms-correlation-request-id": [ + "eb3e88dc-6db1-46a6-8a47-17d5a87fc1f3" + ], + "x-ms-routing-request-id": [ + "EASTASIA:20200611T051746Z:eb3e88dc-6db1-46a6-8a47-17d5a87fc1f3" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 11 Jun 2020 05:17:45 GMT" + ], + "Content-Length": [ + "1029" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace\",\r\n \"location\": \"eastus2\",\r\n \"name\": \"testspace\",\r\n \"type\": \"Microsoft.Synapse/workspaces\",\r\n \"identity\": {\r\n \"type\": \"SystemAssigned\",\r\n \"principalId\": \"a8e53278-97e0-4fbb-80b1-d81d4243e6e2\",\r\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\r\n },\r\n \"tags\": {},\r\n \"properties\": {\r\n \"connectivityEndpoints\": {\r\n \"web\": \"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fywtest%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2ftestspace\",\r\n \"sql\": \"testspace.sql.azuresynapse.net\",\r\n \"dev\": \"https://testspace.dev.azuresynapse.net\",\r\n \"sqlOnDemand\": \"testspace-ondemand.sql.azuresynapse.net\"\r\n },\r\n \"managedResourceGroupName\": \"workspacemanagedrg-d2e0f911-1299-4e89-bcf5-30c08b28c17e\",\r\n \"defaultDataLakeStorage\": {\r\n \"accountUrl\": \"https://ywtestaccount.dfs.core.windows.net\",\r\n \"filesystem\": \"ywfilesystem\"\r\n },\r\n \"sqlAdministratorLogin\": \"sqladminuser\",\r\n \"privateEndpointConnections\": [],\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "7bf3b159-23bd-42da-ab4f-9caf8364f7bb" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -156,13 +219,13 @@ "gateway" ], "x-ms-request-id": [ - "dd301739-a8d8-41f7-87b8-70dc1345b61d" + "9bff6d4d-2b85-43e8-b068-72d86f535d32" ], "x-ms-correlation-request-id": [ - "dd301739-a8d8-41f7-87b8-70dc1345b61d" + "9bff6d4d-2b85-43e8-b068-72d86f535d32" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033036Z:dd301739-a8d8-41f7-87b8-70dc1345b61d" + "EASTASIA:20200611T051706Z:9bff6d4d-2b85-43e8-b068-72d86f535d32" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -171,7 +234,7 @@ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:30:36 GMT" + "Thu, 11 Jun 2020 05:17:05 GMT" ], "Content-Type": [ "application/json; charset=utf-8" @@ -180,20 +243,20 @@ "-1" ], "Content-Length": [ - "184" + "236" ] }, - "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504' under resource group 'zzy-test-rg' was not found.\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508' under resource group 'ywtest' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix\"\r\n }\r\n}", "StatusCode": 404 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "313b01ac-00b9-4037-8c2f-4c1b42bdb167" + "90266444-d352-478a-82f9-cdaab772af11" ], "Accept-Language": [ "en-US" @@ -201,7 +264,7 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -216,13 +279,13 @@ "gateway" ], "x-ms-request-id": [ - "6d6e0ea1-60b8-4e8e-a556-3651483d9e67" + "818375cf-3970-4c89-8936-dab26795c62b" ], "x-ms-correlation-request-id": [ - "6d6e0ea1-60b8-4e8e-a556-3651483d9e67" + "818375cf-3970-4c89-8936-dab26795c62b" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033036Z:6d6e0ea1-60b8-4e8e-a556-3651483d9e67" + "EASTASIA:20200611T051706Z:818375cf-3970-4c89-8936-dab26795c62b" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -231,7 +294,7 @@ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:30:36 GMT" + "Thu, 11 Jun 2020 05:17:05 GMT" ], "Content-Type": [ "application/json; charset=utf-8" @@ -240,20 +303,20 @@ "-1" ], "Content-Length": [ - "184" + "236" ] }, - "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504' under resource group 'zzy-test-rg' was not found.\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508' under resource group 'ywtest' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix\"\r\n }\r\n}", "StatusCode": 404 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "9c0a6b6c-df96-48e0-a11e-0379e6350da0" + "45edef41-cb49-49ee-a3a5-f83504b47134" ], "Accept-Language": [ "en-US" @@ -261,7 +324,7 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -276,28 +339,28 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "2efcee67-129b-47b8-bad8-9dcfb060a95a" + "19bc9366-7028-483e-9ce8-c28f5175ca17" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "11993" + "11989" ], "x-ms-correlation-request-id": [ - "042029e1-a0e4-47e6-97fb-13638c1f8440" + "beb4a9d4-947d-473c-a781-50ededcfa49c" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033110Z:042029e1-a0e4-47e6-97fb-13638c1f8440" + "EASTASIA:20200611T051821Z:beb4a9d4-947d-473c-a781-50ededcfa49c" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:31:10 GMT" + "Thu, 11 Jun 2020 05:18:21 GMT" ], "Content-Length": [ - "436" + "416" ], "Content-Type": [ "application/json; charset=utf-8" @@ -306,17 +369,17 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus\"\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "47fbfbfb-2220-42fa-8010-511c375b4856" + "e4b2e581-052d-4fce-bdaa-509e97f39088" ], "Accept-Language": [ "en-US" @@ -324,7 +387,7 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -339,28 +402,28 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "c506a040-22b4-43f4-9d31-f806a09c66cf" + "381c5a19-7568-4348-8fe6-ab647da6c69b" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "11992" + "11988" ], "x-ms-correlation-request-id": [ - "d3d35729-4b56-45e2-9777-16c265a62f69" + "a4867252-d97e-41da-a79a-573e0531e8bc" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033110Z:d3d35729-4b56-45e2-9777-16c265a62f69" + "EASTASIA:20200611T051821Z:a4867252-d97e-41da-a79a-573e0531e8bc" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:31:10 GMT" + "Thu, 11 Jun 2020 05:18:21 GMT" ], "Content-Length": [ - "436" + "416" ], "Content-Type": [ "application/json; charset=utf-8" @@ -369,17 +432,17 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus\"\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "de59701b-525e-4ed8-9702-776ac7e05c48" + "7fee7946-e5a1-4868-8167-f4a9d777fc7f" ], "Accept-Language": [ "en-US" @@ -387,7 +450,7 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -402,28 +465,28 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "ac45c3af-8da1-4eec-aa03-a60de1edab54" + "3316a36b-98e3-4db1-88f4-4de385a900d6" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "11991" + "11987" ], "x-ms-correlation-request-id": [ - "96bc6204-1d6e-47f0-8afe-abae9eb5d705" + "53782014-b480-4d95-89f3-623fbff65fa9" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033110Z:96bc6204-1d6e-47f0-8afe-abae9eb5d705" + "EASTASIA:20200611T051822Z:53782014-b480-4d95-89f3-623fbff65fa9" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:31:10 GMT" + "Thu, 11 Jun 2020 05:18:22 GMT" ], "Content-Length": [ - "436" + "416" ], "Content-Type": [ "application/json; charset=utf-8" @@ -432,17 +495,17 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus\"\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "e468ddfa-a702-4ce2-9ec0-0fa5e4098e88" + "69fffbb9-bdd3-409d-80e9-4b85e4aa5559" ], "Accept-Language": [ "en-US" @@ -450,7 +513,7 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -465,28 +528,28 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "d690d7d8-ba10-41fe-b8eb-1fefdd36e203" + "75d3b06e-d7ce-40f1-9d26-dbad0b09d3ce" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "11988" + "11984" ], "x-ms-correlation-request-id": [ - "30e5bfbc-261e-48a8-a3d6-45523e32550c" + "008573c5-5d70-449e-b41a-468dfe97e5cc" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033142Z:30e5bfbc-261e-48a8-a3d6-45523e32550c" + "EASTASIA:20200611T051854Z:008573c5-5d70-449e-b41a-468dfe97e5cc" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:31:41 GMT" + "Thu, 11 Jun 2020 05:18:53 GMT" ], "Content-Length": [ - "468" + "448" ], "Content-Type": [ "application/json; charset=utf-8" @@ -495,17 +558,17 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "56be1d34-c68a-48a1-8e0e-319843f54f49" + "58876b8b-48d8-4119-ba45-47570fae4d08" ], "Accept-Language": [ "en-US" @@ -513,7 +576,7 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -528,28 +591,28 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "d3494a42-6b54-46f1-a41a-a50c80449680" + "17298de3-9bf7-4f7b-b034-28028cea7823" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "11985" + "11981" ], "x-ms-correlation-request-id": [ - "6e791598-33e7-4796-a247-e4995c0016bd" + "e95fef40-4cb2-486a-bb5d-3d09db6b0f08" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033213Z:6e791598-33e7-4796-a247-e4995c0016bd" + "EASTASIA:20200611T051926Z:e95fef40-4cb2-486a-bb5d-3d09db6b0f08" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:32:13 GMT" + "Thu, 11 Jun 2020 05:19:26 GMT" ], "Content-Length": [ - "581" + "561" ], "Content-Type": [ "application/json; charset=utf-8" @@ -558,17 +621,17 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": true,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": true,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "4443d873-9129-4f89-8d18-555a192259e1" + "c17cb8ed-e66e-45c4-bb4f-aa0fac9cc744" ], "Accept-Language": [ "en-US" @@ -576,7 +639,7 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -591,28 +654,28 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "ca218435-e83c-48a2-83e3-ae0fd5d522e8" + "bdbba620-fde7-4daa-9612-6b9c57577cb5" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "11981" + "11977" ], "x-ms-correlation-request-id": [ - "b9bc2336-d911-4e1b-aa1a-c60b9f31ce5b" + "ec101686-7328-4890-ab80-693a742a17f5" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033244Z:b9bc2336-d911-4e1b-aa1a-c60b9f31ce5b" + "EASTASIA:20200611T051958Z:ec101686-7328-4890-ab80-693a742a17f5" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:32:44 GMT" + "Thu, 11 Jun 2020 05:19:58 GMT" ], "Content-Length": [ - "583" + "563" ], "Content-Type": [ "application/json; charset=utf-8" @@ -621,17 +684,17 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": false,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": false,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": false,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": false,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "0b0ce447-bbf5-4b44-a140-74de95d948f7" + "925f835e-cc8b-421a-97cb-dbf661b7e81a" ], "Accept-Language": [ "en-US" @@ -639,7 +702,7 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -654,13 +717,13 @@ "gateway" ], "x-ms-request-id": [ - "ed495a8e-c640-4448-9808-3cbdd5ddf658" + "d6768973-098b-49cd-97d2-9e34dcb99adb" ], "x-ms-correlation-request-id": [ - "ed495a8e-c640-4448-9808-3cbdd5ddf658" + "d6768973-098b-49cd-97d2-9e34dcb99adb" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033315Z:ed495a8e-c640-4448-9808-3cbdd5ddf658" + "EASTASIA:20200611T052103Z:d6768973-098b-49cd-97d2-9e34dcb99adb" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -669,7 +732,7 @@ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:33:15 GMT" + "Thu, 11 Jun 2020 05:21:02 GMT" ], "Content-Type": [ "application/json; charset=utf-8" @@ -678,20 +741,20 @@ "-1" ], "Content-Length": [ - "184" + "236" ] }, - "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504' under resource group 'zzy-test-rg' was not found.\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508' under resource group 'ywtest' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix\"\r\n }\r\n}", "StatusCode": 404 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "9bec76ac-9ab8-46a0-a97a-44d701396f8f" + "312dbc47-e527-48e4-b55e-4c8ea85b72f7" ], "Accept-Language": [ "en-US" @@ -699,7 +762,7 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -714,13 +777,13 @@ "gateway" ], "x-ms-request-id": [ - "ba955e86-f082-45ec-aa5f-c1b11bbc59c4" + "4d2b6974-ce3d-4c58-b929-eaf382255a8d" ], "x-ms-correlation-request-id": [ - "ba955e86-f082-45ec-aa5f-c1b11bbc59c4" + "4d2b6974-ce3d-4c58-b929-eaf382255a8d" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033316Z:ba955e86-f082-45ec-aa5f-c1b11bbc59c4" + "EASTASIA:20200611T052104Z:4d2b6974-ce3d-4c58-b929-eaf382255a8d" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -729,7 +792,7 @@ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:33:15 GMT" + "Thu, 11 Jun 2020 05:21:03 GMT" ], "Content-Type": [ "application/json; charset=utf-8" @@ -738,20 +801,20 @@ "-1" ], "Content-Length": [ - "184" + "236" ] }, - "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504' under resource group 'zzy-test-rg' was not found.\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508' under resource group 'ywtest' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix\"\r\n }\r\n}", "StatusCode": 404 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview&force=false", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3JmZvcmNlPWZhbHNl", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview&force=false", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXcmZm9yY2U9ZmFsc2U=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"nodeCount\": 3,\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\"\r\n },\r\n \"location\": \"eastus\"\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"nodeCount\": 3,\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\"\r\n },\r\n \"location\": \"eastus2\"\r\n}", "RequestHeaders": { "x-ms-client-request-id": [ - "59171d14-7dcb-467b-9d9e-41b5cef3f5f4" + "8994224e-ba60-4d49-990a-5b46df2285f1" ], "Accept-Language": [ "en-US" @@ -759,14 +822,14 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ], "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "169" + "170" ] }, "ResponseHeaders": { @@ -777,13 +840,13 @@ "no-cache" ], "Location": [ - "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/e4af85e5-96d5-4c93-bc74-f6169f3de699?api-version=2019-06-01-preview" + "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationResults/13dd106a-626b-4f93-a824-f6a24b88428e?api-version=2019-06-01-preview" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "Azure-AsyncOperation": [ - "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/e4af85e5-96d5-4c93-bc74-f6169f3de699?api-version=2019-06-01-preview" + "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationStatuses/13dd106a-626b-4f93-a824-f6a24b88428e?api-version=2019-06-01-preview" ], "Access-Control-Allow-Headers": [ "Location" @@ -792,7 +855,7 @@ "Location" ], "x-ms-request-id": [ - "544c3c94-94b8-42be-8614-3ebb31e74b21" + "31bee15d-e406-49dc-8ba4-a87df31b5f84" ], "Server": [ "Microsoft-HTTPAPI/2.0" @@ -801,19 +864,19 @@ "1199" ], "x-ms-correlation-request-id": [ - "60a06073-053d-4d3c-904b-0954356398de" + "82a7e3c5-69f0-4a2f-b098-11d7b1bd5a63" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033039Z:60a06073-053d-4d3c-904b-0954356398de" + "EASTASIA:20200611T051714Z:82a7e3c5-69f0-4a2f-b098-11d7b1bd5a63" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:30:39 GMT" + "Thu, 11 Jun 2020 05:17:13 GMT" ], "Content-Length": [ - "419" + "398" ], "Content-Type": [ "application/json; charset=utf-8" @@ -822,17 +885,17 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Provisioning\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\"\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Provisioning\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\"\r\n}", "StatusCode": 202 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview&force=false", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3JmZvcmNlPWZhbHNl", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview&force=false", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXcmZm9yY2U9ZmFsc2U=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"nodeCount\": 3,\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\"\r\n },\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n },\r\n \"location\": \"eastus\"\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"nodeCount\": 3,\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\"\r\n },\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n },\r\n \"location\": \"eastus2\"\r\n}", "RequestHeaders": { "x-ms-client-request-id": [ - "bc062120-05d8-4b0f-a9c5-8a5f91ad13c3" + "cdef99fa-2800-459a-b188-99fea252a7fe" ], "Accept-Language": [ "en-US" @@ -840,14 +903,14 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ], "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "309" + "305" ] }, "ResponseHeaders": { @@ -858,13 +921,13 @@ "no-cache" ], "Location": [ - "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/e8ba8dad-a3d5-45ff-8645-7f6245056a9a?api-version=2019-06-01-preview" + "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationResults/2d24d5d2-ec50-4644-ba25-ccbbfdeec301?api-version=2019-06-01-preview" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "Azure-AsyncOperation": [ - "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/e8ba8dad-a3d5-45ff-8645-7f6245056a9a?api-version=2019-06-01-preview" + "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationStatuses/2d24d5d2-ec50-4644-ba25-ccbbfdeec301?api-version=2019-06-01-preview" ], "Access-Control-Allow-Headers": [ "Location" @@ -873,28 +936,28 @@ "Location" ], "x-ms-request-id": [ - "d633e43a-4d8f-4bfd-a367-e0012aec5262" + "3ca0628c-f60f-4195-a661-d5d04644d230" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" + "1197" ], "x-ms-correlation-request-id": [ - "d66b7a57-77ec-4844-aa41-c752a83b2242" + "e507b658-6502-47d0-9aca-ef642d3d2194" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033111Z:d66b7a57-77ec-4844-aa41-c752a83b2242" + "EASTASIA:20200611T051823Z:e507b658-6502-47d0-9aca-ef642d3d2194" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:31:11 GMT" + "Thu, 11 Jun 2020 05:18:22 GMT" ], "Content-Length": [ - "451" + "430" ], "Content-Type": [ "application/json; charset=utf-8" @@ -903,17 +966,17 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Provisioning\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Provisioning\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", "StatusCode": 202 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview&force=false", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3JmZvcmNlPWZhbHNl", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview&force=false", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXcmZm9yY2U9ZmFsc2U=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"autoScale\": {\r\n \"minNodeCount\": 3,\r\n \"enabled\": true,\r\n \"maxNodeCount\": 10\r\n },\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"autoPause\": {\r\n \"delayInMinutes\": 15,\r\n \"enabled\": true\r\n },\r\n \"nodeCount\": 3,\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\"\r\n },\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n },\r\n \"location\": \"eastus\"\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"autoScale\": {\r\n \"minNodeCount\": 3,\r\n \"enabled\": true,\r\n \"maxNodeCount\": 10\r\n },\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"autoPause\": {\r\n \"delayInMinutes\": 15,\r\n \"enabled\": true\r\n },\r\n \"nodeCount\": 3,\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\"\r\n },\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n },\r\n \"location\": \"eastus2\"\r\n}", "RequestHeaders": { "x-ms-client-request-id": [ - "fdf620f0-5e20-41ba-a332-70ea4ed3fdf9" + "36f5bc96-b25f-4a31-932c-2a86acc21031" ], "Accept-Language": [ "en-US" @@ -921,14 +984,14 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ], "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "493" + "489" ] }, "ResponseHeaders": { @@ -939,13 +1002,13 @@ "no-cache" ], "Location": [ - "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/97b67f5e-cca7-4a96-81dd-0b5a91da2e31?api-version=2019-06-01-preview" + "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationResults/7dcc9658-8967-4ce7-810c-69125c3f227a?api-version=2019-06-01-preview" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "Azure-AsyncOperation": [ - "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/97b67f5e-cca7-4a96-81dd-0b5a91da2e31?api-version=2019-06-01-preview" + "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationStatuses/7dcc9658-8967-4ce7-810c-69125c3f227a?api-version=2019-06-01-preview" ], "Access-Control-Allow-Headers": [ "Location" @@ -954,28 +1017,28 @@ "Location" ], "x-ms-request-id": [ - "0de7103b-f738-401e-94d9-e9c9d42abf89" + "9299dc83-431a-4bd9-bc9a-226502c355ea" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1197" + "1196" ], "x-ms-correlation-request-id": [ - "4511eb46-d55a-49fa-816b-ffe840c68425" + "fe68da6d-8824-457c-bfc5-4789db6af2b7" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033143Z:4511eb46-d55a-49fa-816b-ffe840c68425" + "EASTASIA:20200611T051855Z:fe68da6d-8824-457c-bfc5-4789db6af2b7" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:31:42 GMT" + "Thu, 11 Jun 2020 05:18:54 GMT" ], "Content-Length": [ - "564" + "543" ], "Content-Type": [ "application/json; charset=utf-8" @@ -984,17 +1047,17 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": true,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Provisioning\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": true,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Provisioning\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", "StatusCode": 202 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview&force=false", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3JmZvcmNlPWZhbHNl", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview&force=false", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXcmZm9yY2U9ZmFsc2U=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"autoScale\": {\r\n \"minNodeCount\": 3,\r\n \"enabled\": false,\r\n \"maxNodeCount\": 10\r\n },\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"autoPause\": {\r\n \"delayInMinutes\": 15,\r\n \"enabled\": false\r\n },\r\n \"nodeCount\": 3,\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\"\r\n },\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n },\r\n \"location\": \"eastus\"\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"autoScale\": {\r\n \"minNodeCount\": 3,\r\n \"enabled\": false,\r\n \"maxNodeCount\": 10\r\n },\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"autoPause\": {\r\n \"delayInMinutes\": 15,\r\n \"enabled\": false\r\n },\r\n \"nodeCount\": 3,\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\"\r\n },\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n },\r\n \"location\": \"eastus2\"\r\n}", "RequestHeaders": { "x-ms-client-request-id": [ - "d6c52f75-4479-4155-91c7-7b21d62d81f9" + "5ff2413f-a522-4725-a2e0-faef6cef711a" ], "Accept-Language": [ "en-US" @@ -1002,14 +1065,14 @@ "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ], "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "495" + "491" ] }, "ResponseHeaders": { @@ -1020,13 +1083,13 @@ "no-cache" ], "Location": [ - "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/f572ce01-2b2c-4ae2-b032-39d243dd81fb?api-version=2019-06-01-preview" + "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationResults/57b1f514-9f38-418c-a8e1-a84bac2a8c87?api-version=2019-06-01-preview" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "Azure-AsyncOperation": [ - "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/f572ce01-2b2c-4ae2-b032-39d243dd81fb?api-version=2019-06-01-preview" + "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationStatuses/57b1f514-9f38-418c-a8e1-a84bac2a8c87?api-version=2019-06-01-preview" ], "Access-Control-Allow-Headers": [ "Location" @@ -1035,28 +1098,28 @@ "Location" ], "x-ms-request-id": [ - "74e9be47-ec82-4ff5-ad70-ade13142108c" + "ea895b8e-c1d3-43f5-8151-4fefeb6d7bfe" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1196" + "1195" ], "x-ms-correlation-request-id": [ - "1d403725-2739-4866-91cf-803c686bf732" + "c8bc461e-3ff7-4f33-baa2-8f42ef2d079c" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033213Z:1d403725-2739-4866-91cf-803c686bf732" + "EASTASIA:20200611T051927Z:c8bc461e-3ff7-4f33-baa2-8f42ef2d079c" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:32:13 GMT" + "Thu, 11 Jun 2020 05:19:26 GMT" ], "Content-Length": [ - "566" + "545" ], "Content-Type": [ "application/json; charset=utf-8" @@ -1065,19 +1128,19 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": false,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": false,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Provisioning\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": false,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": false,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Provisioning\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", "StatusCode": 202 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/e4af85e5-96d5-4c93-bc74-f6169f3de699?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL29wZXJhdGlvblN0YXR1c2VzL2U0YWY4NWU1LTk2ZDUtNGM5My1iYzc0LWY2MTY5ZjNkZTY5OT9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationStatuses/13dd106a-626b-4f93-a824-f6a24b88428e?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2Uvb3BlcmF0aW9uU3RhdHVzZXMvMTNkZDEwNmEtNjI2Yi00ZjkzLWE4MjQtZjZhMjRiODg0MjhlP2FwaS12ZXJzaW9uPTIwMTktMDYtMDEtcHJldmlldw==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -1092,7 +1155,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "594bbe73-eb10-4c46-98fb-e4da27d04786" + "83cf1dd3-51cd-4f6b-b910-43ae224226ec" ], "Server": [ "Microsoft-HTTPAPI/2.0" @@ -1101,16 +1164,16 @@ "11995" ], "x-ms-correlation-request-id": [ - "8c881e2f-45d0-40f6-9412-ad351cfee664" + "a057e455-89e4-4f1b-ab8d-e123cbfe80b8" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033110Z:8c881e2f-45d0-40f6-9412-ad351cfee664" + "EASTASIA:20200611T051744Z:a057e455-89e4-4f1b-ab8d-e123cbfe80b8" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:31:09 GMT" + "Thu, 11 Jun 2020 05:17:44 GMT" ], "Content-Length": [ "22" @@ -1126,15 +1189,15 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview&force=false", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3JmZvcmNlPWZhbHNl", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview&force=false", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXcmZm9yY2U9ZmFsc2U=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -1149,7 +1212,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "494d7c6b-900a-4482-ae70-5b35aca1905a" + "38d8dd8a-23b7-4e71-a792-bdfc53237f9c" ], "Server": [ "Microsoft-HTTPAPI/2.0" @@ -1158,19 +1221,19 @@ "11994" ], "x-ms-correlation-request-id": [ - "710c7226-73fa-4e4c-ad9a-c4af420089ed" + "1f62dacd-1665-47c5-994e-519fbb3073cb" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033110Z:710c7226-73fa-4e4c-ad9a-c4af420089ed" + "EASTASIA:20200611T051745Z:1f62dacd-1665-47c5-994e-519fbb3073cb" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:31:09 GMT" + "Thu, 11 Jun 2020 05:17:44 GMT" ], "Content-Length": [ - "436" + "416" ], "Content-Type": [ "application/json; charset=utf-8" @@ -1179,19 +1242,19 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus\"\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview&force=false", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3JmZvcmNlPWZhbHNl", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview&force=false", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXcmZm9yY2U9ZmFsc2U=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -1206,28 +1269,28 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "d299590b-77a1-4867-8a0b-074fbd88cfaf" + "36c0818d-6937-46b9-b740-f42500816831" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "11989" + "11985" ], "x-ms-correlation-request-id": [ - "cee3ccd0-270c-4542-a7be-d8c3d88e6cd9" + "30e6dd7d-29be-4140-aaf9-96020d539f59" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033142Z:cee3ccd0-270c-4542-a7be-d8c3d88e6cd9" + "EASTASIA:20200611T051853Z:30e6dd7d-29be-4140-aaf9-96020d539f59" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:31:41 GMT" + "Thu, 11 Jun 2020 05:18:53 GMT" ], "Content-Length": [ - "468" + "448" ], "Content-Type": [ "application/json; charset=utf-8" @@ -1236,19 +1299,19 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview&force=false", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3JmZvcmNlPWZhbHNl", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview&force=false", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXcmZm9yY2U9ZmFsc2U=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -1263,28 +1326,28 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "82490722-e17e-4d42-9bea-465747dd5bf6" + "f43cbcbe-b2ff-4463-a86c-54a0322e613a" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "11986" + "11982" ], "x-ms-correlation-request-id": [ - "8fea0a31-c67c-4aec-88f6-8c2889d825e0" + "512cd31c-a760-437d-ba20-03ed5920fe5f" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033213Z:8fea0a31-c67c-4aec-88f6-8c2889d825e0" + "EASTASIA:20200611T051925Z:512cd31c-a760-437d-ba20-03ed5920fe5f" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:32:13 GMT" + "Thu, 11 Jun 2020 05:19:25 GMT" ], "Content-Length": [ - "581" + "561" ], "Content-Type": [ "application/json; charset=utf-8" @@ -1293,19 +1356,19 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": true,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": true,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview&force=false", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3JmZvcmNlPWZhbHNl", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview&force=false", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXcmZm9yY2U9ZmFsc2U=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -1320,28 +1383,28 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "e35df48f-c930-4d4e-9445-2b907da27c8b" + "d9e027ec-87c2-49d4-9e2d-f97e0d4714f7" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "11983" + "11979" ], "x-ms-correlation-request-id": [ - "066b5c76-eb4c-4545-b0b9-13a00cb7da6f" + "9917f588-4c8f-49bf-809b-54ec3efdf2cc" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033244Z:066b5c76-eb4c-4545-b0b9-13a00cb7da6f" + "EASTASIA:20200611T051958Z:9917f588-4c8f-49bf-809b-54ec3efdf2cc" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:32:43 GMT" + "Thu, 11 Jun 2020 05:19:57 GMT" ], "Content-Length": [ - "583" + "563" ], "Content-Type": [ "application/json; charset=utf-8" @@ -1350,19 +1413,25 @@ "-1" ] }, - "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": false,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": false,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": false,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": false,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/e8ba8dad-a3d5-45ff-8645-7f6245056a9a?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL29wZXJhdGlvblN0YXR1c2VzL2U4YmE4ZGFkLWEzZDUtNDVmZi04NjQ1LTdmNjI0NTA1NmE5YT9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps65081?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwODE/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { + "x-ms-client-request-id": [ + "bce8f3c0-2112-4d43-ac77-69a7bd47bed1" + ], + "Accept-Language": [ + "en-US" + ], "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -1373,53 +1442,56 @@ "Pragma": [ "no-cache" ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" + "x-ms-failure-cause": [ + "gateway" ], "x-ms-request-id": [ - "b1e4b7cc-fa33-453c-b4a2-f46d2bf6477b" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11990" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" + "6627ce66-597e-4286-9309-d2e5ba33c67f" ], "x-ms-correlation-request-id": [ - "d576cae4-c0d2-4ef4-866b-bf0237fafd74" + "6627ce66-597e-4286-9309-d2e5ba33c67f" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033142Z:d576cae4-c0d2-4ef4-866b-bf0237fafd74" + "EASTASIA:20200611T051745Z:6627ce66-597e-4286-9309-d2e5ba33c67f" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:31:41 GMT" - ], - "Content-Length": [ - "22" + "Thu, 11 Jun 2020 05:17:45 GMT" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" + ], + "Content-Length": [ + "237" ] }, - "ResponseBody": "{\r\n \"status\": \"Succeeded\"\r\n}", - "StatusCode": 200 + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Synapse/workspaces/testspace/bigDataPools/ps65081' under resource group 'ywtest' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix\"\r\n }\r\n}", + "StatusCode": 404 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/97b67f5e-cca7-4a96-81dd-0b5a91da2e31?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL29wZXJhdGlvblN0YXR1c2VzLzk3YjY3ZjVlLWNjYTctNGE5Ni04MWRkLTBiNWE5MWRhMmUzMT9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps65081?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwODE/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { + "x-ms-client-request-id": [ + "ec4e7449-d818-48cf-bdfd-cd079b4a6af9" + ], + "Accept-Language": [ + "en-US" + ], "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -1434,28 +1506,28 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "fae8436e-3416-4560-9352-62dc888a6108" + "ac58ca13-fe47-4f04-a1fe-71d53aacba08" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "11987" + "11974" ], "x-ms-correlation-request-id": [ - "18db4353-2202-4e7f-86f3-c7736935cbb9" + "9690004e-07e7-42c3-be0e-b9c02333205a" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033213Z:18db4353-2202-4e7f-86f3-c7736935cbb9" + "EASTASIA:20200611T052031Z:9690004e-07e7-42c3-be0e-b9c02333205a" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:32:13 GMT" + "Thu, 11 Jun 2020 05:20:31 GMT" ], "Content-Length": [ - "22" + "486" ], "Content-Type": [ "application/json; charset=utf-8" @@ -1464,20 +1536,92 @@ "-1" ] }, - "ResponseBody": "{\r\n \"status\": \"Succeeded\"\r\n}", + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:49.6633333Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 6\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps65081\",\r\n \"name\": \"ps65081\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/f572ce01-2b2c-4ae2-b032-39d243dd81fb?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL29wZXJhdGlvblN0YXR1c2VzL2Y1NzJjZTAxLTJiMmMtNGFlMi1iMDMyLTM5ZDI0M2RkODFmYj9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps65081?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwODE/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { + "x-ms-client-request-id": [ + "b08d1fa9-9e9f-48cc-b202-818b6e072244" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-failure-cause": [ + "gateway" + ], + "x-ms-request-id": [ + "540cbf7b-5fff-4a1f-add1-0eda28cec0f3" + ], + "x-ms-correlation-request-id": [ + "540cbf7b-5fff-4a1f-add1-0eda28cec0f3" + ], + "x-ms-routing-request-id": [ + "EASTASIA:20200611T052104Z:540cbf7b-5fff-4a1f-add1-0eda28cec0f3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 11 Jun 2020 05:21:04 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "237" + ] + }, + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Synapse/workspaces/testspace/bigDataPools/ps65081' under resource group 'ywtest' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix\"\r\n }\r\n}", + "StatusCode": 404 + }, + { + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps65081?api-version=2019-06-01-preview&force=false", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwODE/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3JmZvcmNlPWZhbHNl", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"autoScale\": {\r\n \"minNodeCount\": 3,\r\n \"enabled\": true,\r\n \"maxNodeCount\": 6\r\n },\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\"\r\n },\r\n \"location\": \"eastus2\"\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "6cd18c87-67cf-4233-8d95-802e78febad5" + ], + "Accept-Language": [ + "en-US" + ], "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "252" ] }, "ResponseHeaders": { @@ -1487,32 +1631,44 @@ "Pragma": [ "no-cache" ], + "Location": [ + "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationResults/fb6227df-be4d-4312-903a-42ca328be5f2?api-version=2019-06-01-preview" + ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationStatuses/fb6227df-be4d-4312-903a-42ca328be5f2?api-version=2019-06-01-preview" + ], + "Access-Control-Allow-Headers": [ + "Location" + ], + "Access-Control-Expose-Headers": [ + "Location" + ], "x-ms-request-id": [ - "62205866-884b-4f0d-9289-b3a94069ce91" + "ffb9d765-3d56-49e6-a554-4d5bc71cd443" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11984" + "x-ms-ratelimit-remaining-subscription-writes": [ + "1198" ], "x-ms-correlation-request-id": [ - "7e668224-8cfa-4120-8e0f-ee3c7befe4d1" + "6f5838ca-cec2-4d3b-8fc5-85acb9e8ea20" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033244Z:7e668224-8cfa-4120-8e0f-ee3c7befe4d1" + "EASTASIA:20200611T051749Z:6f5838ca-cec2-4d3b-8fc5-85acb9e8ea20" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:32:43 GMT" + "Thu, 11 Jun 2020 05:17:49 GMT" ], "Content-Length": [ - "22" + "468" ], "Content-Type": [ "application/json; charset=utf-8" @@ -1521,25 +1677,19 @@ "-1" ] }, - "ResponseBody": "{\r\n \"status\": \"Succeeded\"\r\n}", - "StatusCode": 200 + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:49.6633333Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 6\r\n },\r\n \"provisioningState\": \"Provisioning\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps65081\",\r\n \"name\": \"ps65081\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\"\r\n}", + "StatusCode": 202 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scz9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationStatuses/fb6227df-be4d-4312-903a-42ca328be5f2?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2Uvb3BlcmF0aW9uU3RhdHVzZXMvZmI2MjI3ZGYtYmU0ZC00MzEyLTkwM2EtNDJjYTMyOGJlNWYyP2FwaS12ZXJzaW9uPTIwMTktMDYtMDEtcHJldmlldw==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { - "x-ms-client-request-id": [ - "4b18dcf3-981e-4c9f-8f5a-3c3995b75457" - ], - "Accept-Language": [ - "en-US" - ], "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -1554,28 +1704,28 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "cb9318c5-e935-462c-9602-cd8e27047243" + "7c760287-4620-49a6-ad05-5d8f068061ad" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "11982" + "11991" ], "x-ms-correlation-request-id": [ - "f2fffaf6-b99b-4bb0-8685-d6cfe826b1f8" + "e2ee83b0-43a1-43bf-b921-336e34399d6f" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033244Z:f2fffaf6-b99b-4bb0-8685-d6cfe826b1f8" + "EASTASIA:20200611T051820Z:e2ee83b0-43a1-43bf-b921-336e34399d6f" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:32:43 GMT" + "Thu, 11 Jun 2020 05:18:20 GMT" ], "Content-Length": [ - "1165" + "22" ], "Content-Type": [ "application/json; charset=utf-8" @@ -1584,25 +1734,19 @@ "-1" ] }, - "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-22T03:30:39.7666667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": false,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": false,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504\",\r\n \"name\": \"ps2504\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-04-14T04:16:11.72Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Medium\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 39\r\n },\r\n \"autoPause\": {\r\n \"enabled\": true,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testsparkpool\",\r\n \"name\": \"testsparkpool\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus\",\r\n \"tags\": {}\r\n }\r\n ]\r\n}", + "ResponseBody": "{\r\n \"status\": \"Succeeded\"\r\n}", "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/ps2504?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL2JpZ0RhdGFQb29scy9wczI1MDQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", - "RequestMethod": "DELETE", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps65081?api-version=2019-06-01-preview&force=false", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwODE/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3JmZvcmNlPWZhbHNl", + "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { - "x-ms-client-request-id": [ - "1fa62d2a-cf22-4543-9b68-862d0aaffd52" - ], - "Accept-Language": [ - "en-US" - ], "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -1613,59 +1757,53 @@ "Pragma": [ "no-cache" ], - "Location": [ - "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/78571350-3c7f-444c-8bcb-17bb10ab9807?api-version=2019-06-01-preview" - ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "Access-Control-Allow-Headers": [ - "Location" - ], - "Access-Control-Expose-Headers": [ - "Location" - ], "x-ms-request-id": [ - "0252f2ba-f204-40e8-abd8-6c27216a2db8" + "37da36f1-4b01-4651-8dc6-28e5e1b9679d" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], - "x-ms-ratelimit-remaining-subscription-deletes": [ - "14999" + "x-ms-ratelimit-remaining-subscription-reads": [ + "11990" ], "x-ms-correlation-request-id": [ - "92580d22-202f-43bc-a893-520ea5bcc3ea" + "00cc2d13-163c-4907-bc73-30dce77f05b1" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033245Z:92580d22-202f-43bc-a893-520ea5bcc3ea" + "EASTASIA:20200611T051820Z:00cc2d13-163c-4907-bc73-30dce77f05b1" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:32:44 GMT" + "Thu, 11 Jun 2020 05:18:20 GMT" + ], + "Content-Length": [ + "486" + ], + "Content-Type": [ + "application/json; charset=utf-8" ], "Expires": [ "-1" - ], - "Content-Length": [ - "0" ] }, - "ResponseBody": "", - "StatusCode": 202 + "ResponseBody": "{\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:49.6633333Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 6\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps65081\",\r\n \"name\": \"ps65081\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n}", + "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/78571350-3c7f-444c-8bcb-17bb10ab9807?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL29wZXJhdGlvblJlc3VsdHMvNzg1NzEzNTAtM2M3Zi00NDRjLThiY2ItMTdiYjEwYWI5ODA3P2FwaS12ZXJzaW9uPTIwMTktMDYtMDEtcHJldmlldw==", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationStatuses/2d24d5d2-ec50-4644-ba25-ccbbfdeec301?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2Uvb3BlcmF0aW9uU3RhdHVzZXMvMmQyNGQ1ZDItZWM1MC00NjQ0LWJhMjUtY2NiYmZkZWVjMzAxP2FwaS12ZXJzaW9uPTIwMTktMDYtMDEtcHJldmlldw==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -1680,43 +1818,49 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "51ff14df-94f6-4c09-b25b-ee16a850a412" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11980" + "dfea6cd7-71cf-436d-b71e-4d9cccc3e3d1" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11986" + ], "x-ms-correlation-request-id": [ - "605e981d-163b-4301-942a-4a2fd7e84d35" + "3eabadd4-b69f-4fe3-808c-0aa098b98740" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033315Z:605e981d-163b-4301-942a-4a2fd7e84d35" + "EASTASIA:20200611T051853Z:3eabadd4-b69f-4fe3-808c-0aa098b98740" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:33:14 GMT" + "Thu, 11 Jun 2020 05:18:52 GMT" + ], + "Content-Length": [ + "22" + ], + "Content-Type": [ + "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "ResponseBody": "", - "StatusCode": 204 + "ResponseBody": "{\r\n \"status\": \"Succeeded\"\r\n}", + "StatusCode": 200 }, { - "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/zzy-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/78571350-3c7f-444c-8bcb-17bb10ab9807?api-version=2019-06-01-preview", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3p6eS10ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3luYXBzZS93b3Jrc3BhY2VzL3Rlc3RzeW5hcHNld29ya3NwYWNlL29wZXJhdGlvblJlc3VsdHMvNzg1NzEzNTAtM2M3Zi00NDRjLThiY2ItMTdiYjEwYWI5ODA3P2FwaS12ZXJzaW9uPTIwMTktMDYtMDEtcHJldmlldw==", + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationStatuses/7dcc9658-8967-4ce7-810c-69125c3f227a?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2Uvb3BlcmF0aW9uU3RhdHVzZXMvN2RjYzk2NTgtODk2Ny00Y2U3LTgxMGMtNjkxMjVjM2YyMjdhP2FwaS12ZXJzaW9uPTIwMTktMDYtMDEtcHJldmlldw==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.28207.03", "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.17763.", + "OSVersion/Microsoft.Windows.10.0.18363.", "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" ] }, @@ -1731,25 +1875,493 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "ce3d1b1e-c20b-40f1-bfda-b99810986b68" + "f99d5ee3-2939-46bd-85e3-efef2ee2cecc" ], "Server": [ "Microsoft-HTTPAPI/2.0" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "11979" + "11983" + ], + "x-ms-correlation-request-id": [ + "33f1b789-cc42-4a24-89a3-605a1687bdd2" + ], + "x-ms-routing-request-id": [ + "EASTASIA:20200611T051925Z:33f1b789-cc42-4a24-89a3-605a1687bdd2" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 11 Jun 2020 05:19:25 GMT" + ], + "Content-Length": [ + "22" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"status\": \"Succeeded\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationStatuses/57b1f514-9f38-418c-a8e1-a84bac2a8c87?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2Uvb3BlcmF0aW9uU3RhdHVzZXMvNTdiMWY1MTQtOWYzOC00MThjLWE4ZTEtYTg0YmFjMmE4Yzg3P2FwaS12ZXJzaW9uPTIwMTktMDYtMDEtcHJldmlldw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "a97e754c-9872-438c-8cf0-038f60ab5a7c" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11980" + ], + "x-ms-correlation-request-id": [ + "a06f4790-e275-419d-ac3c-9cd8fce31c9e" + ], + "x-ms-routing-request-id": [ + "EASTASIA:20200611T051957Z:a06f4790-e275-419d-ac3c-9cd8fce31c9e" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 11 Jun 2020 05:19:56 GMT" + ], + "Content-Length": [ + "22" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"status\": \"Succeeded\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzP2FwaS12ZXJzaW9uPTIwMTktMDYtMDEtcHJldmlldw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "586ea303-b168-4ce9-af2f-5a7dd18fa9b2" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "9274875d-0984-46cd-96b0-b5a78354f305" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11978" + ], + "x-ms-correlation-request-id": [ + "c7a93233-0698-478a-865e-1a419c8189ea" + ], + "x-ms-routing-request-id": [ + "EASTASIA:20200611T051958Z:c7a93233-0698-478a-865e-1a419c8189ea" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 11 Jun 2020 05:19:57 GMT" + ], + "Content-Length": [ + "7703" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:14.04Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 3,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": false,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"autoPause\": {\r\n \"enabled\": false,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508\",\r\n \"name\": \"ps6508\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\",\r\n \"tags\": {\r\n \"TestTag\": \"TestUpdate\"\r\n }\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:17:49.6633333Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 6\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps65081\",\r\n \"name\": \"ps65081\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-08T07:55:44.5166667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Medium\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 40\r\n },\r\n \"autoPause\": {\r\n \"enabled\": true,\r\n \"delayInMinutes\": 15\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest\",\r\n \"name\": \"sparktest\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\",\r\n \"tags\": {}\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-09T09:30:22.6033333Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 5,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest1\",\r\n \"name\": \"sparktest1\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-10T03:16:36.19Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest10\",\r\n \"name\": \"sparktest10\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-10T04:49:24.85Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest11\",\r\n \"name\": \"sparktest11\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-10T04:51:06.78Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 5,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest12\",\r\n \"name\": \"sparktest12\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-10T04:52:11.5633333Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 4,\r\n \"maxNodeCount\": 8\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest13\",\r\n \"name\": \"sparktest13\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-09T09:31:34.8133333Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 20,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest2\",\r\n \"name\": \"sparktest2\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-11T05:15:48.6366667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest20\",\r\n \"name\": \"sparktest20\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-09T09:45:39.0133333Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 20,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest3\",\r\n \"name\": \"sparktest3\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-09T09:53:39.1266667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 10,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest4\",\r\n \"name\": \"sparktest4\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-10T01:04:53.36Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest5\",\r\n \"name\": \"sparktest5\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-10T01:16:20.6633333Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest6\",\r\n \"name\": \"sparktest6\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-10T01:25:11.1166667Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 0,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"autoScale\": {\r\n \"enabled\": true,\r\n \"minNodeCount\": 3,\r\n \"maxNodeCount\": 10\r\n },\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest7\",\r\n \"name\": \"sparktest7\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"creationDate\": \"2020-06-10T01:26:42.47Z\",\r\n \"sparkVersion\": \"2.4\",\r\n \"nodeCount\": 5,\r\n \"nodeSize\": \"Small\",\r\n \"nodeSizeFamily\": \"MemoryOptimized\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/sparktest8\",\r\n \"name\": \"sparktest8\",\r\n \"type\": \"Microsoft.Synapse/workspaces/bigDataPools\",\r\n \"location\": \"eastus2\"\r\n }\r\n ]\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps6508?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwOD9hcGktdmVyc2lvbj0yMDE5LTA2LTAxLXByZXZpZXc=", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "c485bc7f-cca5-4610-a419-1850e312209d" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationResults/d26062c3-6aae-4447-9af1-753042dc5c64?api-version=2019-06-01-preview" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Access-Control-Allow-Headers": [ + "Location" + ], + "Access-Control-Expose-Headers": [ + "Location" + ], + "x-ms-request-id": [ + "d125a4e5-dabd-44d1-a248-c0905828ab15" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-deletes": [ + "14999" + ], + "x-ms-correlation-request-id": [ + "6606db81-daad-4bb9-a6ae-795e76327b26" + ], + "x-ms-routing-request-id": [ + "EASTASIA:20200611T052000Z:6606db81-daad-4bb9-a6ae-795e76327b26" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 11 Jun 2020 05:19:59 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationResults/d26062c3-6aae-4447-9af1-753042dc5c64?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2Uvb3BlcmF0aW9uUmVzdWx0cy9kMjYwNjJjMy02YWFlLTQ0NDctOWFmMS03NTMwNDJkYzVjNjQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "6f0c4d1e-5ef0-4cba-aad4-ef1d8b1756df" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11976" + ], + "x-ms-correlation-request-id": [ + "69e29a31-dd2a-4315-a237-3f2789195c70" + ], + "x-ms-routing-request-id": [ + "EASTASIA:20200611T052030Z:69e29a31-dd2a-4315-a237-3f2789195c70" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 11 Jun 2020 05:20:30 GMT" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "", + "StatusCode": 204 + }, + { + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationResults/d26062c3-6aae-4447-9af1-753042dc5c64?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2Uvb3BlcmF0aW9uUmVzdWx0cy9kMjYwNjJjMy02YWFlLTQ0NDctOWFmMS03NTMwNDJkYzVjNjQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "e8f9645c-7be4-46cc-85c4-4973a6ee2b9e" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11975" + ], + "x-ms-correlation-request-id": [ + "22becfaf-088e-4ea0-940c-92bf34229fd5" + ], + "x-ms-routing-request-id": [ + "EASTASIA:20200611T052030Z:22becfaf-088e-4ea0-940c-92bf34229fd5" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 11 Jun 2020 05:20:30 GMT" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "", + "StatusCode": 204 + }, + { + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/bigDataPools/ps65081?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2UvYmlnRGF0YVBvb2xzL3BzNjUwODE/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "e9ae512d-ef5c-4100-9de3-c80983f09ed5" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationResults/f5a416a3-d602-4f3a-ac39-dd287fba6194?api-version=2019-06-01-preview" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Access-Control-Allow-Headers": [ + "Location" + ], + "Access-Control-Expose-Headers": [ + "Location" + ], + "x-ms-request-id": [ + "ea444542-b5fc-4e84-8bce-71fc7e67f225" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-deletes": [ + "14998" + ], + "x-ms-correlation-request-id": [ + "39921145-af56-4ce0-b2ed-90147cd37fef" + ], + "x-ms-routing-request-id": [ + "EASTASIA:20200611T052032Z:39921145-af56-4ce0-b2ed-90147cd37fef" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 11 Jun 2020 05:20:32 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationResults/f5a416a3-d602-4f3a-ac39-dd287fba6194?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2Uvb3BlcmF0aW9uUmVzdWx0cy9mNWE0MTZhMy1kNjAyLTRmM2EtYWMzOS1kZDI4N2ZiYTYxOTQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "1337f62b-bf16-4223-be83-bc0ed15e6201" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11973" + ], + "x-ms-correlation-request-id": [ + "8d3b6942-3048-4978-a0aa-c59f83d6c59d" + ], + "x-ms-routing-request-id": [ + "EASTASIA:20200611T052102Z:8d3b6942-3048-4978-a0aa-c59f83d6c59d" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 11 Jun 2020 05:21:02 GMT" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "", + "StatusCode": 204 + }, + { + "RequestUri": "/subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourceGroups/ywtest/providers/Microsoft.Synapse/workspaces/testspace/operationResults/f5a416a3-d602-4f3a-ac39-dd287fba6194?api-version=2019-06-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDUxZGRlY2EtMWVkNi00ZDhiLWJhNmYtMWZmNTYxZTVmM2IzL3Jlc291cmNlR3JvdXBzL3l3dGVzdC9wcm92aWRlcnMvTWljcm9zb2Z0LlN5bmFwc2Uvd29ya3NwYWNlcy90ZXN0c3BhY2Uvb3BlcmF0aW9uUmVzdWx0cy9mNWE0MTZhMy1kNjAyLTRmM2EtYWMzOS1kZDI4N2ZiYTYxOTQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMS1wcmV2aWV3", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Synapse.SynapseManagementClient/0.1.0.preview.2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "82822b5f-fc5e-458a-9a0f-ce8fb05fa971" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11972" ], "x-ms-correlation-request-id": [ - "d1eb9a0e-ec8a-4e55-9bbd-158e47fdee8b" + "3df55259-0ffa-4c20-b6d8-1502f703c975" ], "x-ms-routing-request-id": [ - "WESTUS:20200422T033315Z:d1eb9a0e-ec8a-4e55-9bbd-158e47fdee8b" + "EASTASIA:20200611T052103Z:3df55259-0ffa-4c20-b6d8-1502f703c975" ], "X-Content-Type-Options": [ "nosniff" ], "Date": [ - "Wed, 22 Apr 2020 03:33:14 GMT" + "Thu, 11 Jun 2020 05:21:02 GMT" ], "Expires": [ "-1" @@ -1761,12 +2373,12 @@ ], "Names": { "": [ - "ps2504" + "ps6508" ] }, "Variables": { "SubscriptionId": "051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3", - "resourceGroupName": "zzy-test-rg", - "workspaceName": "testsynapseworkspace" + "resourceGroupName": "ywtest", + "workspaceName": "testspace" } } \ No newline at end of file diff --git a/src/Synapse/Synapse/ChangeLog.md b/src/Synapse/Synapse/ChangeLog.md index 1295a9a22f1d..3b6988dda447 100644 --- a/src/Synapse/Synapse/ChangeLog.md +++ b/src/Synapse/Synapse/ChangeLog.md @@ -25,6 +25,7 @@ - Add `Get-AzSynapseFirewallRule` cmdlet - Add `Update-AzSynapseFirewallRule` cmdlet * Removed '-DisallowAllConnection' parameter from the 'New-AzSynapseWorkspace' cmdlet +* Updated parameter set for New-AzSynapseSparkPool to fix node count issue for auto scale ## Version 0.1.0 diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs index a44f5ea0ab18..ea6373f69f0d 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs @@ -22,7 +22,6 @@ public class NewAzureSynapseSparkPool : SynapseCmdletBase private const string CreateByParentObjectAndEnableAutoScaleParameterSet = "CreateByParentObjectAndEnableAutoScaleParameterSet"; private const string CreateByParentObjectAndUnableAutoScaleParameterSet = "CreateByParentObjectAndUnableAutoScaleParameterSet"; - [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndEnableAutoScaleParameterSet, Mandatory = false, HelpMessage = HelpMessages.ResourceGroupName)] [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndUnableAutoScaleParameterSet, @@ -69,9 +68,6 @@ public class NewAzureSynapseSparkPool : SynapseCmdletBase [ValidateSet(Management.Synapse.Models.NodeSize.Small, Management.Synapse.Models.NodeSize.Medium, Management.Synapse.Models.NodeSize.Large, IgnoreCase = true)] [PSArgumentCompleter(Management.Synapse.Models.NodeSize.Small, Management.Synapse.Models.NodeSize.Medium, Management.Synapse.Models.NodeSize.Large)] public string NodeSize { get; set; } - - [Parameter(ValueFromPipelineByPropertyName = false, Mandatory = false, - HelpMessage = HelpMessages.EnableAutoScale)] public SwitchParameter EnableAutoScale { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndEnableAutoScaleParameterSet, @@ -116,8 +112,6 @@ public override void ExecuteCmdlet() switch (ParameterSetName) { case CreateByNameAndEnableAutoScaleParameterSet: - this.EnableAutoScale = true; - break; case CreateByParentObjectAndEnableAutoScaleParameterSet: this.EnableAutoScale = true; break; @@ -164,7 +158,6 @@ public override void ExecuteCmdlet() throw new SynapseException(string.Format(Resources.WorkspaceDoesNotExist, this.WorkspaceName)); } - LibraryRequirements libraryRequirements = null; if (this.IsParameterBound(c => c.LibraryRequirementsFilePath)) { From 7443a564dae69decc9724c49f9c36b20e203128a Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Thu, 11 Jun 2020 15:39:31 +0800 Subject: [PATCH 04/20] fix New-AzSynapseSparkPool for auto scale --- src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 b/src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 index 143bed67d475..c07322c52c89 100644 --- a/src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 +++ b/src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 @@ -27,7 +27,7 @@ function Test-SynapseSparkPool # Test to make sure the SparkPool doesn't exist Assert-False {Test-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName} - # EnableAutoScale + # UnableAutoScale $sparkPoolCreated1 = New-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName -NodeCount $sparkPoolNodeCount -SparkVersion $sparkVersion -NodeSize $sparkPoolNodeSize Assert-AreEqual $sparkPoolName $sparkPoolCreated1.Name @@ -35,7 +35,7 @@ function Test-SynapseSparkPool Assert-AreEqual "Microsoft.Synapse/Workspaces/bigDataPools" $sparkPoolCreated1.Type Assert-True {$sparkPoolCreated1.Id -like "*$resourceGroupName*"} - # just test create for UnableAutoScale + # just test create for EnableAutoScale $sparkPoolCreated2 = New-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName1 -AutoScaleMinNodeCount $sparkAutoScaleMinNodeCount -AutoScaleMaxNodeCount $sparkAutoScaleMaxNodeCount -SparkVersion $sparkVersion -NodeSize $sparkPoolNodeSize Assert-AreEqual $sparkPoolName1 $sparkPoolCreated2.Name From 3d7312da4a42bedf9cca3d53976a2c56d6277c4b Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Thu, 11 Jun 2020 16:22:30 +0800 Subject: [PATCH 05/20] add New-AzSynapseSparkPool help doc --- .../ScenarioTests/SparkPoolTests.ps1 | 28 +++--- .../SparkPool/NewAzureSynapseSparkPool.cs | 2 +- .../Synapse/help/New-AzSynapseSparkPool.md | 86 +++++++++++-------- 3 files changed, 65 insertions(+), 51 deletions(-) diff --git a/src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 b/src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 index c07322c52c89..5696d9952eb3 100644 --- a/src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 +++ b/src/Synapse/Synapse.Test/ScenarioTests/SparkPoolTests.ps1 @@ -9,7 +9,7 @@ function Test-SynapseSparkPool $resourceGroupName = (Get-ResourceGroupName), $workspaceName = (Get-SynapseWorkspaceName), $sparkPoolName = (Get-SynapseSparkPoolName), - $sparkPoolName1 = $sparkPoolName + "1", + $sparkPoolNameForAutoScale = $sparkPoolName + "1", $sparkPoolNodeCount = 3, $sparkAutoScaleMinNodeCount = 3, $sparkAutoScaleMaxNodeCount = 6, @@ -28,20 +28,20 @@ function Test-SynapseSparkPool Assert-False {Test-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName} # UnableAutoScale - $sparkPoolCreated1 = New-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName -NodeCount $sparkPoolNodeCount -SparkVersion $sparkVersion -NodeSize $sparkPoolNodeSize + $sparkPoolCreatedForUnableAutoScale = New-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName -NodeCount $sparkPoolNodeCount -SparkVersion $sparkVersion -NodeSize $sparkPoolNodeSize - Assert-AreEqual $sparkPoolName $sparkPoolCreated1.Name - Assert-AreEqual $location $sparkPoolCreated1.Location - Assert-AreEqual "Microsoft.Synapse/Workspaces/bigDataPools" $sparkPoolCreated1.Type - Assert-True {$sparkPoolCreated1.Id -like "*$resourceGroupName*"} + Assert-AreEqual $sparkPoolName $sparkPoolCreatedForUnableAutoScale.Name + Assert-AreEqual $location $sparkPoolCreatedForUnableAutoScale.Location + Assert-AreEqual "Microsoft.Synapse/Workspaces/bigDataPools" $sparkPoolCreatedForUnableAutoScale.Type + Assert-True {$sparkPoolCreatedForUnableAutoScale.Id -like "*$resourceGroupName*"} # just test create for EnableAutoScale - $sparkPoolCreated2 = New-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName1 -AutoScaleMinNodeCount $sparkAutoScaleMinNodeCount -AutoScaleMaxNodeCount $sparkAutoScaleMaxNodeCount -SparkVersion $sparkVersion -NodeSize $sparkPoolNodeSize + $sparkPoolCreatedForAutoScale = New-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolNameForAutoScale -AutoScaleMinNodeCount $sparkAutoScaleMinNodeCount -AutoScaleMaxNodeCount $sparkAutoScaleMaxNodeCount -SparkVersion $sparkVersion -NodeSize $sparkPoolNodeSize - Assert-AreEqual $sparkPoolName1 $sparkPoolCreated2.Name - Assert-AreEqual $location $sparkPoolCreated2.Location - Assert-AreEqual "Microsoft.Synapse/Workspaces/bigDataPools" $sparkPoolCreated2.Type - Assert-True {$sparkPoolCreated2.Id -like "*$resourceGroupName*"} + Assert-AreEqual $sparkPoolNameForAutoScale $sparkPoolCreatedForAutoScale.Name + Assert-AreEqual $location $sparkPoolCreatedForAutoScale.Location + Assert-AreEqual "Microsoft.Synapse/Workspaces/bigDataPools" $sparkPoolCreatedForAutoScale.Type + Assert-True {$sparkPoolCreatedForAutoScale.Id -like "*$resourceGroupName*"} # In loop to check if Spark pool exists for ($i = 0; $i -le 60; $i++) @@ -52,7 +52,7 @@ function Test-SynapseSparkPool Assert-AreEqual $sparkPoolName $sparkPoolGet[0].Name Assert-AreEqual $location $sparkPoolGet[0].Location Assert-AreEqual "Microsoft.Synapse/Workspaces/bigDataPools" $sparkPoolGet[0].Type - Assert-True {$sparkPoolCreated1.Id -like "*$resourceGroupName*"} + Assert-True {$sparkPoolCreatedForUnableAutoScale.Id -like "*$resourceGroupName*"} break } @@ -126,7 +126,7 @@ function Test-SynapseSparkPool # Delete SparkPool Assert-True {Remove-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName -PassThru} "Remove SparkPool failed." - Assert-True {Remove-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName1 -PassThru} "Remove SparkPool failed." + Assert-True {Remove-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolNameForAutoScale -PassThru} "Remove SparkPool failed." # Verify that it is gone by trying to get it again Assert-Throws {Get-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName} @@ -135,6 +135,6 @@ function Test-SynapseSparkPool { # cleanup the spark pool that was used in case it still exists. This is a best effort task, we ignore failures here. Invoke-HandledCmdlet -Command {Remove-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName -ErrorAction SilentlyContinue} -IgnoreFailures - Invoke-HandledCmdlet -Command {Remove-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolName1 -ErrorAction SilentlyContinue} -IgnoreFailures + Invoke-HandledCmdlet -Command {Remove-AzSynapseSparkPool -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -Name $sparkPoolNameForAutoScale -ErrorAction SilentlyContinue} -IgnoreFailures } } diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs index ea6373f69f0d..a875fb7a032e 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs @@ -68,7 +68,7 @@ public class NewAzureSynapseSparkPool : SynapseCmdletBase [ValidateSet(Management.Synapse.Models.NodeSize.Small, Management.Synapse.Models.NodeSize.Medium, Management.Synapse.Models.NodeSize.Large, IgnoreCase = true)] [PSArgumentCompleter(Management.Synapse.Models.NodeSize.Small, Management.Synapse.Models.NodeSize.Medium, Management.Synapse.Models.NodeSize.Large)] public string NodeSize { get; set; } - public SwitchParameter EnableAutoScale { get; set; } + private SwitchParameter EnableAutoScale { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndEnableAutoScaleParameterSet, Mandatory = true, HelpMessage = HelpMessages.AutoScaleMinNodeCount)] diff --git a/src/Synapse/Synapse/help/New-AzSynapseSparkPool.md b/src/Synapse/Synapse/help/New-AzSynapseSparkPool.md index 86e40c2f48f0..e39ef4c81bfa 100644 --- a/src/Synapse/Synapse/help/New-AzSynapseSparkPool.md +++ b/src/Synapse/Synapse/help/New-AzSynapseSparkPool.md @@ -4,7 +4,7 @@ Module Name: Az.Synapse online version: https://docs.microsoft.com/en-us/powershell/module/az.synapse/new-azsynapsesparkpool schema: 2.0.0 --- - +# test # New-AzSynapseSparkPool ## SYNOPSIS @@ -12,22 +12,36 @@ Creates a Synapse Analytics Spark pool. ## SYNTAX -### CreateByNameParameterSet (Default) +### CreateByNameAndEnableAutoScaleParameterSet (Default) +``` +New-AzSynapseSparkPool [-ResourceGroupName ] -WorkspaceName -Name [-Tag ] + -NodeSize -AutoScaleMinNodeCount -AutoScaleMaxNodeCount [-EnableAutoPause] + [-AutoPauseDelayInMinute ] -SparkVersion [-LibraryRequirementsFilePath ] [-AsJob] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +### CreateByNameAndUnableAutoScaleParameterSet ``` New-AzSynapseSparkPool [-ResourceGroupName ] -WorkspaceName -Name [-Tag ] - -NodeCount -NodeSize [-EnableAutoScale] [-AutoScaleMinNodeCount ] - [-AutoScaleMaxNodeCount ] [-EnableAutoPause] [-AutoPauseDelayInMinute ] -SparkVersion - [-LibraryRequirementsFilePath ] [-AsJob] [-DefaultProfile ] [-WhatIf] - [-Confirm] [] + -NodeCount -NodeSize [-EnableAutoPause] [-AutoPauseDelayInMinute ] + -SparkVersion [-LibraryRequirementsFilePath ] [-AsJob] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] ``` -### CreateByParentObjectParameterSet +### CreateByParentObjectAndEnableAutoScaleParameterSet ``` New-AzSynapseSparkPool -WorkspaceObject -Name [-Tag ] - -NodeCount -NodeSize [-EnableAutoScale] [-AutoScaleMinNodeCount ] - [-AutoScaleMaxNodeCount ] [-EnableAutoPause] [-AutoPauseDelayInMinute ] -SparkVersion - [-LibraryRequirementsFilePath ] [-AsJob] [-DefaultProfile ] [-WhatIf] - [-Confirm] [] + -NodeSize -AutoScaleMinNodeCount -AutoScaleMaxNodeCount [-EnableAutoPause] + [-AutoPauseDelayInMinute ] -SparkVersion [-LibraryRequirementsFilePath ] [-AsJob] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +### CreateByParentObjectAndUnableAutoScaleParameterSet +``` +New-AzSynapseSparkPool -WorkspaceObject -Name [-Tag ] + -NodeCount -NodeSize [-EnableAutoPause] [-AutoPauseDelayInMinute ] + -SparkVersion [-LibraryRequirementsFilePath ] [-AsJob] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] ``` ## DESCRIPTION @@ -40,15 +54,30 @@ The **New-AzSynapseSparkPool** cmdlet creates an Azure Synapse Analytics Spark p PS C:\> New-AzSynapseSparkPool -WorkspaceName ContosoWorkspace -Name ContosoSparkPool -NodeCount 3 -SparkVersion 2.4 -NodeSize Small ``` -This command creates an Azure Synapse Analytics Spark pool. +This command creates a non-scalable Azure Synapse Analytics Spark pool ### Example 2 ```powershell +PS C:\> New-AzSynapseSparkPool -WorkspaceName ContosoWorkspace -Name ContosoSparkPool -AutoScaleMinNodeCount 3 -AutoScaleMaxNodeCount 10 -SparkVersion 2.4 -NodeSize Small +``` + +This command creates a scalable Azure Synapse Analytics Spark pool + +### Example 3 +```powershell PS C:\> $ws = Get-AzSynapseWorkspace -Name ContosoWorkspace PS C:\> $ws | New-AzSynapseSparkPool -Name ContosoSparkPool -NodeCount 3 -SparkVersion 2.4 -NodeSize Small ``` -This command creates an Azure Synapse Analytics Spark pool through pipeline. +This command creates a non-scalable Azure Synapse Analytics Spark pool through pipeline. + +### Example 4 +```powershell +PS C:\> $ws = Get-AzSynapseWorkspace -Name ContosoWorkspace +PS C:\> $ws | New-AzSynapseSparkPool -Name ContosoSparkPool -AutoScaleMinNodeCount 3 -AutoScaleMaxNodeCount 10 -SparkVersion 2.4 -NodeSize Small +``` + +This command creates a scalable Azure Synapse Analytics Spark pool through pipeline. ## PARAMETERS @@ -88,10 +117,10 @@ This parameter must be specified when Auto-scale is enabled. ```yaml Type: System.Int32 -Parameter Sets: (All) +Parameter Sets: CreateByNameAndEnableAutoScaleParameterSet, CreateByParentObjectAndEnableAutoScaleParameterSet Aliases: -Required: False +Required: True Position: Named Default value: None Accept pipeline input: False @@ -104,10 +133,10 @@ This parameter must be specified when Auto-scale is enabled. ```yaml Type: System.Int32 -Parameter Sets: (All) +Parameter Sets: CreateByNameAndEnableAutoScaleParameterSet, CreateByParentObjectAndEnableAutoScaleParameterSet Aliases: -Required: False +Required: True Position: Named Default value: None Accept pipeline input: False @@ -144,21 +173,6 @@ Accept pipeline input: False Accept wildcard characters: False ``` -### -EnableAutoScale -Indicates whether Auto-scale should be enabled - -```yaml -Type: System.Management.Automation.SwitchParameter -Parameter Sets: (All) -Aliases: - -Required: False -Position: Named -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - ### -LibraryRequirementsFilePath Environment configuration file ("PIP freeze" output). @@ -194,7 +208,7 @@ Number of nodes to be allocated in the specified Spark pool. ```yaml Type: System.Int32 -Parameter Sets: (All) +Parameter Sets: CreateByNameAndUnableAutoScaleParameterSet, CreateByParentObjectAndUnableAutoScaleParameterSet Aliases: Required: True @@ -226,7 +240,7 @@ Resource group name. ```yaml Type: System.String -Parameter Sets: CreateByNameParameterSet +Parameter Sets: CreateByNameAndEnableAutoScaleParameterSet, CreateByNameAndUnableAutoScaleParameterSet Aliases: Required: False @@ -272,7 +286,7 @@ Name of Synapse workspace. ```yaml Type: System.String -Parameter Sets: CreateByNameParameterSet +Parameter Sets: CreateByNameAndEnableAutoScaleParameterSet, CreateByNameAndUnableAutoScaleParameterSet Aliases: Required: True @@ -287,7 +301,7 @@ workspace input object, usually passed through the pipeline. ```yaml Type: Microsoft.Azure.Commands.Synapse.Models.PSSynapseWorkspace -Parameter Sets: CreateByParentObjectParameterSet +Parameter Sets: CreateByParentObjectAndEnableAutoScaleParameterSet, CreateByParentObjectAndUnableAutoScaleParameterSet Aliases: Required: True From cfd848ad21fed4189b7d6d592dfd0c211030da3e Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Thu, 11 Jun 2020 16:45:26 +0800 Subject: [PATCH 06/20] fix New-AzSynapseSparkPool help doc --- .../SparkPool/NewAzureSynapseSparkPool.cs | 11 ++++++----- src/Synapse/Synapse/help/New-AzSynapseSparkPool.md | 10 +++++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs index a875fb7a032e..63387164195e 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs @@ -68,7 +68,8 @@ public class NewAzureSynapseSparkPool : SynapseCmdletBase [ValidateSet(Management.Synapse.Models.NodeSize.Small, Management.Synapse.Models.NodeSize.Medium, Management.Synapse.Models.NodeSize.Large, IgnoreCase = true)] [PSArgumentCompleter(Management.Synapse.Models.NodeSize.Small, Management.Synapse.Models.NodeSize.Medium, Management.Synapse.Models.NodeSize.Large)] public string NodeSize { get; set; } - private SwitchParameter EnableAutoScale { get; set; } + + private SwitchParameter enableAutoScale; [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndEnableAutoScaleParameterSet, Mandatory = true, HelpMessage = HelpMessages.AutoScaleMinNodeCount)] @@ -113,7 +114,7 @@ public override void ExecuteCmdlet() { case CreateByNameAndEnableAutoScaleParameterSet: case CreateByParentObjectAndEnableAutoScaleParameterSet: - this.EnableAutoScale = true; + this.enableAutoScale = true; break; } @@ -174,12 +175,12 @@ public override void ExecuteCmdlet() { Location = existingWorkspace.Location, Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true), - NodeCount = this.EnableAutoScale ? (int?) null : this.NodeCount, + NodeCount = this.enableAutoScale ? (int?) null : this.NodeCount, NodeSizeFamily = NodeSizeFamily.MemoryOptimized, NodeSize = NodeSize, - AutoScale = !this.EnableAutoScale ? null : new AutoScaleProperties + AutoScale = !this.enableAutoScale ? null : new AutoScaleProperties { - Enabled = this.EnableAutoScale, + Enabled = this.enableAutoScale, MinNodeCount = AutoScaleMinNodeCount, MaxNodeCount = AutoScaleMaxNodeCount }, diff --git a/src/Synapse/Synapse/help/New-AzSynapseSparkPool.md b/src/Synapse/Synapse/help/New-AzSynapseSparkPool.md index e39ef4c81bfa..5cde58191ae6 100644 --- a/src/Synapse/Synapse/help/New-AzSynapseSparkPool.md +++ b/src/Synapse/Synapse/help/New-AzSynapseSparkPool.md @@ -4,7 +4,7 @@ Module Name: Az.Synapse online version: https://docs.microsoft.com/en-us/powershell/module/az.synapse/new-azsynapsesparkpool schema: 2.0.0 --- -# test + # New-AzSynapseSparkPool ## SYNOPSIS @@ -54,14 +54,14 @@ The **New-AzSynapseSparkPool** cmdlet creates an Azure Synapse Analytics Spark p PS C:\> New-AzSynapseSparkPool -WorkspaceName ContosoWorkspace -Name ContosoSparkPool -NodeCount 3 -SparkVersion 2.4 -NodeSize Small ``` -This command creates a non-scalable Azure Synapse Analytics Spark pool +This command creates an Azure Synapse Analytics Spark pool. ### Example 2 ```powershell PS C:\> New-AzSynapseSparkPool -WorkspaceName ContosoWorkspace -Name ContosoSparkPool -AutoScaleMinNodeCount 3 -AutoScaleMaxNodeCount 10 -SparkVersion 2.4 -NodeSize Small ``` -This command creates a scalable Azure Synapse Analytics Spark pool +This command creates an Azure Synapse Analytics Spark pool with auto-scale enabled. ### Example 3 ```powershell @@ -69,7 +69,7 @@ PS C:\> $ws = Get-AzSynapseWorkspace -Name ContosoWorkspace PS C:\> $ws | New-AzSynapseSparkPool -Name ContosoSparkPool -NodeCount 3 -SparkVersion 2.4 -NodeSize Small ``` -This command creates a non-scalable Azure Synapse Analytics Spark pool through pipeline. +This command creates an Azure Synapse Analytics Spark pool through pipeline. ### Example 4 ```powershell @@ -77,7 +77,7 @@ PS C:\> $ws = Get-AzSynapseWorkspace -Name ContosoWorkspace PS C:\> $ws | New-AzSynapseSparkPool -Name ContosoSparkPool -AutoScaleMinNodeCount 3 -AutoScaleMaxNodeCount 10 -SparkVersion 2.4 -NodeSize Small ``` -This command creates a scalable Azure Synapse Analytics Spark pool through pipeline. +This command creates an Azure Synapse Analytics Spark pool with auto-scale enabled through pipeline. ## PARAMETERS From fc580c9cb81c3a22dc107f4626f43b7d91baabe9 Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Fri, 12 Jun 2020 13:18:01 +0800 Subject: [PATCH 07/20] update parameter set name --- .../SparkPool/NewAzureSynapseSparkPool.cs | 14 +++++++------- src/Synapse/Synapse/help/New-AzSynapseSparkPool.md | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs index 63387164195e..1a905282aa1f 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs @@ -18,13 +18,13 @@ namespace Microsoft.Azure.Commands.Synapse public class NewAzureSynapseSparkPool : SynapseCmdletBase { private const string CreateByNameAndEnableAutoScaleParameterSet = "CreateByNameAndEnableAutoScaleParameterSet"; - private const string CreateByNameAndUnableAutoScaleParameterSet = "CreateByNameAndUnableAutoScaleParameterSet"; + private const string CreateByNameAndDisableAutoScaleParameterSet = "CreateByNameAndDisableAutoScaleParameterSet"; private const string CreateByParentObjectAndEnableAutoScaleParameterSet = "CreateByParentObjectAndEnableAutoScaleParameterSet"; - private const string CreateByParentObjectAndUnableAutoScaleParameterSet = "CreateByParentObjectAndUnableAutoScaleParameterSet"; + private const string CreateByParentObjectAndDisableAutoScaleParameterSet = "CreateByParentObjectAndDisableAutoScaleParameterSet"; [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndEnableAutoScaleParameterSet, Mandatory = false, HelpMessage = HelpMessages.ResourceGroupName)] - [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndUnableAutoScaleParameterSet, + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndDisableAutoScaleParameterSet, Mandatory = false, HelpMessage = HelpMessages.ResourceGroupName)] [ResourceGroupCompleter] [ValidateNotNullOrEmpty] @@ -32,7 +32,7 @@ public class NewAzureSynapseSparkPool : SynapseCmdletBase [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndEnableAutoScaleParameterSet, Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] - [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndUnableAutoScaleParameterSet, + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndDisableAutoScaleParameterSet, Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, nameof(ResourceGroupName))] [ValidateNotNullOrEmpty] @@ -40,7 +40,7 @@ public class NewAzureSynapseSparkPool : SynapseCmdletBase [Parameter(ValueFromPipeline = true, ParameterSetName = CreateByParentObjectAndEnableAutoScaleParameterSet, Mandatory = true, HelpMessage = HelpMessages.WorkspaceObject)] - [Parameter(ValueFromPipeline = true, ParameterSetName = CreateByParentObjectAndUnableAutoScaleParameterSet, + [Parameter(ValueFromPipeline = true, ParameterSetName = CreateByParentObjectAndDisableAutoScaleParameterSet, Mandatory = true, HelpMessage = HelpMessages.WorkspaceObject)] [ValidateNotNull] public PSSynapseWorkspace WorkspaceObject { get; set; } @@ -56,9 +56,9 @@ public class NewAzureSynapseSparkPool : SynapseCmdletBase [ValidateNotNull] public Hashtable Tag { get; set; } - [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndUnableAutoScaleParameterSet, + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameAndDisableAutoScaleParameterSet, Mandatory = true, HelpMessage = HelpMessages.NodeCount)] - [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByParentObjectAndUnableAutoScaleParameterSet, + [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByParentObjectAndDisableAutoScaleParameterSet, Mandatory = true, HelpMessage = HelpMessages.NodeCount)] [ValidateRange(3, 200)] public int NodeCount { get; set; } diff --git a/src/Synapse/Synapse/help/New-AzSynapseSparkPool.md b/src/Synapse/Synapse/help/New-AzSynapseSparkPool.md index 5cde58191ae6..b89804ff75c0 100644 --- a/src/Synapse/Synapse/help/New-AzSynapseSparkPool.md +++ b/src/Synapse/Synapse/help/New-AzSynapseSparkPool.md @@ -20,7 +20,7 @@ New-AzSynapseSparkPool [-ResourceGroupName ] -WorkspaceName -Na [-DefaultProfile ] [-WhatIf] [-Confirm] [] ``` -### CreateByNameAndUnableAutoScaleParameterSet +### CreateByNameAndDisableAutoScaleParameterSet ``` New-AzSynapseSparkPool [-ResourceGroupName ] -WorkspaceName -Name [-Tag ] -NodeCount -NodeSize [-EnableAutoPause] [-AutoPauseDelayInMinute ] @@ -36,7 +36,7 @@ New-AzSynapseSparkPool -WorkspaceObject -Name [-Ta [-DefaultProfile ] [-WhatIf] [-Confirm] [] ``` -### CreateByParentObjectAndUnableAutoScaleParameterSet +### CreateByParentObjectAndDisableAutoScaleParameterSet ``` New-AzSynapseSparkPool -WorkspaceObject -Name [-Tag ] -NodeCount -NodeSize [-EnableAutoPause] [-AutoPauseDelayInMinute ] @@ -208,7 +208,7 @@ Number of nodes to be allocated in the specified Spark pool. ```yaml Type: System.Int32 -Parameter Sets: CreateByNameAndUnableAutoScaleParameterSet, CreateByParentObjectAndUnableAutoScaleParameterSet +Parameter Sets: CreateByNameAndDisableAutoScaleParameterSet, CreateByParentObjectAndDisableAutoScaleParameterSet Aliases: Required: True @@ -240,7 +240,7 @@ Resource group name. ```yaml Type: System.String -Parameter Sets: CreateByNameAndEnableAutoScaleParameterSet, CreateByNameAndUnableAutoScaleParameterSet +Parameter Sets: CreateByNameAndEnableAutoScaleParameterSet, CreateByNameAndDisableAutoScaleParameterSet Aliases: Required: False @@ -286,7 +286,7 @@ Name of Synapse workspace. ```yaml Type: System.String -Parameter Sets: CreateByNameAndEnableAutoScaleParameterSet, CreateByNameAndUnableAutoScaleParameterSet +Parameter Sets: CreateByNameAndEnableAutoScaleParameterSet, CreateByNameAndDisableAutoScaleParameterSet Aliases: Required: True @@ -301,7 +301,7 @@ workspace input object, usually passed through the pipeline. ```yaml Type: Microsoft.Azure.Commands.Synapse.Models.PSSynapseWorkspace -Parameter Sets: CreateByParentObjectAndEnableAutoScaleParameterSet, CreateByParentObjectAndUnableAutoScaleParameterSet +Parameter Sets: CreateByParentObjectAndEnableAutoScaleParameterSet, CreateByParentObjectAndDisableAutoScaleParameterSet Aliases: Required: True From 6df7c142b2be74f545215cf233811372d2ab80f1 Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Wed, 17 Jun 2020 09:29:17 +0800 Subject: [PATCH 08/20] track2 v1.0 --- .../SparkJob/GetAzureSynapseSparkJob.cs | 11 +- .../SparkJob/StopAzureSynapseSparkJob.cs | 3 +- .../SparkJob/SubmitAzureSynapseSparkJob.cs | 25 ++- .../SparkJob/WaitAzureSynapseSparkJob.cs | 5 +- .../GetAzureSynapseSparkSession.cs | 6 +- .../ResetAzureSynapseSparkSessionTimeout.cs | 3 +- .../StartAzureSynapseSparkSession.cs | 14 +- .../StopAzureSynapseSparkSession.cs | 3 +- .../GetAzureSynapseSparkStatement.cs | 6 +- .../InvokeAzureSynapseSparkStatement.cs | 10 +- .../StopAzureSynapseSparkStatement.cs | 1 + .../Synapse/Common/AzureSessionCredential.cs | 95 +++++++++++ .../Models/PSLivyBatchStateInformation.cs | 8 +- .../Synapse/Models/PSLivyRequestBase.cs | 25 +-- .../Models/PSLivySessionStateInformation.cs | 6 +- .../Synapse/Models/PSLivyStateInformation.cs | 10 +- .../Synapse/Models/PSLivyStatementOutput.cs | 14 +- .../Synapse/Models/PSSchedulerInformation.cs | 8 +- .../Models/PSSparkServicePluginInformation.cs | 6 +- .../Models/PSSynapseExtendedSparkStatement.cs | 10 +- .../Synapse/Models/PSSynapseSparkJob.cs | 17 +- .../PSSynapseSparkJobInformationBase.cs | 37 ++--- .../Synapse/Models/PSSynapseSparkSession.cs | 19 +-- .../Synapse/Models/PSSynapseSparkStatement.cs | 4 +- .../Synapse/Models/SynapseAnalyticsClient.cs | 152 ++++++++++-------- src/Synapse/Synapse/Synapse.csproj | 2 +- 26 files changed, 315 insertions(+), 185 deletions(-) create mode 100644 src/Synapse/Synapse/Common/AzureSessionCredential.cs diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/GetAzureSynapseSparkJob.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/GetAzureSynapseSparkJob.cs index 5060a00c298e..76c1340aba68 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/GetAzureSynapseSparkJob.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/GetAzureSynapseSparkJob.cs @@ -1,7 +1,9 @@ -using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; +using Azure.Analytics.Synapse.Spark; +using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; using Microsoft.Azure.Commands.Synapse.Common; using Microsoft.Azure.Commands.Synapse.Models; using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; +using Microsoft.WindowsAzure.Commands.Storage.Common; using Microsoft.WindowsAzure.Commands.Utilities.Common; using System; using System.Linq; @@ -69,15 +71,18 @@ public override void ExecuteCmdlet() this.SparkPoolName = resourceIdentifier.ResourceName; } + SynapseAnalyticsClient.CreateSparkBatchClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); + + if (this.IsParameterBound(c => c.LivyId)) { // Get for single Spark batch job - WriteObject(new PSSynapseSparkJob(SynapseAnalyticsClient.GetSparkBatchJob(this.WorkspaceName, this.SparkPoolName, this.LivyId))); + WriteObject(new PSSynapseSparkJob(SynapseAnalyticsClient.GetSparkBatchJob(this.LivyId))); } else { // List all Spark batch jobs in given Spark pool - var batchJobs = SynapseAnalyticsClient.ListSparkBatchJobs(this.WorkspaceName, this.SparkPoolName) + var batchJobs = SynapseAnalyticsClient.ListSparkBatchJobs() .Select(element => new PSSynapseSparkJob(element)); if (!string.IsNullOrEmpty(this.Name)) { diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/StopAzureSynapseSparkJob.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/StopAzureSynapseSparkJob.cs index 56a6ac194f2b..7090e4ec57a5 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/StopAzureSynapseSparkJob.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/StopAzureSynapseSparkJob.cs @@ -81,7 +81,8 @@ public override void ExecuteCmdlet() LivyId.ToString(), () => { - SynapseAnalyticsClient.CancelSparkBatchJob(WorkspaceName, SparkPoolName, LivyId, waitForCompletion: false); + SynapseAnalyticsClient.CreateSparkBatchClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); + SynapseAnalyticsClient.CancelSparkBatchJob(LivyId, waitForCompletion: false); if (PassThru) { WriteObject(true); diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/SubmitAzureSynapseSparkJob.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/SubmitAzureSynapseSparkJob.cs index 9e99ac887cb8..881b0f13e9de 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/SubmitAzureSynapseSparkJob.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/SubmitAzureSynapseSparkJob.cs @@ -1,11 +1,11 @@ -using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; +using Azure.Analytics.Synapse.Spark.Models; +using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; using Microsoft.Azure.Commands.Synapse.Common; using Microsoft.Azure.Commands.Synapse.Models; using Microsoft.Azure.Commands.Synapse.Models.Exceptions; using Microsoft.Azure.Commands.Synapse.Properties; using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; using Microsoft.Azure.Management.Synapse.Models; -using Microsoft.Azure.Synapse.Models; using Microsoft.WindowsAzure.Commands.Utilities.Common; using System.Collections; using System.Collections.Generic; @@ -147,16 +147,12 @@ public override void ExecuteCmdlet() Utils.CategorizedFiles(this.ReferenceFile, out IList jars, out IList files); bool isSparkDotNet = this.Language == LanguageType.SparkDotNet; - var batchRequest = new ExtendedLivyBatchRequest + var batchRequest = new SparkBatchJobOptions(this.Name, isSparkDotNet ? SynapseConstants.SparkDotNetJarFile : this.MainDefinitionFile) { - Name = this.Name, - File = isSparkDotNet - ? SynapseConstants.SparkDotNetJarFile - : this.MainDefinitionFile, ClassName = isSparkDotNet ? SynapseConstants.SparkDotNetClassName : (this.Language == LanguageType.PySpark ? null : this.MainClassName), - Args = isSparkDotNet + Arguments = isSparkDotNet ? new List { this.MainDefinitionFile, this.MainClassName } .Concat(this.CommandLineArgument ?? new string[0]).ToArray() : this.CommandLineArgument, @@ -165,30 +161,31 @@ public override void ExecuteCmdlet() Archives = isSparkDotNet ? new List { $"{this.MainDefinitionFile}#{SynapseConstants.SparkDotNetUdfsFolderName}" } : null, - Conf = this.Configuration?.ToDictionary(), + Configuration = this.Configuration?.ToDictionary(), ExecutorMemory = SynapseConstants.ComputeNodeSizes[this.ExecutorSize].Memory + "g", ExecutorCores = SynapseConstants.ComputeNodeSizes[this.ExecutorSize].Cores, DriverMemory = SynapseConstants.ComputeNodeSizes[this.ExecutorSize].Memory + "g", DriverCores = SynapseConstants.ComputeNodeSizes[this.ExecutorSize].Cores, - NumExecutors = this.ExecutorCount + ExecutorCount = this.ExecutorCount }; // Ensure the relative path of UDFs is add to "--conf". if (isSparkDotNet) { - batchRequest.Conf = batchRequest.Conf ?? new Dictionary(); + batchRequest.Configuration = batchRequest.Configuration ?? new Dictionary(); string udfsRelativePath = "./" + SynapseConstants.SparkDotNetUdfsFolderName; - batchRequest.Conf.TryGetValue(SynapseConstants.SparkDotNetAssemblySearchPathsKey, out string pathValue); + batchRequest.Configuration.TryGetValue(SynapseConstants.SparkDotNetAssemblySearchPathsKey, out string pathValue); var paths = pathValue?.Split(',').Select(path => path.Trim()).Where(path => !string.IsNullOrEmpty(path)).ToList() ?? new List(); if (!paths.Contains(udfsRelativePath)) { paths.Add(udfsRelativePath); } - batchRequest.Conf[SynapseConstants.SparkDotNetAssemblySearchPathsKey] = string.Join(",", paths); + batchRequest.Configuration[SynapseConstants.SparkDotNetAssemblySearchPathsKey] = string.Join(",", paths); } - var jobInformation = SynapseAnalyticsClient.SubmitSparkBatchJob(this.WorkspaceName, this.SparkPoolName, batchRequest, waitForCompletion:false); + SynapseAnalyticsClient.CreateSparkBatchClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); + var jobInformation = SynapseAnalyticsClient.SubmitSparkBatchJob(batchRequest, waitForCompletion:false); WriteObject(new PSSynapseSparkJob(jobInformation)); } } diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/WaitAzureSynapseSparkJob.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/WaitAzureSynapseSparkJob.cs index 3fcea2123496..5a7c0a932542 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/WaitAzureSynapseSparkJob.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/WaitAzureSynapseSparkJob.cs @@ -80,12 +80,11 @@ public override void ExecuteCmdlet() this.LivyId = this.IsParameterBound(c => c.LivyId) ? this.LivyId : this.SparkJobObject.Id.Value; } - var sparkJob = this.SynapseAnalyticsClient.GetSparkBatchJob(this.WorkspaceName, this.SparkPoolName, this.LivyId); + this.SynapseAnalyticsClient.CreateSparkBatchClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); + var sparkJob = this.SynapseAnalyticsClient.GetSparkBatchJob(this.LivyId); try { sparkJob = this.SynapseAnalyticsClient.PollSparkBatchJobExecution( - this.WorkspaceName, - this.SparkPoolName, sparkJob, this.WaitIntervalInSeconds, this.TimeoutInSeconds, diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/GetAzureSynapseSparkSession.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/GetAzureSynapseSparkSession.cs index 0377dd2915ab..0c8dd34c39eb 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/GetAzureSynapseSparkSession.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/GetAzureSynapseSparkSession.cs @@ -68,14 +68,16 @@ public override void ExecuteCmdlet() this.SparkPoolName = resourceIdentifier.ResourceName; } + this.SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); + if (this.IsParameterBound(c => c.LivyId)) { - var result = new PSSynapseSparkSession(this.SynapseAnalyticsClient.GetSparkSession(this.WorkspaceName, this.SparkPoolName, this.LivyId)); + var result = new PSSynapseSparkSession(this.SynapseAnalyticsClient.GetSparkSession(this.LivyId)); WriteObject(result); } else { - var result = this.SynapseAnalyticsClient.ListSparkSessions(this.WorkspaceName, this.SparkPoolName).Select(r => new PSSynapseSparkSession(r)); + var result = this.SynapseAnalyticsClient.ListSparkSessions().Select(r => new PSSynapseSparkSession(r)); if (!string.IsNullOrEmpty(this.Name)) { result = result.Where(r => this.Name.Equals(r.Name, StringComparison.OrdinalIgnoreCase)); diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/ResetAzureSynapseSparkSessionTimeout.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/ResetAzureSynapseSparkSessionTimeout.cs index 3cacfa2aa218..df6ed94e4507 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/ResetAzureSynapseSparkSessionTimeout.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/ResetAzureSynapseSparkSessionTimeout.cs @@ -74,7 +74,8 @@ public override void ExecuteCmdlet() if (this.ShouldProcess(this.LivyId.ToString(), string.Format(Resources.ResettingSynapseSparkSessionTimeout, this.LivyId))) { - this.SynapseAnalyticsClient.ResetSparkSessionTimeout(this.WorkspaceName, this.SparkPoolName, this.LivyId); + this.SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); + this.SynapseAnalyticsClient.ResetSparkSessionTimeout(this.LivyId); if (this.PassThru.IsPresent) { WriteObject(true); diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StartAzureSynapseSparkSession.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StartAzureSynapseSparkSession.cs index 6f8acd1c3887..28a10d22fa14 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StartAzureSynapseSparkSession.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StartAzureSynapseSparkSession.cs @@ -1,9 +1,9 @@ -using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; +using Azure.Analytics.Synapse.Spark.Models; +using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; using Microsoft.Azure.Commands.Synapse.Common; using Microsoft.Azure.Commands.Synapse.Models; using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; using Microsoft.Azure.Management.Synapse.Models; -using Microsoft.Azure.Synapse.Models; using Microsoft.WindowsAzure.Commands.Utilities.Common; using System.Collections; using System.Collections.Generic; @@ -89,20 +89,20 @@ public override void ExecuteCmdlet() } Utils.CategorizedFiles(this.ReferenceFile, out IList jars, out IList files); - var livyRequest = new ExtendedLivySessionRequest + var livyRequest = new SparkSessionOptions(this.Name) { - Name = this.Name, Jars = jars, Files = files, - Conf = this.Configuration?.ToDictionary(), + Configuration = this.Configuration?.ToDictionary(), ExecutorMemory = SynapseConstants.ComputeNodeSizes[this.ExecutorSize].Memory + "g", ExecutorCores = SynapseConstants.ComputeNodeSizes[this.ExecutorSize].Cores, DriverMemory = SynapseConstants.ComputeNodeSizes[this.ExecutorSize].Memory + "g", DriverCores = SynapseConstants.ComputeNodeSizes[this.ExecutorSize].Cores, - NumExecutors = this.ExecutorCount + ExecutorCount = this.ExecutorCount }; - var sparkSession = SynapseAnalyticsClient.CreateSparkSession(this.WorkspaceName, this.SparkPoolName, livyRequest, waitForCompletion:true); + SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); + var sparkSession = SynapseAnalyticsClient.CreateSparkSession(livyRequest, waitForCompletion:true); PSSynapseSparkSession psSparkSession = null; if (this.IsParameterBound(c => c.Language)) diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StopAzureSynapseSparkSession.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StopAzureSynapseSparkSession.cs index b1759539be59..61267e5836c2 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StopAzureSynapseSparkSession.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StopAzureSynapseSparkSession.cs @@ -74,7 +74,8 @@ public override void ExecuteCmdlet() if (this.ShouldProcess(this.LivyId.ToString(), string.Format(Resources.StoppingSynapseSparkSession, this.LivyId))) { - this.SynapseAnalyticsClient.StopSparkSession(this.WorkspaceName, this.SparkPoolName, this.LivyId, waitForCompletion:false); + this.SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); + this.SynapseAnalyticsClient.StopSparkSession(this.LivyId, waitForCompletion:false); if (this.PassThru.IsPresent) { WriteObject(true); diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/GetAzureSynapseSparkStatement.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/GetAzureSynapseSparkStatement.cs index f63ac3f5eb7d..deb8cf15ca22 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/GetAzureSynapseSparkStatement.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/GetAzureSynapseSparkStatement.cs @@ -58,15 +58,17 @@ public override void ExecuteCmdlet() this.SessionId = this.SessionObject.Id.Value; } + SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); + if (this.IsParameterBound(c => c.LivyId)) { // Get for single Spark session statement - WriteObject(new PSSynapseSparkStatement(SynapseAnalyticsClient.GetSparkSessionStatement(this.WorkspaceName, this.SparkPoolName, this.SessionId, this.LivyId))); + WriteObject(new PSSynapseSparkStatement(SynapseAnalyticsClient.GetSparkSessionStatement(this.SessionId, this.LivyId))); } else { // List all Spark session statements in given Spark session - var sessionStatements = SynapseAnalyticsClient.ListSparkSessionStatements(this.WorkspaceName, this.SparkPoolName, this.SessionId).Select(element => new PSSynapseSparkStatement(element)); + var sessionStatements = SynapseAnalyticsClient.ListSparkSessionStatements(this.SessionId).Select(element => new PSSynapseSparkStatement(element)); WriteObject(sessionStatements, true); } } diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/InvokeAzureSynapseSparkStatement.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/InvokeAzureSynapseSparkStatement.cs index 42771e6a918c..9d23b7896d66 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/InvokeAzureSynapseSparkStatement.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/InvokeAzureSynapseSparkStatement.cs @@ -1,7 +1,7 @@ -using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; +using Azure.Analytics.Synapse.Spark.Models; +using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; using Microsoft.Azure.Commands.Synapse.Common; using Microsoft.Azure.Commands.Synapse.Models; -using Microsoft.Azure.Synapse.Models; using Microsoft.WindowsAzure.Commands.Utilities.Common; using System.Management.Automation; @@ -99,13 +99,15 @@ public override void ExecuteCmdlet() this.Code = this.ReadFileAsText(this.FilePath); } - var livyRequest = new LivyStatementRequestBody + var livyRequest = new SparkStatementOptions { Kind = this.Language, Code = this.Code }; - var sessionStmt = SynapseAnalyticsClient.SubmitSparkSessionStatement(this.WorkspaceName, this.SparkPoolName, this.SessionId, livyRequest, waitForCompletion:true); + // create spark session + SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); + var sessionStmt = SynapseAnalyticsClient.SubmitSparkSessionStatement(this.SessionId, livyRequest, waitForCompletion:true); var psSessionStmt = new PSSynapseExtendedSparkStatement(sessionStmt); WriteObject(psSessionStmt); } diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/StopAzureSynapseSparkStatement.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/StopAzureSynapseSparkStatement.cs index aadaf2cd020c..87aeeaf8025f 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/StopAzureSynapseSparkStatement.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/StopAzureSynapseSparkStatement.cs @@ -69,6 +69,7 @@ public override void ExecuteCmdlet() LivyId.ToString(), () => { + SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); SynapseAnalyticsClient.CancelSparkSessionStatement(WorkspaceName, SparkPoolName, SessionId, LivyId); if (PassThru) { diff --git a/src/Synapse/Synapse/Common/AzureSessionCredential.cs b/src/Synapse/Synapse/Common/AzureSessionCredential.cs new file mode 100644 index 000000000000..2406e3d7faff --- /dev/null +++ b/src/Synapse/Synapse/Common/AzureSessionCredential.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Azure.Core; +using Microsoft.Azure.Commands.Common.Authentication; +using Microsoft.Azure.Commands.Common.Authentication.Abstractions; +using Microsoft.Azure.Commands.ResourceManager.Common.Properties; + +namespace Microsoft.WindowsAzure.Commands.Storage.Common +{ + public delegate void DebugLogWriter(string log); + public class AzureSessionCredential : TokenCredential + { + public AzureSessionCredential(IAzureContext DefaultContext, DebugLogWriter logWriter = null) + { + if (DefaultContext == null || DefaultContext.Account == null) + { + throw new InvalidOperationException(Resources.ContextCannotBeNull); + } + if (logWriter != null) + { + this.debugLogWriter = logWriter; + } + + IAccessToken accessToken1 = AzureSession.Instance.AuthenticationFactory.Authenticate( + DefaultContext.Account, + EnsureStorageOAuthAudienceSet(DefaultContext.Environment), + DefaultContext.Tenant.Id, + null, + ShowDialog.Never, + null, + StorageOAuthEndpointResourceKey); + accessToken = accessToken1; + } + + public override AccessToken GetToken(TokenRequestContext requestContext, CancellationToken cancellationToken) + { + AccessToken token; + accessToken.AuthorizeRequest((tokenType, tokenValue) => + { + token = new AccessToken(tokenValue, DateTimeOffset.UtcNow); + }); + if (this.debugLogWriter != null) + { + this.debugLogWriter("[" + DateTime.Now.ToString() + "] GetToken: " + token.Token); + } + return token; + } + + public override ValueTask GetTokenAsync(TokenRequestContext requestContext, CancellationToken cancellationToken) + { + AccessToken token; + accessToken.AuthorizeRequest((tokenType, tokenValue) => + { + token = new AccessToken(tokenValue, DateTimeOffset.UtcNow); + }); + + if (this.debugLogWriter != null) + { + this.debugLogWriter("[" + DateTime.Now.ToString() + "] GetTokenAsync: " + token.Token); + } + return new ValueTask(token); + } + + private IAzureEnvironment EnsureStorageOAuthAudienceSet(IAzureEnvironment environment) + { + if (environment != null) + { + if (!environment.IsPropertySet(StorageOAuthEndpointResourceKey)) + { + environment.SetProperty(StorageOAuthEndpointResourceKey, StorageOAuthEndpointResourceValue); + } + } + + return environment; + } + + /// + /// The extension key to use for the storage token audience value + /// + public const string StorageOAuthEndpointResourceKey = "StorageOAuthEndpointResourceId"; + + /// + /// Default resourceId for storage OAuth tokens + /// + public const string StorageOAuthEndpointResourceValue = "https://storage.azure.com"; + + + private IAccessToken accessToken; + private DebugLogWriter debugLogWriter = null; + } + +} diff --git a/src/Synapse/Synapse/Models/PSLivyBatchStateInformation.cs b/src/Synapse/Synapse/Models/PSLivyBatchStateInformation.cs index 130c8a4ff069..b9617270c9b2 100644 --- a/src/Synapse/Synapse/Models/PSLivyBatchStateInformation.cs +++ b/src/Synapse/Synapse/Models/PSLivyBatchStateInformation.cs @@ -1,14 +1,16 @@ -using Microsoft.Azure.Synapse.Models; + + +using Azure.Analytics.Synapse.Spark.Models; namespace Microsoft.Azure.Commands.Synapse.Models { public class PSLivyBatchStateInformation : PSLivyStateInformation { - public PSLivyBatchStateInformation(LivyBatchStateInformation stateInfo) + public PSLivyBatchStateInformation(SparkBatchJobState stateInfo) : base(stateInfo?.NotStartedAt, stateInfo?.StartingAt, stateInfo?.DeadAt, - stateInfo?.KilledAt, + stateInfo?.TerminatedAt, stateInfo?.RecoveringAt, stateInfo?.CurrentState, stateInfo?.JobCreationRequest) diff --git a/src/Synapse/Synapse/Models/PSLivyRequestBase.cs b/src/Synapse/Synapse/Models/PSLivyRequestBase.cs index 82850c159166..3d77a4b358d9 100644 --- a/src/Synapse/Synapse/Models/PSLivyRequestBase.cs +++ b/src/Synapse/Synapse/Models/PSLivyRequestBase.cs @@ -1,26 +1,27 @@ -using Microsoft.Azure.Synapse.Models; +using Azure.Analytics.Synapse.Spark.Models; using System.Collections.Generic; +using System.Linq; namespace Microsoft.Azure.Commands.Synapse.Models { public class PSLivyRequestBase { // TODO: create a command to create instances of this class then pass it to Submit*Job command? - public PSLivyRequestBase(LivyRequestBase jobCreationRequest) + public PSLivyRequestBase(SparkRequest jobCreationRequest) { this.Name = jobCreationRequest?.Name; this.File = jobCreationRequest?.File; this.ClassName = jobCreationRequest?.ClassName; - this.Args = jobCreationRequest?.Args; + this.Arguments = jobCreationRequest?.Arguments; this.Jars = jobCreationRequest?.Jars; this.Files = jobCreationRequest?.Files; this.Archives = jobCreationRequest?.Archives; - this.Conf = jobCreationRequest?.Conf; + this.Configuration = jobCreationRequest?.Configuration; this.DriverMemory = jobCreationRequest?.DriverMemory; this.DriverCores = jobCreationRequest?.DriverCores; this.ExecutorMemory = jobCreationRequest?.ExecutorMemory; - this.ExecutorCores = jobCreationRequest?.NumExecutors; - this.NumExecutors = jobCreationRequest?.NumExecutors; + this.ExecutorCores = jobCreationRequest?.ExecutorCores; + this.ExecutorCount = jobCreationRequest?.ExecutorCount; } /// @@ -37,23 +38,23 @@ public PSLivyRequestBase(LivyRequestBase jobCreationRequest) /// /// - public IList Args { get; set; } + public IReadOnlyList Arguments { get; set; } /// /// - public IList Jars { get; set; } + public IReadOnlyList Jars { get; set; } /// /// - public IList Files { get; set; } + public IReadOnlyList Files { get; set; } /// /// - public IList Archives { get; set; } + public IReadOnlyList Archives { get; set; } /// /// - public IDictionary Conf { get; set; } + public IReadOnlyDictionary Configuration { get; set; } /// /// @@ -73,6 +74,6 @@ public PSLivyRequestBase(LivyRequestBase jobCreationRequest) /// /// - public int? NumExecutors { get; set; } + public int? ExecutorCount { get; set; } } } \ No newline at end of file diff --git a/src/Synapse/Synapse/Models/PSLivySessionStateInformation.cs b/src/Synapse/Synapse/Models/PSLivySessionStateInformation.cs index ff1543acc0e3..0dd127a617d3 100644 --- a/src/Synapse/Synapse/Models/PSLivySessionStateInformation.cs +++ b/src/Synapse/Synapse/Models/PSLivySessionStateInformation.cs @@ -1,14 +1,14 @@ -using Microsoft.Azure.Synapse.Models; +using Azure.Analytics.Synapse.Spark.Models; namespace Microsoft.Azure.Commands.Synapse.Models { public class PSLivySessionStateInformation : PSLivyStateInformation { - public PSLivySessionStateInformation(LivySessionStateInformation stateInfo) + public PSLivySessionStateInformation(SparkSessionState stateInfo) : base(stateInfo?.NotStartedAt, stateInfo?.StartingAt, stateInfo?.DeadAt, - stateInfo?.KilledAt, + stateInfo?.TerminatedAt, stateInfo?.RecoveringAt, stateInfo?.CurrentState, stateInfo?.JobCreationRequest) diff --git a/src/Synapse/Synapse/Models/PSLivyStateInformation.cs b/src/Synapse/Synapse/Models/PSLivyStateInformation.cs index 79e518938025..d62b7f14856c 100644 --- a/src/Synapse/Synapse/Models/PSLivyStateInformation.cs +++ b/src/Synapse/Synapse/Models/PSLivyStateInformation.cs @@ -1,4 +1,4 @@ -using Microsoft.Azure.Synapse.Models; +using Azure.Analytics.Synapse.Spark.Models; using System; namespace Microsoft.Azure.Commands.Synapse.Models @@ -9,15 +9,15 @@ public PSLivyStateInformation( DateTimeOffset? notStartedAt, DateTimeOffset? startingAt, DateTimeOffset? deadAt, - DateTimeOffset? killedAt, + DateTimeOffset? terminatedAt, DateTimeOffset? recoveringAt, string currentState, - LivyRequestBase jobCreationRequest) + SparkRequest jobCreationRequest) { this.NotStartedAt = notStartedAt; this.StartingAt = startingAt; this.DeadAt = deadAt; - this.KilledAt = killedAt; + this.TerminatedAt = terminatedAt; this.RecoveringAt = recoveringAt; this.CurrentState = currentState; this.JobCreationRequest = jobCreationRequest != null ? new PSLivyRequestBase(jobCreationRequest) : null; @@ -37,7 +37,7 @@ public PSLivyStateInformation( /// /// - public System.DateTimeOffset? KilledAt { get; set; } + public System.DateTimeOffset? TerminatedAt { get; set; } /// /// diff --git a/src/Synapse/Synapse/Models/PSLivyStatementOutput.cs b/src/Synapse/Synapse/Models/PSLivyStatementOutput.cs index a2797eaa68ef..c2caa5c6ddc6 100644 --- a/src/Synapse/Synapse/Models/PSLivyStatementOutput.cs +++ b/src/Synapse/Synapse/Models/PSLivyStatementOutput.cs @@ -1,4 +1,4 @@ -using Microsoft.Azure.Synapse.Models; +using Azure.Analytics.Synapse.Spark.Models; using Newtonsoft.Json.Linq; using System.Collections.Generic; @@ -6,14 +6,14 @@ namespace Microsoft.Azure.Commands.Synapse.Models { public class PSLivyStatementOutput { - public PSLivyStatementOutput(LivyStatementOutput output) + public PSLivyStatementOutput(SparkStatementOutput output) { this.Status = output?.Status; this.ExecutionCount = output?.ExecutionCount; //this.Data = LivyStatementOutputParser.Parse(output?.Data); this.Data = output?.Data; - this.Ename = output?.Ename; - this.Evalue = output?.Evalue; + this.ErrorName = output?.ErrorName; + this.ErrorValue = output?.ErrorValue; this.Traceback = output?.Traceback; } @@ -31,14 +31,14 @@ public PSLivyStatementOutput(LivyStatementOutput output) /// /// - public string Ename { get; set; } + public string ErrorName { get; set; } /// /// - public string Evalue { get; set; } + public string ErrorValue { get; set; } /// /// - public IList Traceback { get; set; } + public IReadOnlyList Traceback { get; set; } } } \ No newline at end of file diff --git a/src/Synapse/Synapse/Models/PSSchedulerInformation.cs b/src/Synapse/Synapse/Models/PSSchedulerInformation.cs index e9d78d8c0ba7..e76b8ba839ce 100644 --- a/src/Synapse/Synapse/Models/PSSchedulerInformation.cs +++ b/src/Synapse/Synapse/Models/PSSchedulerInformation.cs @@ -1,10 +1,12 @@ -using Microsoft.Azure.Synapse.Models; + + +using Azure.Analytics.Synapse.Spark.Models; namespace Microsoft.Azure.Commands.Synapse.Models { public class PSSchedulerInformation { - public PSSchedulerInformation(SchedulerInformation schedulerInfo) + public PSSchedulerInformation(SparkScheduler schedulerInfo) { this.SubmittedAt = schedulerInfo?.SubmittedAt; this.ScheduledAt = schedulerInfo?.ScheduledAt; @@ -33,6 +35,6 @@ public PSSchedulerInformation(SchedulerInformation schedulerInfo) /// Gets or sets possible values include: 'Queued', 'Scheduled', /// 'Ended' /// - public string CurrentState { get; set; } + public SchedulerCurrentState? CurrentState { get; set; } } } \ No newline at end of file diff --git a/src/Synapse/Synapse/Models/PSSparkServicePluginInformation.cs b/src/Synapse/Synapse/Models/PSSparkServicePluginInformation.cs index 1e98f67bbb8f..4c8fed6aa19b 100644 --- a/src/Synapse/Synapse/Models/PSSparkServicePluginInformation.cs +++ b/src/Synapse/Synapse/Models/PSSparkServicePluginInformation.cs @@ -1,10 +1,10 @@ -using Microsoft.Azure.Synapse.Models; +using Azure.Analytics.Synapse.Spark.Models; namespace Microsoft.Azure.Commands.Synapse.Models { public class PSSparkServicePluginInformation { - public PSSparkServicePluginInformation(SparkServicePluginInformation pluginInfo) + public PSSparkServicePluginInformation(SparkServicePlugin pluginInfo) { this.PreparationStartedAt = pluginInfo?.PreparationStartedAt; this.ResourceAcquisitionStartedAt = pluginInfo?.ResourceAcquisitionStartedAt; @@ -39,6 +39,6 @@ public PSSparkServicePluginInformation(SparkServicePluginInformation pluginInfo) /// 'ResourceAcquisition', 'Queued', 'Submission', 'Monitoring', /// 'Cleanup', 'Ended' /// - public string CurrentState { get; set; } + public PluginCurrentState? CurrentState { get; set; } } } \ No newline at end of file diff --git a/src/Synapse/Synapse/Models/PSSynapseExtendedSparkStatement.cs b/src/Synapse/Synapse/Models/PSSynapseExtendedSparkStatement.cs index c57681520dea..89b78f480bf9 100644 --- a/src/Synapse/Synapse/Models/PSSynapseExtendedSparkStatement.cs +++ b/src/Synapse/Synapse/Models/PSSynapseExtendedSparkStatement.cs @@ -1,4 +1,4 @@ -using Microsoft.Azure.Synapse.Models; +using Azure.Analytics.Synapse.Spark.Models; using System; using System.Collections.Generic; using System.Linq; @@ -8,7 +8,7 @@ namespace Microsoft.Azure.Commands.Synapse.Models { public class PSSynapseExtendedSparkStatement : PSSynapseSparkStatement { - public PSSynapseExtendedSparkStatement(LivyStatementResponseBody livyStatement) : base(livyStatement) + public PSSynapseExtendedSparkStatement(SparkStatement livyStatement) : base(livyStatement) { this.ExecutionOutput = GetExecutionOutput(livyStatement?.Output); } @@ -18,7 +18,7 @@ public PSSynapseExtendedSparkStatement(LivyStatementResponseBody livyStatement) public string ExecutionOutput { get; } - private string GetExecutionOutput(LivyStatementOutput livyOutput) + private string GetExecutionOutput(SparkStatementOutput livyOutput) { if (livyOutput == null) { @@ -38,9 +38,9 @@ private string GetExecutionOutput(LivyStatementOutput livyOutput) else if (SparkSessionStatementLivyState.Error.Equals(Output?.Status, StringComparison.OrdinalIgnoreCase)) { var sb = new StringBuilder(); - if (livyOutput.Evalue != null) + if (livyOutput.ErrorValue != null) { - sb.AppendLine(livyOutput.Evalue); + sb.AppendLine(livyOutput.ErrorValue); } if (livyOutput.Traceback != null) diff --git a/src/Synapse/Synapse/Models/PSSynapseSparkJob.cs b/src/Synapse/Synapse/Models/PSSynapseSparkJob.cs index 62305a87f813..f841e957578e 100644 --- a/src/Synapse/Synapse/Models/PSSynapseSparkJob.cs +++ b/src/Synapse/Synapse/Models/PSSynapseSparkJob.cs @@ -1,10 +1,11 @@ -using Microsoft.Azure.Synapse.Models; +using Azure.Analytics.Synapse.Spark.Models; +using System.Linq; namespace Microsoft.Azure.Commands.Synapse.Models { public class PSSynapseSparkJob : PSSynapseSparkJobInformationBase { - public PSSynapseSparkJob(ExtendedLivyBatchResponse batchJob) : + public PSSynapseSparkJob(SparkBatchJob batchJob) : base(batchJob?.Name, batchJob?.WorkspaceName, batchJob?.SparkPoolName, @@ -12,16 +13,16 @@ public PSSynapseSparkJob(ExtendedLivyBatchResponse batchJob) : batchJob?.SubmitterId, batchJob?.ArtifactId, batchJob?.JobType, - batchJob?.Result, - batchJob?.SchedulerInfo, - batchJob?.PluginInfo, - batchJob?.ErrorInfo, - batchJob?.Tags, + batchJob?.Result.ToString(), + batchJob?.Scheduler, + batchJob?.Plugin, + batchJob?.Errors, + batchJob?.Tags.ToDictionary(kvp=>kvp.Key, kvp=>kvp.Value), batchJob?.Id, batchJob?.AppId, batchJob?.AppInfo, batchJob?.State, - batchJob?.Log) + batchJob?.LogLines) { this.LivyInfo = batchJob?.LivyInfo != null ? new PSLivyBatchStateInformation(batchJob?.LivyInfo) : null; } diff --git a/src/Synapse/Synapse/Models/PSSynapseSparkJobInformationBase.cs b/src/Synapse/Synapse/Models/PSSynapseSparkJobInformationBase.cs index 9293d16e5412..5e408fc501f5 100644 --- a/src/Synapse/Synapse/Models/PSSynapseSparkJobInformationBase.cs +++ b/src/Synapse/Synapse/Models/PSSynapseSparkJobInformationBase.cs @@ -1,8 +1,9 @@ -using Microsoft.Azure.Commands.ResourceManager.Common.Tags; +using Azure.Analytics.Synapse.Spark.Models; +using Microsoft.Azure.Commands.ResourceManager.Common.Tags; using Microsoft.Azure.Management.Internal.Resources.Utilities; -using Microsoft.Azure.Synapse.Models; using System.Collections; using System.Collections.Generic; +using System.Linq; namespace Microsoft.Azure.Commands.Synapse.Models { @@ -19,17 +20,17 @@ public PSSynapseSparkJobInformationBase( string submitterName, string submitterId, string artifactId, - string jobType, + SparkJobType? jobType, string result, - SchedulerInformation schedulerInfo, - SparkServicePluginInformation pluginInfo, - IList errorInfo, + SparkScheduler scheduler, + SparkServicePlugin plugin, + IReadOnlyList errors, IDictionary tags, int? id, string appId, - IDictionary appInfo, + IReadOnlyDictionary appInfo, string state, - IList log) + IReadOnlyList logLines) { this.Name = name; this.WorkspaceName = workspaceName; @@ -39,15 +40,15 @@ public PSSynapseSparkJobInformationBase( this.ArtifactId = artifactId; this.JobType = jobType; this.Result = result; - this.SchedulerInfo = schedulerInfo != null ? new PSSchedulerInformation(schedulerInfo) : null; - this.PluginInfo = pluginInfo != null ?new PSSparkServicePluginInformation(pluginInfo) : null; - this.ErrorInfo = errorInfo; + this.Scheduler = scheduler != null ? new PSSchedulerInformation(scheduler) : null; + this.Plugin = plugin != null ?new PSSparkServicePluginInformation(plugin) : null; + this.Errors = errors; this.Tags = TagsConversionHelper.CreateTagHashtable(tags); this.Id = id; this.AppId = appId; this.AppInfo = appInfo; this.State = state; - this.Log = log; + this.LogLines = logLines; } /// @@ -77,7 +78,7 @@ public PSSynapseSparkJobInformationBase( /// /// Gets or sets possible values include: 'SparkBatch', 'SparkSession' /// - public string JobType { get; set; } + public SparkJobType? JobType { get; set; } /// /// Gets or sets possible values include: 'Uncertain', 'Succeeded', @@ -87,15 +88,15 @@ public PSSynapseSparkJobInformationBase( /// /// - public PSSchedulerInformation SchedulerInfo { get; set; } + public PSSchedulerInformation Scheduler { get; set; } /// /// - public PSSparkServicePluginInformation PluginInfo { get; set; } + public PSSparkServicePluginInformation Plugin { get; set; } /// /// - public IList ErrorInfo { get; set; } + public IReadOnlyList Errors { get; set; } /// /// @@ -113,7 +114,7 @@ public PSSynapseSparkJobInformationBase( /// /// - public IDictionary AppInfo { get; set; } + public IReadOnlyDictionary AppInfo { get; set; } /// /// @@ -121,6 +122,6 @@ public PSSynapseSparkJobInformationBase( /// /// - public IList Log { get; set; } + public IReadOnlyList LogLines { get; set; } } } diff --git a/src/Synapse/Synapse/Models/PSSynapseSparkSession.cs b/src/Synapse/Synapse/Models/PSSynapseSparkSession.cs index 3560c100f93f..15b326f981c5 100644 --- a/src/Synapse/Synapse/Models/PSSynapseSparkSession.cs +++ b/src/Synapse/Synapse/Models/PSSynapseSparkSession.cs @@ -1,14 +1,15 @@ -using Microsoft.Azure.Synapse.Models; +using Azure.Analytics.Synapse.Spark.Models; +using System.Linq; namespace Microsoft.Azure.Commands.Synapse.Models { public class PSSynapseSparkSession : PSSynapseSparkJobInformationBase { - public PSSynapseSparkSession(ExtendedLivySessionResponse session) : this(null, session) + public PSSynapseSparkSession(SparkSession session) : this(null, session) { } - public PSSynapseSparkSession(string language, ExtendedLivySessionResponse session) : + public PSSynapseSparkSession(string language, SparkSession session) : base(session?.Name, session?.WorkspaceName, session?.SparkPoolName, @@ -16,16 +17,16 @@ public PSSynapseSparkSession(string language, ExtendedLivySessionResponse sessio session?.SubmitterId, session?.ArtifactId, session?.JobType, - session?.Result, - session?.SchedulerInfo, - session?.PluginInfo, - session?.ErrorInfo, - session?.Tags, + session?.Result.ToString(), + session?.Scheduler, + session?.Plugin, + session?.Errors, + session?.Tags.ToDictionary(kvp => kvp.Key, kvp => kvp.Value), session?.Id, session?.AppId, session?.AppInfo, session?.State, - session?.Log) + session?.LogLines) { this.Language = language; this.LivyInfo = session?.LivyInfo != null ? new PSLivySessionStateInformation(session?.LivyInfo) : null; diff --git a/src/Synapse/Synapse/Models/PSSynapseSparkStatement.cs b/src/Synapse/Synapse/Models/PSSynapseSparkStatement.cs index 6ee8cff92c0c..6c33ca63b25c 100644 --- a/src/Synapse/Synapse/Models/PSSynapseSparkStatement.cs +++ b/src/Synapse/Synapse/Models/PSSynapseSparkStatement.cs @@ -1,10 +1,10 @@ -using Microsoft.Azure.Synapse.Models; +using Azure.Analytics.Synapse.Spark.Models; namespace Microsoft.Azure.Commands.Synapse.Models { public class PSSynapseSparkStatement { - public PSSynapseSparkStatement(LivyStatementResponseBody livyStatement) + public PSSynapseSparkStatement(SparkStatement livyStatement) { this.Id = livyStatement?.Id; this.Code = livyStatement?.Code; diff --git a/src/Synapse/Synapse/Models/SynapseAnalyticsClient.cs b/src/Synapse/Synapse/Models/SynapseAnalyticsClient.cs index 981271757f26..528c15afd752 100644 --- a/src/Synapse/Synapse/Models/SynapseAnalyticsClient.cs +++ b/src/Synapse/Synapse/Models/SynapseAnalyticsClient.cs @@ -1,18 +1,21 @@ -using Microsoft.Azure.Commands.Common.Authentication.Abstractions; +using Azure.Analytics.Synapse.Spark; +using Azure.Analytics.Synapse.Spark.Models; +using Azure.Core; +using Microsoft.Azure.Commands.Common.Authentication.Abstractions; using Microsoft.Azure.Commands.Synapse.Common; using Microsoft.Azure.Commands.Synapse.Models.Exceptions; using Microsoft.Azure.Commands.Synapse.Properties; using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; using Microsoft.Azure.Management.Synapse; using Microsoft.Azure.Management.Synapse.Models; -using Microsoft.Azure.Synapse; -using Microsoft.Azure.Synapse.Models; using Microsoft.Rest.Azure; +using Microsoft.WindowsAzure.Commands.Storage.Common; using Microsoft.WindowsAzure.Commands.Utilities.Common; using System; using System.Collections.Generic; using System.Linq; using System.Net; +using CloudException = Microsoft.Rest.Azure.CloudException; using ResourceMoveDefinition = Microsoft.Azure.Management.Synapse.Models.ResourceMoveDefinition; using RestorePoint = Microsoft.Azure.Management.Synapse.Models.RestorePoint; @@ -22,7 +25,8 @@ public class SynapseAnalyticsClient { private readonly Guid _subscriptionId; private readonly SynapseManagementClient _synapseManagementClient; - private readonly SynapseClient _synapseClient; + private SparkBatchClient _sparkBatchClient; + private SparkSessionClient _sparkSessionClient; public SynapseAnalyticsClient(IAzureContext context) { @@ -36,8 +40,24 @@ public SynapseAnalyticsClient(IAzureContext context) _synapseManagementClient = SynapseCmdletBase.CreateSynapseClient(context, AzureEnvironment.Endpoint.ResourceManager); - _synapseClient = SynapseCmdletBase.CreateSynapseClient(context, - AzureEnvironment.ExtendedEndpoint.AzureSynapseAnalyticsEndpointSuffix, true); + //_synapseClient = SynapseCmdletBase.CreateSynapseClient(context, + // AzureEnvironment.ExtendedEndpoint.AzureSynapseAnalyticsEndpointSuffix, true); + + } + + public void CreateSparkBatchClient(string workspaceName, string sparkPoolName, IAzureContext context) + { + // ".dev.azuresynapse.net" + string suffix = context.Environment.GetEndpoint(AzureEnvironment.ExtendedEndpoint.AzureSynapseAnalyticsEndpointSuffix); + Uri uri = new Uri("https://" + workspaceName + "." + suffix); + this._sparkBatchClient = new SparkBatchClient(uri, sparkPoolName, new AzureSessionCredential(context)); + } + + public void CreateSparkSessionClient(string workspaceName, string sparkPoolName, IAzureContext context) + { + string suffix = context.Environment.GetEndpoint(AzureEnvironment.ExtendedEndpoint.AzureSynapseAnalyticsEndpointSuffix); + Uri uri = new Uri("https://" + workspaceName + "." + suffix); + this._sparkSessionClient = new SparkSessionClient(uri, sparkPoolName, new AzureSessionCredential(context)); } #region Workspace operations @@ -549,74 +569,72 @@ public bool TestSparkPool(string resourceGroupName, string workspaceName, string #region Spark batch job operations - public ExtendedLivyBatchResponse SubmitSparkBatchJob(string workspaceName, string sparkPoolName, ExtendedLivyBatchRequest livyRequest, bool waitForCompletion) + public SparkBatchJob SubmitSparkBatchJob(SparkBatchJobOptions sparkBatchJobOptions, bool waitForCompletion) { - var batch = _synapseClient.SparkBatch.Create(workspaceName, sparkPoolName, livyRequest, detailed:true); + var batch = _sparkBatchClient.CreateSparkBatchJob(sparkBatchJobOptions, detailed: true); if (!waitForCompletion) { return batch; } - - return PollSparkBatchJobSubmission(workspaceName, sparkPoolName, batch); + + return PollSparkBatchJobSubmission(batch); } - public ExtendedLivyBatchResponse PollSparkBatchJobSubmission(string workspaceName, string sparkPoolName, ExtendedLivyBatchResponse batch) + public SparkBatchJob PollSparkBatchJobSubmission(SparkBatchJob batch) { return Poll( batch, - b => b.Result, + b => b.Result.ToString(), b => b.State, - b => this.GetSparkBatchJob(workspaceName, sparkPoolName, b.Id.Value), + b => this.GetSparkBatchJob(b.Id), SparkJobLivyState.BatchSubmissionFinalStates); } - public ExtendedLivyBatchResponse PollSparkBatchJobExecution( - string workspaceName, - string sparkPoolName, - ExtendedLivyBatchResponse batch, + public SparkBatchJob PollSparkBatchJobExecution( + SparkBatchJob batch, int pollingIntervalInSeconds = 0, int timeoutInSeconds = 0, Action writeLog = null) { return Poll( batch, - b => b.Result, + b => b.Result.ToString(), b => b.State, - b => this.GetSparkBatchJob(workspaceName, sparkPoolName, b.Id.Value), + b => this.GetSparkBatchJob(b.Id), SparkJobLivyState.BatchExecutionFinalStates, pollingInMilliseconds: pollingIntervalInSeconds * 1000, timeoutInMilliseconds: timeoutInSeconds * 1000, writeLog: (b) => writeLog?.Invoke(string.Format(Resources.WaitJobState, b.State))); } - public List ListSparkBatchJobs(string workspaceName, string sparkPoolName, bool detailed = true) + public List ListSparkBatchJobs(bool detailed = true) { - var batches = new List(); + var batches = new List(); int from = 0; int currentPageSize; int pageSize = SynapseConstants.PageSize; do { - var page = _synapseClient.SparkBatch.List(workspaceName, sparkPoolName, detailed: detailed, fromParameter: from, size: pageSize); - currentPageSize = page.Total.Value; + var page = _sparkBatchClient.GetSparkBatchJobs(from: from, size: pageSize, detailed: detailed); + currentPageSize = page.Value.Total; from += currentPageSize; - batches.AddRange(page.Sessions.ToList()); + batches.AddRange(page.Value.Sessions); } while (currentPageSize == pageSize); return batches; } - public ExtendedLivyBatchResponse GetSparkBatchJob(string workspaceName, string sparkPoolName, int batchId) + public SparkBatchJob GetSparkBatchJob(int batchId) { - return _synapseClient.SparkBatch.Get(workspaceName, sparkPoolName, batchId, detailed:true); + return _sparkBatchClient.GetSparkBatchJob(batchId, detailed: true); } - public void CancelSparkBatchJob(string workspaceName, string sparkPoolName, int batchId, bool waitForCompletion) + public void CancelSparkBatchJob(int batchId, bool waitForCompletion) { - _synapseClient.SparkBatch.Delete(workspaceName, sparkPoolName, batchId); + _sparkBatchClient.CancelSparkBatchJob(batchId); if (waitForCompletion) { - var batchJob = GetSparkBatchJob(workspaceName, sparkPoolName, batchId); - PollSparkBatchJobExecution(workspaceName, sparkPoolName, batchJob); + var batchJob = GetSparkBatchJob(batchId); + PollSparkBatchJobExecution(batchJob); } } @@ -624,124 +642,122 @@ public void CancelSparkBatchJob(string workspaceName, string sparkPoolName, int #region Spark session operations - public ExtendedLivySessionResponse CreateSparkSession(string workspaceName, string sparkPoolName, ExtendedLivySessionRequest livyRequest, bool waitForCompletion) + public SparkSession CreateSparkSession(SparkSessionOptions sparkSessionOptions, bool waitForCompletion) { - var session = _synapseClient.SparkSession.Create(workspaceName, sparkPoolName, livyRequest); + var session = _sparkSessionClient.CreateSparkSession(sparkSessionOptions); if (!waitForCompletion) { return session; } - return PollSparkSession(workspaceName, sparkPoolName, session); + return PollSparkSession(session); } - public ExtendedLivySessionResponse PollSparkSession( - string workspaceName, - string sparkPoolName, - ExtendedLivySessionResponse session, + public SparkSession PollSparkSession( + SparkSession session, IList livyReadyStates = null) { if (livyReadyStates == null) { livyReadyStates = SparkJobLivyState.SessionSubmissionFinalStates; } - + return Poll( session, - s => s.Result, + s => s.Result.ToString(), s => s.State, - s => this.GetSparkSession(workspaceName, sparkPoolName, s.Id.Value), + s => this.GetSparkSession(s.Id), livyReadyStates); } - public ExtendedLivySessionResponse GetSparkSession(string workspaceName, string sparkPoolName, int sessionId) + public SparkSession GetSparkSession(int sessionId) { - return _synapseClient.SparkSession.Get(workspaceName, sparkPoolName, sessionId, detailed:true); + return _sparkSessionClient.GetSparkSession(sessionId, detailed: true); } - public List ListSparkSessionsByName(string workspaceName, string sparkPoolName, string sessionName) + public List ListSparkSessionsByName(string sessionName) { - return ListSparkSessions(workspaceName, sparkPoolName).Where(s => !string.IsNullOrEmpty(s.Name) && s.Name.Equals(sessionName, StringComparison.OrdinalIgnoreCase)).ToList(); + return ListSparkSessions().Where(s => !string.IsNullOrEmpty(s.Name) && s.Name.Equals(sessionName, StringComparison.OrdinalIgnoreCase)).ToList(); } - public List ListSparkSessions(string workspaceName, string sparkPoolName, bool detailed = true) + public List ListSparkSessions(bool detailed = true) { - var sessions = new List(); + var sessions = new List(); int from = 0; int currentPageSize; int pageSize = SynapseConstants.PageSize; do { - var page = _synapseClient.SparkSession.List(workspaceName, sparkPoolName, detailed: detailed, fromParameter: from, size: pageSize); - currentPageSize = page.Total.Value; + var page = _sparkSessionClient.GetSparkSessions(from: from, size: pageSize, detailed: detailed); + currentPageSize = page.Value.Total; from += currentPageSize; - sessions.AddRange(page.Sessions.ToList()); + sessions.AddRange(page.Value.Sessions); } while (currentPageSize == pageSize); return sessions; } - public void StopSparkSession(string workspaceName, string sparkPoolName, int sessionId, bool waitForCompletion) + public void StopSparkSession(int sessionId, bool waitForCompletion) { - _synapseClient.SparkSession.Delete(workspaceName, sparkPoolName, sessionId); + _sparkSessionClient.CancelSparkSession(sessionId); if (waitForCompletion) { - var session = GetSparkSession(workspaceName, sparkPoolName, sessionId); - PollSparkSession(workspaceName, sparkPoolName, session, SparkJobLivyState.SessionCancellationFinalStates); + var session = GetSparkSession(sessionId); + PollSparkSession(session, SparkJobLivyState.SessionCancellationFinalStates); } } - public void ResetSparkSessionTimeout(string workspaceName, string sparkPoolName, int sessionId) + public void ResetSparkSessionTimeout(int sessionId) { - _synapseClient.SparkSession.ResetTimeout(workspaceName, sparkPoolName, sessionId); + _sparkSessionClient.ResetSparkSessionTimeout(sessionId); } #endregion #region Spark session statement operations - public LivyStatementResponseBody SubmitSparkSessionStatement(string workspaceName, string sparkPoolName, int sessionId, LivyStatementRequestBody livyRequest, bool waitForCompletion) + public SparkStatement SubmitSparkSessionStatement(int sessionId, SparkStatementOptions sparkStatementOptions, bool waitForCompletion) { - var statement = _synapseClient.SparkSession.CreateStatement(workspaceName, sparkPoolName, sessionId, livyRequest); + var statement = _sparkSessionClient.CreateSparkStatement(sessionId, sparkStatementOptions); if (!waitForCompletion) { return statement; } - return PollSparkSessionStatement(workspaceName, sparkPoolName, sessionId, statement); + return PollSparkSessionStatement(sessionId, statement); } - public LivyStatementResponseBody PollSparkSessionStatement(string workspaceName, string sparkPoolName, int sessionId, LivyStatementResponseBody statement) + public SparkStatement PollSparkSessionStatement(int sessionId, SparkStatement statement) { return Poll( statement, s => null, s => s.State, - s => this.GetSparkSessionStatement(workspaceName, sparkPoolName, sessionId, s.Id.Value), + s => this.GetSparkSessionStatement(sessionId, s.Id), SparkSessionStatementLivyState.ExecutingStates, isFinalState:false); } - public LivyStatementResponseBody GetSparkSessionStatement(string workspaceName, string sparkPoolName, int sessionId, int statementId) + public SparkStatement GetSparkSessionStatement(int sessionId, int statementId) { - return _synapseClient.SparkSession.GetStatement(workspaceName, sparkPoolName, sessionId, statementId); + return _sparkSessionClient.GetSparkStatement(sessionId, statementId); } - public List ListSparkSessionStatements(string workspaceName, string sparkPoolName, int sessionId) + public List ListSparkSessionStatements(int sessionId) { - return _synapseClient.SparkSession.ListStatements(workspaceName, sparkPoolName, sessionId).Statements.ToList(); + return _sparkSessionClient.GetSparkStatements(sessionId).Value.Statements.ToList(); } public void CancelSparkSessionStatement(string workspaceName, string sparkPoolName, int sessionId, int statementId) { if (sessionId == SynapseConstants.UnknownId) { - var session = this.ListSparkSessions(workspaceName, sparkPoolName, detailed:false) + var session = this.ListSparkSessions(detailed:false) .FirstOrDefault(s => { try { - var stmt = this.GetSparkSessionStatement(workspaceName, sparkPoolName, s.Id.Value, statementId); + var stmt = this.GetSparkSessionStatement(s.Id, statementId); return SparkSessionStatementLivyState.CancellableStates.Contains(stmt.State); } catch @@ -760,10 +776,10 @@ public void CancelSparkSessionStatement(string workspaceName, string sparkPoolNa sparkPoolName)); } - sessionId = session.Id.Value; + sessionId = session.Id; } - _synapseClient.SparkSession.DeleteStatement(workspaceName, sparkPoolName, sessionId, statementId); + _sparkSessionClient.CancelSparkStatement(sessionId, statementId); } #endregion diff --git a/src/Synapse/Synapse/Synapse.csproj b/src/Synapse/Synapse/Synapse.csproj index 3190e8ef3f13..c1cc7caf53d5 100644 --- a/src/Synapse/Synapse/Synapse.csproj +++ b/src/Synapse/Synapse/Synapse.csproj @@ -12,7 +12,7 @@ - + From 50d9f0fbf4fb4f3df60a636f5289f9382927b2d5 Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Wed, 17 Jun 2020 16:29:38 +0800 Subject: [PATCH 09/20] track2 v2.0 --- .../SparkJob/GetAzureSynapseSparkJob.cs | 9 +- .../SparkJob/StopAzureSynapseSparkJob.cs | 7 +- .../SparkJob/SubmitAzureSynapseSparkJob.cs | 7 +- .../SparkJob/WaitAzureSynapseSparkJob.cs | 7 +- .../GetAzureSynapseSparkSession.cs | 8 +- .../ResetAzureSynapseSparkSessionTimeout.cs | 7 +- .../StartAzureSynapseSparkSession.cs | 7 +- .../StopAzureSynapseSparkSession.cs | 7 +- .../GetAzureSynapseSparkStatement.cs | 8 +- .../InvokeAzureSynapseSparkStatement.cs | 8 +- .../StopAzureSynapseSparkStatement.cs | 7 +- .../Firewall/GetAzureSynapseFirewallRule.cs | 2 +- .../Firewall/NewAzureSynapseFirewallRule.cs | 2 +- .../RemoveAzureSynapseFirewallRule.cs | 2 +- .../UpdateAzureSynapseFirewallRule.cs | 2 +- .../SparkPool/GetAzureSynapseSparkPool.cs | 2 +- .../SparkPool/NewAzureSynapseSparkPool.cs | 2 +- .../SparkPool/RemoveAzureSynapseSparkPool.cs | 2 +- .../SparkPool/TestAzureSynapseSparkPool.cs | 2 +- .../SparkPool/UpdateAzureSynapseSparkPool.cs | 2 +- .../SqlPool/GetAzureSynapseSqlPool.cs | 2 +- .../SqlPool/NewAzureSynapseSqlPool.cs | 2 +- .../SqlPool/RemoveAzureSynapseSqlPool.cs | 2 +- .../SqlPool/TestAzureSynapseSqlPool.cs | 2 +- .../SqlPool/UpdateAzureSynapseSqlPool.cs | 2 +- .../Workspace/GetAzureSynapseWorkspace.cs | 2 +- .../Workspace/NewAzureSynapseWorkspace.cs | 2 +- .../Workspace/RemoveAzureSynapseWorkspace.cs | 2 +- .../Workspace/TestAzureSynapseWorkspace.cs | 2 +- .../Workspace/UpdateAzureSynapseWorkspace.cs | 2 +- .../Synapse/Common/AzureSessionCredential.cs | 4 +- .../SynapseAnalyticsManagementClient.cs | 573 ++++++++++++++++++ .../Models/SynapseAnalyticsSparkClient.cs | 306 ++++++++++ .../Synapse/Models/SynapseCmdletBase.cs | 16 - .../Models/SynapseManagementCmdletBase.cs | 27 + .../Synapse/Models/SynapseSparkCmdletBase.cs | 30 + 36 files changed, 990 insertions(+), 86 deletions(-) create mode 100644 src/Synapse/Synapse/Models/SynapseAnalyticsManagementClient.cs create mode 100644 src/Synapse/Synapse/Models/SynapseAnalyticsSparkClient.cs create mode 100644 src/Synapse/Synapse/Models/SynapseManagementCmdletBase.cs create mode 100644 src/Synapse/Synapse/Models/SynapseSparkCmdletBase.cs diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/GetAzureSynapseSparkJob.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/GetAzureSynapseSparkJob.cs index 76c1340aba68..d66c7c74fd67 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/GetAzureSynapseSparkJob.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/GetAzureSynapseSparkJob.cs @@ -14,7 +14,7 @@ namespace Microsoft.Azure.Commands.Synapse [Cmdlet(VerbsCommon.Get, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkJob, DefaultParameterSetName = GetSparkJobsByIdParameterSetName)] [OutputType(typeof(PSSynapseSparkJob))] - public class GetAzureSynapseSparkJob : SynapseCmdletBase + public class GetAzureSynapseSparkJob : SynapseSparkCmdletBase { private const string GetSparkJobsByIdParameterSetName = "GetSparkJobsByIdParameterSet"; private const string GetSparkJobsByIdFromParentObjectParameterSetName = "GetSparkJobsByIdFromParentObjectParameterSet"; @@ -23,7 +23,7 @@ public class GetAzureSynapseSparkJob : SynapseCmdletBase Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, "ResourceGroupName")] [ValidateNotNullOrEmpty] - public string WorkspaceName { get; set; } + public override string WorkspaceName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = GetSparkJobsByIdParameterSetName, Mandatory = true, HelpMessage = HelpMessages.SparkPoolName)] @@ -32,7 +32,7 @@ public class GetAzureSynapseSparkJob : SynapseCmdletBase "ResourceGroupName", nameof(WorkspaceName))] [ValidateNotNullOrEmpty] - public string SparkPoolName { get; set; } + public override string SparkPoolName { get; set; } [Parameter(ValueFromPipeline = true, ParameterSetName = GetSparkJobsByIdFromParentObjectParameterSetName, Mandatory = true, HelpMessage = HelpMessages.SparkPoolObject)] @@ -71,9 +71,6 @@ public override void ExecuteCmdlet() this.SparkPoolName = resourceIdentifier.ResourceName; } - SynapseAnalyticsClient.CreateSparkBatchClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); - - if (this.IsParameterBound(c => c.LivyId)) { // Get for single Spark batch job diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/StopAzureSynapseSparkJob.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/StopAzureSynapseSparkJob.cs index 7090e4ec57a5..af05445a862d 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/StopAzureSynapseSparkJob.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/StopAzureSynapseSparkJob.cs @@ -10,7 +10,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsLifecycle.Stop, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkJob, DefaultParameterSetName = StopSparkJobByIdParameterSetName, SupportsShouldProcess = true)] [OutputType(typeof(bool))] - public class StopAzureSynapseSparkJob : SynapseCmdletBase + public class StopAzureSynapseSparkJob : SynapseSparkCmdletBase { private const string StopSparkJobByIdParameterSetName = "StopSparkJobByIdParameterSet"; private const string StopSparkJobByIdFromParentObjectParameterSet = "StopSparkJobByIdFromParentObjectParameterSet"; @@ -20,7 +20,7 @@ public class StopAzureSynapseSparkJob : SynapseCmdletBase Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, "ResourceGroupName")] [ValidateNotNullOrEmpty] - public string WorkspaceName { get; set; } + public override string WorkspaceName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = StopSparkJobByIdParameterSetName, Mandatory = true, HelpMessage = HelpMessages.SparkPoolName)] @@ -29,7 +29,7 @@ public class StopAzureSynapseSparkJob : SynapseCmdletBase "ResourceGroupName", nameof(WorkspaceName))] [ValidateNotNullOrEmpty] - public string SparkPoolName { get; set; } + public override string SparkPoolName { get; set; } [Parameter(ValueFromPipeline = true, ParameterSetName = StopSparkJobByIdFromParentObjectParameterSet, Mandatory = true, HelpMessage = HelpMessages.SparkPoolObject)] @@ -81,7 +81,6 @@ public override void ExecuteCmdlet() LivyId.ToString(), () => { - SynapseAnalyticsClient.CreateSparkBatchClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); SynapseAnalyticsClient.CancelSparkBatchJob(LivyId, waitForCompletion: false); if (PassThru) { diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/SubmitAzureSynapseSparkJob.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/SubmitAzureSynapseSparkJob.cs index 881b0f13e9de..f93a9ea50941 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/SubmitAzureSynapseSparkJob.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/SubmitAzureSynapseSparkJob.cs @@ -16,7 +16,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsLifecycle.Submit, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkJob, DefaultParameterSetName = RunSparkJobParameterSetName)] [OutputType(typeof(PSSynapseSparkJob))] - public class SubmitAzureSynapseSparkJob : SynapseCmdletBase + public class SubmitAzureSynapseSparkJob : SynapseSparkCmdletBase { private const string RunSparkJobParameterSetName = nameof(RunSparkJobParameterSetName); private const string RunSparkJobByParentObjectParameterSet = nameof(RunSparkJobByParentObjectParameterSet); @@ -25,7 +25,7 @@ public class SubmitAzureSynapseSparkJob : SynapseCmdletBase Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, "ResourceGroupName")] [ValidateNotNullOrEmpty] - public string WorkspaceName { get; set; } + public override string WorkspaceName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = RunSparkJobParameterSetName, Mandatory = true, HelpMessage = HelpMessages.SparkPoolName)] @@ -34,7 +34,7 @@ public class SubmitAzureSynapseSparkJob : SynapseCmdletBase "ResourceGroupName", nameof(WorkspaceName))] [ValidateNotNullOrEmpty] - public string SparkPoolName { get; set; } + public override string SparkPoolName { get; set; } [Parameter(ValueFromPipeline = true, ParameterSetName = RunSparkJobByParentObjectParameterSet, Mandatory = true, HelpMessage = HelpMessages.SparkPoolObject)] @@ -184,7 +184,6 @@ public override void ExecuteCmdlet() batchRequest.Configuration[SynapseConstants.SparkDotNetAssemblySearchPathsKey] = string.Join(",", paths); } - SynapseAnalyticsClient.CreateSparkBatchClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); var jobInformation = SynapseAnalyticsClient.SubmitSparkBatchJob(batchRequest, waitForCompletion:false); WriteObject(new PSSynapseSparkJob(jobInformation)); } diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/WaitAzureSynapseSparkJob.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/WaitAzureSynapseSparkJob.cs index 5a7c0a932542..0638e01638a9 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/WaitAzureSynapseSparkJob.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/WaitAzureSynapseSparkJob.cs @@ -12,7 +12,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsLifecycle.Wait, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkJob, DefaultParameterSetName = WaitSparkJobByIdParameterSetName)] [OutputType(typeof(bool))] - public class WaitAzureSynapseSparkJob : SynapseCmdletBase + public class WaitAzureSynapseSparkJob : SynapseSparkCmdletBase { private const string WaitSparkJobByIdParameterSetName = "WaitSparkJobByIdParameterSet"; private const string WaitSparkJobByIdFromParentObjectParameterSet = "WaitSparkJobByIdFromParentObjectParameterSet"; @@ -22,7 +22,7 @@ public class WaitAzureSynapseSparkJob : SynapseCmdletBase Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, "ResourceGroupName")] [ValidateNotNullOrEmpty] - public string WorkspaceName { get; set; } + public override string WorkspaceName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = WaitSparkJobByIdParameterSetName, Mandatory = true, HelpMessage = HelpMessages.SparkPoolName)] @@ -31,7 +31,7 @@ public class WaitAzureSynapseSparkJob : SynapseCmdletBase "ResourceGroupName", nameof(WorkspaceName))] [ValidateNotNullOrEmpty] - public string SparkPoolName { get; set; } + public override string SparkPoolName { get; set; } [Parameter(ValueFromPipeline = true, ParameterSetName = WaitSparkJobByIdFromParentObjectParameterSet, Mandatory = true, HelpMessage = HelpMessages.SparkPoolObject)] @@ -80,7 +80,6 @@ public override void ExecuteCmdlet() this.LivyId = this.IsParameterBound(c => c.LivyId) ? this.LivyId : this.SparkJobObject.Id.Value; } - this.SynapseAnalyticsClient.CreateSparkBatchClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); var sparkJob = this.SynapseAnalyticsClient.GetSparkBatchJob(this.LivyId); try { diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/GetAzureSynapseSparkSession.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/GetAzureSynapseSparkSession.cs index 0c8dd34c39eb..6a2513d6a734 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/GetAzureSynapseSparkSession.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/GetAzureSynapseSparkSession.cs @@ -11,7 +11,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsCommon.Get, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkSession, DefaultParameterSetName = GetByNameParameterSet)] [OutputType(typeof(PSSynapseSparkSession))] - public class GetAzureSynapseSparkSession : SynapseCmdletBase + public class GetAzureSynapseSparkSession : SynapseSparkCmdletBase { private const string GetByNameParameterSet = "GetByNameParameterSet"; private const string GetByParentObjectParameterSet = "GetByParentObjectParameterSet"; @@ -20,7 +20,7 @@ public class GetAzureSynapseSparkSession : SynapseCmdletBase Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, "ResourceGroupName")] [ValidateNotNullOrEmpty] - public string WorkspaceName { get; set; } + public override string WorkspaceName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = GetByNameParameterSet, Mandatory = true, HelpMessage = HelpMessages.SparkPoolName)] @@ -29,7 +29,7 @@ public class GetAzureSynapseSparkSession : SynapseCmdletBase "ResourceGroupName", nameof(WorkspaceName))] [ValidateNotNullOrEmpty] - public string SparkPoolName { get; set; } + public override string SparkPoolName { get; set; } [Parameter(ValueFromPipeline = true, ParameterSetName = GetByParentObjectParameterSet, Mandatory = true, HelpMessage = HelpMessages.SparkPoolObject)] @@ -68,8 +68,6 @@ public override void ExecuteCmdlet() this.SparkPoolName = resourceIdentifier.ResourceName; } - this.SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); - if (this.IsParameterBound(c => c.LivyId)) { var result = new PSSynapseSparkSession(this.SynapseAnalyticsClient.GetSparkSession(this.LivyId)); diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/ResetAzureSynapseSparkSessionTimeout.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/ResetAzureSynapseSparkSessionTimeout.cs index df6ed94e4507..1f318a066834 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/ResetAzureSynapseSparkSessionTimeout.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/ResetAzureSynapseSparkSessionTimeout.cs @@ -10,7 +10,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsCommon.Reset, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkSession + SynapseConstants.Timeout, DefaultParameterSetName = ResetByIdParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(bool))] - public class ResetAzureSynapseSparkSessionTimeout : SynapseCmdletBase + public class ResetAzureSynapseSparkSessionTimeout : SynapseSparkCmdletBase { private const string ResetByIdParameterSet = "ResetByNameParameterSet"; private const string ResetByParentObjectParameterSet = "ResetByParentObjectParameterSet"; @@ -20,7 +20,7 @@ public class ResetAzureSynapseSparkSessionTimeout : SynapseCmdletBase Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, "ResourceGroupName")] [ValidateNotNullOrEmpty] - public string WorkspaceName { get; set; } + public override string WorkspaceName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = ResetByIdParameterSet, Mandatory = true, HelpMessage = HelpMessages.SparkPoolName)] @@ -29,7 +29,7 @@ public class ResetAzureSynapseSparkSessionTimeout : SynapseCmdletBase "ResourceGroupName", nameof(WorkspaceName))] [ValidateNotNullOrEmpty] - public string SparkPoolName { get; set; } + public override string SparkPoolName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = ResetByIdParameterSet, Mandatory = true, HelpMessage = HelpMessages.SessionId)] @@ -74,7 +74,6 @@ public override void ExecuteCmdlet() if (this.ShouldProcess(this.LivyId.ToString(), string.Format(Resources.ResettingSynapseSparkSessionTimeout, this.LivyId))) { - this.SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); this.SynapseAnalyticsClient.ResetSparkSessionTimeout(this.LivyId); if (this.PassThru.IsPresent) { diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StartAzureSynapseSparkSession.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StartAzureSynapseSparkSession.cs index 28a10d22fa14..6dfd0989b536 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StartAzureSynapseSparkSession.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StartAzureSynapseSparkSession.cs @@ -14,7 +14,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsLifecycle.Start, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkSession, DefaultParameterSetName = CreateByNameParameterSet)] [OutputType(typeof(PSSynapseSparkSession))] - public class StartAzureSynapseSparkSession : SynapseCmdletBase + public class StartAzureSynapseSparkSession : SynapseSparkCmdletBase { private const string CreateByNameParameterSet = "CreateByNameParameterSet"; private const string CreateByParentObjectParameterSet = "CreateByParentObjectParameterSet"; @@ -28,7 +28,7 @@ public class StartAzureSynapseSparkSession : SynapseCmdletBase Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, "ResourceGroupName")] [ValidateNotNullOrEmpty] - public string WorkspaceName { get; set; } + public override string WorkspaceName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = CreateByNameParameterSet, Mandatory = true, HelpMessage = HelpMessages.SparkPoolName)] @@ -37,7 +37,7 @@ public class StartAzureSynapseSparkSession : SynapseCmdletBase "ResourceGroupName", nameof(WorkspaceName))] [ValidateNotNullOrEmpty] - public string SparkPoolName { get; set; } + public override string SparkPoolName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, Mandatory = false, HelpMessage = HelpMessages.LanguageForExecutionCode)] [ValidateNotNullOrEmpty] @@ -101,7 +101,6 @@ public override void ExecuteCmdlet() ExecutorCount = this.ExecutorCount }; - SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); var sparkSession = SynapseAnalyticsClient.CreateSparkSession(livyRequest, waitForCompletion:true); PSSynapseSparkSession psSparkSession = null; diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StopAzureSynapseSparkSession.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StopAzureSynapseSparkSession.cs index 61267e5836c2..04eadf160d39 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StopAzureSynapseSparkSession.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkSession/StopAzureSynapseSparkSession.cs @@ -10,7 +10,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsLifecycle.Stop, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkSession, DefaultParameterSetName = DeleteByIdParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(bool))] - public class StopAzureSynapseSparkSession : SynapseCmdletBase + public class StopAzureSynapseSparkSession : SynapseSparkCmdletBase { private const string DeleteByIdParameterSet = "DeleteByNameParameterSet"; private const string DeleteByParentObjectParameterSet = "DeleteByParentObjectParameterSet"; @@ -20,7 +20,7 @@ public class StopAzureSynapseSparkSession : SynapseCmdletBase Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, "ResourceGroupName")] [ValidateNotNullOrEmpty] - public string WorkspaceName { get; set; } + public override string WorkspaceName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = DeleteByIdParameterSet, Mandatory = true, HelpMessage = HelpMessages.SparkPoolName)] @@ -29,7 +29,7 @@ public class StopAzureSynapseSparkSession : SynapseCmdletBase "ResourceGroupName", nameof(WorkspaceName))] [ValidateNotNullOrEmpty] - public string SparkPoolName { get; set; } + public override string SparkPoolName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = DeleteByIdParameterSet, Mandatory = true, HelpMessage = HelpMessages.SessionId)] @@ -74,7 +74,6 @@ public override void ExecuteCmdlet() if (this.ShouldProcess(this.LivyId.ToString(), string.Format(Resources.StoppingSynapseSparkSession, this.LivyId))) { - this.SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); this.SynapseAnalyticsClient.StopSparkSession(this.LivyId, waitForCompletion:false); if (this.PassThru.IsPresent) { diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/GetAzureSynapseSparkStatement.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/GetAzureSynapseSparkStatement.cs index deb8cf15ca22..a58ed5196bd4 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/GetAzureSynapseSparkStatement.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/GetAzureSynapseSparkStatement.cs @@ -9,7 +9,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsCommon.Get, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkStatement, DefaultParameterSetName = GetSparkStatementsByIdParameterSetName)] [OutputType(typeof(PSSynapseSparkStatement))] - public class GetAzureSynapseSparkStatement : SynapseCmdletBase + public class GetAzureSynapseSparkStatement : SynapseSparkCmdletBase { private const string GetSparkStatementsByIdParameterSetName = "GetSparkStatementsByIdParameterSet"; private const string GetSparkStatementsByIdFromParentObjectParameterSetName = "GetSparkStatementsByParentObjectParameterSet"; @@ -18,7 +18,7 @@ public class GetAzureSynapseSparkStatement : SynapseCmdletBase Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, "ResourceGroupName")] [ValidateNotNullOrEmpty] - public string WorkspaceName { get; set; } + public override string WorkspaceName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = GetSparkStatementsByIdParameterSetName, Mandatory = true, HelpMessage = HelpMessages.SparkPoolName)] @@ -27,7 +27,7 @@ public class GetAzureSynapseSparkStatement : SynapseCmdletBase "ResourceGroupName", nameof(WorkspaceName))] [ValidateNotNullOrEmpty] - public string SparkPoolName { get; set; } + public override string SparkPoolName { get; set; } [Parameter(ValueFromPipeline = true, ParameterSetName = GetSparkStatementsByIdFromParentObjectParameterSetName, Mandatory = true, HelpMessage = HelpMessages.SparkPoolObject)] @@ -58,8 +58,6 @@ public override void ExecuteCmdlet() this.SessionId = this.SessionObject.Id.Value; } - SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); - if (this.IsParameterBound(c => c.LivyId)) { // Get for single Spark session statement diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/InvokeAzureSynapseSparkStatement.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/InvokeAzureSynapseSparkStatement.cs index 9d23b7896d66..30ca2fa9f189 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/InvokeAzureSynapseSparkStatement.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/InvokeAzureSynapseSparkStatement.cs @@ -9,7 +9,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsLifecycle.Invoke, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkStatement, DefaultParameterSetName = RunSparkStatementByCodePathParameterSet)] [OutputType(typeof(PSSynapseExtendedSparkStatement))] - public class InvokeAzureSynapseSparkStatement : SynapseCmdletBase + public class InvokeAzureSynapseSparkStatement : SynapseSparkCmdletBase { private const string RunSparkStatementByCodeParameterSet = nameof(RunSparkStatementByCodeParameterSet); private const string RunSparkStatementByCodeAndInputObjectParameterSet = nameof(RunSparkStatementByCodeAndInputObjectParameterSet); @@ -22,7 +22,7 @@ public class InvokeAzureSynapseSparkStatement : SynapseCmdletBase Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, "ResourceGroupName")] [ValidateNotNullOrEmpty] - public string WorkspaceName { get; set; } + public override string WorkspaceName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = RunSparkStatementByCodeParameterSet, Mandatory = true, HelpMessage = HelpMessages.SparkPoolName)] @@ -33,7 +33,7 @@ public class InvokeAzureSynapseSparkStatement : SynapseCmdletBase "ResourceGroupName", nameof(WorkspaceName))] [ValidateNotNullOrEmpty] - public string SparkPoolName { get; set; } + public override string SparkPoolName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = RunSparkStatementByCodeParameterSet, Mandatory = true, HelpMessage = HelpMessages.LanguageForExecutionCode)] @@ -105,8 +105,6 @@ public override void ExecuteCmdlet() Code = this.Code }; - // create spark session - SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); var sessionStmt = SynapseAnalyticsClient.SubmitSparkSessionStatement(this.SessionId, livyRequest, waitForCompletion:true); var psSessionStmt = new PSSynapseExtendedSparkStatement(sessionStmt); WriteObject(psSessionStmt); diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/StopAzureSynapseSparkStatement.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/StopAzureSynapseSparkStatement.cs index 87aeeaf8025f..5937b1ede096 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/StopAzureSynapseSparkStatement.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkStatement/StopAzureSynapseSparkStatement.cs @@ -9,7 +9,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsLifecycle.Stop, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkStatement, DefaultParameterSetName = StopSparkStatementByIdParameterSetName, SupportsShouldProcess = true)] [OutputType(typeof(bool))] - public class StopAzureSynapseSparkStatement : SynapseCmdletBase + public class StopAzureSynapseSparkStatement : SynapseSparkCmdletBase { private const string StopSparkStatementByIdParameterSetName = "StopSparkStatementByIdParameterSet"; private const string StopSparkStatementByIdFromParentObjectParameterSet = "StopSparkStatementByIdFromParentObjectParameterSet"; @@ -18,7 +18,7 @@ public class StopAzureSynapseSparkStatement : SynapseCmdletBase Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] [ResourceNameCompleter(ResourceTypes.Workspace, "ResourceGroupName")] [ValidateNotNullOrEmpty] - public string WorkspaceName { get; set; } + public override string WorkspaceName { get; set; } [Parameter(ValueFromPipelineByPropertyName = false, ParameterSetName = StopSparkStatementByIdParameterSetName, Mandatory = true, HelpMessage = HelpMessages.SparkPoolName)] @@ -27,7 +27,7 @@ public class StopAzureSynapseSparkStatement : SynapseCmdletBase "ResourceGroupName", nameof(WorkspaceName))] [ValidateNotNullOrEmpty] - public string SparkPoolName { get; set; } + public override string SparkPoolName { get; set; } [Parameter(ValueFromPipeline = true, ParameterSetName = StopSparkStatementByIdFromParentObjectParameterSet, Mandatory = true, HelpMessage = HelpMessages.SessionObject)] @@ -69,7 +69,6 @@ public override void ExecuteCmdlet() LivyId.ToString(), () => { - SynapseAnalyticsClient.CreateSparkSessionClient(this.WorkspaceName, this.SparkPoolName, DefaultContext); SynapseAnalyticsClient.CancelSparkSessionStatement(WorkspaceName, SparkPoolName, SessionId, LivyId); if (PassThru) { diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/GetAzureSynapseFirewallRule.cs b/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/GetAzureSynapseFirewallRule.cs index 2120bb45a05f..681ff8818a72 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/GetAzureSynapseFirewallRule.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/GetAzureSynapseFirewallRule.cs @@ -11,7 +11,7 @@ namespace Microsoft.Azure.Commands.Synapse [Cmdlet(VerbsCommon.Get, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.FirewallRule, DefaultParameterSetName = GetByNameParameterSet)] [OutputType(typeof(PSSynapseIpFirewallRule))] - public class GetAzureSynapseFirewallRule : SynapseCmdletBase + public class GetAzureSynapseFirewallRule : SynapseManagementCmdletBase { private const string GetByNameParameterSet = "GetByNameParameterSet"; private const string GetByParentObjectParameterSet = "GetByParentObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/NewAzureSynapseFirewallRule.cs b/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/NewAzureSynapseFirewallRule.cs index f8a7814bb3f7..b681a1af2efa 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/NewAzureSynapseFirewallRule.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/NewAzureSynapseFirewallRule.cs @@ -13,7 +13,7 @@ namespace Microsoft.Azure.Commands.Synapse [Cmdlet(VerbsCommon.New, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.FirewallRule, DefaultParameterSetName = CreateByNameParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(PSSynapseIpFirewallRule))] - public class NewAzureSynapseFirewallRule : SynapseCmdletBase + public class NewAzureSynapseFirewallRule : SynapseManagementCmdletBase { private const string CreateByNameParameterSet = "CreateByNameParameterSet"; private const string CreateByParentObjectParameterSet = "CreateByParentObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/RemoveAzureSynapseFirewallRule.cs b/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/RemoveAzureSynapseFirewallRule.cs index d9915e176f0a..76176ed9eca0 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/RemoveAzureSynapseFirewallRule.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/RemoveAzureSynapseFirewallRule.cs @@ -10,7 +10,7 @@ namespace Microsoft.Azure.Commands.Synaspe { [Cmdlet(VerbsCommon.Remove, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.FirewallRule, DefaultParameterSetName = DeleteByNameParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(bool))] - public class RemoveAzureSynapseFirewallRule : SynapseCmdletBase + public class RemoveAzureSynapseFirewallRule : SynapseManagementCmdletBase { private const string DeleteByNameParameterSet = "DeleteByNameParameterSet"; private const string DeleteByParentObjectParameterSet = "DeleteByParentObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/UpdateAzureSynapseFirewallRule.cs b/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/UpdateAzureSynapseFirewallRule.cs index ce15900844e7..5ee7c6fad16d 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/UpdateAzureSynapseFirewallRule.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/Firewall/UpdateAzureSynapseFirewallRule.cs @@ -13,7 +13,7 @@ namespace Microsoft.Azure.Commands.Synapse [Cmdlet(VerbsData.Update, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.FirewallRule, DefaultParameterSetName = UpdateByNameParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(PSSynapseIpFirewallRule))] - public class UpdateAzureSynapseFirewallRules : SynapseCmdletBase + public class UpdateAzureSynapseFirewallRules : SynapseManagementCmdletBase { private const string UpdateByNameParameterSet = "UpdateByNameParameterSet"; private const string UpdateByParentObjectParameterSet = "UpdateByParentObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/GetAzureSynapseSparkPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/GetAzureSynapseSparkPool.cs index 3f9293133fe5..23e0efa280b8 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/GetAzureSynapseSparkPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/GetAzureSynapseSparkPool.cs @@ -11,7 +11,7 @@ namespace Microsoft.Azure.Commands.Synapse [Cmdlet(VerbsCommon.Get, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkPool, DefaultParameterSetName = GetByNameParameterSet)] [OutputType(typeof(PSSynapseSparkPool))] - public class GetAzureSynapseSparkPool : SynapseCmdletBase + public class GetAzureSynapseSparkPool : SynapseManagementCmdletBase { private const string GetByNameParameterSet = "GetByNameParameterSet"; private const string GetByParentObjectParameterSet = "GetByParentObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs index 1a905282aa1f..fb4d526a705d 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/NewAzureSynapseSparkPool.cs @@ -15,7 +15,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsCommon.New, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkPool, DefaultParameterSetName = CreateByNameAndEnableAutoScaleParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(PSSynapseSparkPool))] - public class NewAzureSynapseSparkPool : SynapseCmdletBase + public class NewAzureSynapseSparkPool : SynapseManagementCmdletBase { private const string CreateByNameAndEnableAutoScaleParameterSet = "CreateByNameAndEnableAutoScaleParameterSet"; private const string CreateByNameAndDisableAutoScaleParameterSet = "CreateByNameAndDisableAutoScaleParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/RemoveAzureSynapseSparkPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/RemoveAzureSynapseSparkPool.cs index eb4d19020354..954a7c75d535 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/RemoveAzureSynapseSparkPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/RemoveAzureSynapseSparkPool.cs @@ -10,7 +10,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsCommon.Remove, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkPool, DefaultParameterSetName = DeleteByNameParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(bool))] - public class RemoveAzureSynapseSparkPool : SynapseCmdletBase + public class RemoveAzureSynapseSparkPool : SynapseManagementCmdletBase { private const string DeleteByNameParameterSet = "DeleteByNameParameterSet"; private const string DeleteByParentObjectParameterSet = "DeleteByParentObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/TestAzureSynapseSparkPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/TestAzureSynapseSparkPool.cs index 6f09e37b3711..e0f3fb556585 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/TestAzureSynapseSparkPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/TestAzureSynapseSparkPool.cs @@ -9,7 +9,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsDiagnostic.Test, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkPool, DefaultParameterSetName = TestByNameParameterSet)] [OutputType(typeof(bool))] - public class TestAzureSynapseSparkPool : SynapseCmdletBase + public class TestAzureSynapseSparkPool : SynapseManagementCmdletBase { private const string TestByNameParameterSet = "TestByNameParameterSet"; private const string TestByParentObjectParameterSet = "TestByParentObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/UpdateAzureSynapseSparkPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/UpdateAzureSynapseSparkPool.cs index bb70b9ccbfcb..f37fc4736be2 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/UpdateAzureSynapseSparkPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SparkPool/UpdateAzureSynapseSparkPool.cs @@ -15,7 +15,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsData.Update, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SparkPool, DefaultParameterSetName = SetByNameParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(PSSynapseSparkPool))] - public class UpdateAzureSynapseSparkPool : SynapseCmdletBase + public class UpdateAzureSynapseSparkPool : SynapseManagementCmdletBase { private const string SetByNameParameterSet = "SetByNameParameterSet"; private const string SetByParentObjectParameterSet = "SetByParentObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/GetAzureSynapseSqlPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/GetAzureSynapseSqlPool.cs index 3db37306e9ae..f1901310ff3f 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/GetAzureSynapseSqlPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/GetAzureSynapseSqlPool.cs @@ -11,7 +11,7 @@ namespace Microsoft.Azure.Commands.Synapse [Cmdlet(VerbsCommon.Get, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SqlPool, DefaultParameterSetName = GetByNameParameterSet)] [OutputType(typeof(PSSynapseSqlPool))] - public class GetAzureSynapseSqlPool : SynapseCmdletBase + public class GetAzureSynapseSqlPool : SynapseManagementCmdletBase { private const string GetByNameParameterSet = "GetByNameParameterSet"; private const string GetByParentObjectParameterSet = "GetByParentObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/NewAzureSynapseSqlPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/NewAzureSynapseSqlPool.cs index 77a39761d816..f38a8aa2cc62 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/NewAzureSynapseSqlPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/NewAzureSynapseSqlPool.cs @@ -16,7 +16,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsCommon.New, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SqlPool, DefaultParameterSetName = CreateByNameParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(PSSynapseSqlPool))] - public class NewAzureSynapseSqlPool : SynapseCmdletBase + public class NewAzureSynapseSqlPool : SynapseManagementCmdletBase { // Default private const string CreateByNameParameterSet = "CreateByNameParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/RemoveAzureSynapseSqlPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/RemoveAzureSynapseSqlPool.cs index 4744f38fb303..d2e0ad02dcd9 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/RemoveAzureSynapseSqlPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/RemoveAzureSynapseSqlPool.cs @@ -10,7 +10,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsCommon.Remove, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SqlPool, DefaultParameterSetName = DeleteByNameParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(bool))] - public class RemoveAzureSynapseSqlPool : SynapseCmdletBase + public class RemoveAzureSynapseSqlPool : SynapseManagementCmdletBase { private const string DeleteByNameParameterSet = "DeleteByNameParameterSet"; private const string DeleteByParentObjectParameterSet = "DeleteByParentObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/TestAzureSynapseSqlPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/TestAzureSynapseSqlPool.cs index e030051af702..ded02fc40657 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/TestAzureSynapseSqlPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/TestAzureSynapseSqlPool.cs @@ -9,7 +9,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsDiagnostic.Test, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SqlPool, DefaultParameterSetName = TestByNameParameterSet)] [OutputType(typeof(bool))] - public class TestAzureSynapseSqlPool : SynapseCmdletBase + public class TestAzureSynapseSqlPool : SynapseManagementCmdletBase { private const string TestByNameParameterSet = "TestByNameParameterSet"; private const string TestByParentObjectParameterSet = "TestByParentObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/UpdateAzureSynapseSqlPool.cs b/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/UpdateAzureSynapseSqlPool.cs index 8b8939af4c2d..7afa770c414f 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/UpdateAzureSynapseSqlPool.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/SqlPool/UpdateAzureSynapseSqlPool.cs @@ -15,7 +15,7 @@ namespace Microsoft.Azure.Commands.Synapse [Cmdlet(VerbsData.Update, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.SqlPool, DefaultParameterSetName = UpdateByNameParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(PSSynapseSqlPool))] - public class UpdateAzureSynapseSqlPool : SynapseCmdletBase + public class UpdateAzureSynapseSqlPool : SynapseManagementCmdletBase { private const string UpdateByNameParameterSet = "UpdateByNameParameterSet"; private const string UpdateByParentObjectParameterSet = "UpdateByParentObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/GetAzureSynapseWorkspace.cs b/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/GetAzureSynapseWorkspace.cs index b21ea30f8d7a..041f88132bb1 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/GetAzureSynapseWorkspace.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/GetAzureSynapseWorkspace.cs @@ -10,7 +10,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsCommon.Get, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.Workspace, DefaultParameterSetName = GetByNameParameterSet)] [OutputType(typeof(PSSynapseWorkspace))] - public class GetAzureSynapseWorkspace : SynapseCmdletBase + public class GetAzureSynapseWorkspace : SynapseManagementCmdletBase { private const string GetByNameParameterSet = "GetByNameParameterSet"; private const string GetByResourceIdParameterSet = "GetByResourceIdParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/NewAzureSynapseWorkspace.cs b/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/NewAzureSynapseWorkspace.cs index 68957aa770f9..ea40267dd155 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/NewAzureSynapseWorkspace.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/NewAzureSynapseWorkspace.cs @@ -12,7 +12,7 @@ namespace Microsoft.Azure.Commands.Synaspe { [Cmdlet(VerbsCommon.New, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.Workspace, SupportsShouldProcess = true)] [OutputType(typeof(PSSynapseWorkspace))] - public class NewAzureSynapseWorkspace : SynapseCmdletBase + public class NewAzureSynapseWorkspace : SynapseManagementCmdletBase { [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = HelpMessages.ResourceGroupName)] diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/RemoveAzureSynapseWorkspace.cs b/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/RemoveAzureSynapseWorkspace.cs index 651485786d97..dc93b7671445 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/RemoveAzureSynapseWorkspace.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/RemoveAzureSynapseWorkspace.cs @@ -10,7 +10,7 @@ namespace Microsoft.Azure.Commands.Synaspe { [Cmdlet(VerbsCommon.Remove, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.Workspace, DefaultParameterSetName = DeleteByNameParameterSet, SupportsShouldProcess = true)] [OutputType(typeof(bool))] - public class RemoveAzureSynapseWorkspace : SynapseCmdletBase + public class RemoveAzureSynapseWorkspace : SynapseManagementCmdletBase { private const string DeleteByNameParameterSet = "DeleteByNameParameterSet"; private const string DeleteByInputObjectParameterSet = "DeleteByInputObjectParameterSet"; diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/TestAzureSynapseWorkspace.cs b/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/TestAzureSynapseWorkspace.cs index b54f04e0aa83..77d5aef15b16 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/TestAzureSynapseWorkspace.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/TestAzureSynapseWorkspace.cs @@ -7,7 +7,7 @@ namespace Microsoft.Azure.Commands.Synapse { [Cmdlet(VerbsDiagnostic.Test, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.Workspace)] [OutputType(typeof(bool))] - public class TestAzureSynapseWorkspace : SynapseCmdletBase + public class TestAzureSynapseWorkspace : SynapseManagementCmdletBase { [Parameter(ValueFromPipelineByPropertyName = false, Position = 0, Mandatory = true, HelpMessage = HelpMessages.WorkspaceName)] diff --git a/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/UpdateAzureSynapseWorkspace.cs b/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/UpdateAzureSynapseWorkspace.cs index 88b00a2a2dc7..aeb2bffe854d 100644 --- a/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/UpdateAzureSynapseWorkspace.cs +++ b/src/Synapse/Synapse/Commands/ManagementCommands/Workspace/UpdateAzureSynapseWorkspace.cs @@ -17,7 +17,7 @@ namespace Microsoft.Azure.Commands.Synapse [Cmdlet(VerbsData.Update, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + SynapseConstants.SynapsePrefix + SynapseConstants.Workspace, SupportsShouldProcess = true, DefaultParameterSetName = SetByNameParameterSet)] [OutputType(typeof(PSSynapseWorkspace))] - public class UpdateAzureSynapseWorkspace : SynapseCmdletBase + public class UpdateAzureSynapseWorkspace : SynapseManagementCmdletBase { private const string SetByNameParameterSet = "SetByNameParameterSet"; private const string SetByInputObjectParameterSet = "SetByInputObjectParameterSet"; diff --git a/src/Synapse/Synapse/Common/AzureSessionCredential.cs b/src/Synapse/Synapse/Common/AzureSessionCredential.cs index 2406e3d7faff..98fb43a53e1f 100644 --- a/src/Synapse/Synapse/Common/AzureSessionCredential.cs +++ b/src/Synapse/Synapse/Common/AzureSessionCredential.cs @@ -80,12 +80,12 @@ private IAzureEnvironment EnsureStorageOAuthAudienceSet(IAzureEnvironment enviro /// /// The extension key to use for the storage token audience value /// - public const string StorageOAuthEndpointResourceKey = "StorageOAuthEndpointResourceId"; + public const string StorageOAuthEndpointResourceKey = "SynapseOAuthEndpointResourceKey"; /// /// Default resourceId for storage OAuth tokens /// - public const string StorageOAuthEndpointResourceValue = "https://storage.azure.com"; + public const string StorageOAuthEndpointResourceValue = "https://dev.azuresynapse.net"; private IAccessToken accessToken; diff --git a/src/Synapse/Synapse/Models/SynapseAnalyticsManagementClient.cs b/src/Synapse/Synapse/Models/SynapseAnalyticsManagementClient.cs new file mode 100644 index 000000000000..0dd9c98f5529 --- /dev/null +++ b/src/Synapse/Synapse/Models/SynapseAnalyticsManagementClient.cs @@ -0,0 +1,573 @@ +using Microsoft.Azure.Commands.Common.Authentication.Abstractions; +using Microsoft.Azure.Commands.Synapse.Common; +using Microsoft.Azure.Commands.Synapse.Models.Exceptions; +using Microsoft.Azure.Commands.Synapse.Properties; +using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; +using Microsoft.Azure.Management.Synapse; +using Microsoft.Azure.Management.Synapse.Models; +using Microsoft.Rest.Azure; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Text; + +namespace Microsoft.Azure.Commands.Synapse.Models +{ + public class SynapseAnalyticsManagementClient + { + private readonly Guid _subscriptionId; + private readonly SynapseManagementClient _synapseManagementClient; + + public SynapseAnalyticsManagementClient(IAzureContext context) + { + if (context == null) + { + throw new SynapseException(Resources.InvalidDefaultSubscription); + } + + _subscriptionId = context.Subscription.GetId(); + + _synapseManagementClient = SynapseCmdletBase.CreateSynapseClient(context, + AzureEnvironment.Endpoint.ResourceManager); + } + + #region Workspace operations + + public Workspace CreateOrUpdateWorkspace(string resourceGroupName, string workspaceName, Workspace createOrUpdateParams) + { + try + { + return _synapseManagementClient.Workspaces.CreateOrUpdate(resourceGroupName, workspaceName, createOrUpdateParams); + } + catch (ErrorContractException ex) + { + throw GetSynapseException(ex); + } + } + + internal Workspace GetWorkspace(string resourceGroupName, string workspaceName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + return _synapseManagementClient.Workspaces.Get(resourceGroupName, workspaceName); + } + catch (ErrorContractException ex) + { + throw GetSynapseException(ex); + } + } + + internal Workspace GetWorkspaceOrDefault(string resourceGroupName, string workspaceName) + { + try + { + return GetWorkspace(resourceGroupName, workspaceName); + } + catch + { + return null; + } + } + + public List ListWorkspaces(string resourceGroupName = null) + { + try + { + var firstPage = string.IsNullOrEmpty(resourceGroupName) + ? _synapseManagementClient.Workspaces.List() + : _synapseManagementClient.Workspaces.ListByResourceGroup(resourceGroupName); + + return ListResources(firstPage, _synapseManagementClient.Workspaces.ListNext); + } + catch (ErrorContractException ex) + { + throw GetSynapseException(ex); + } + } + + public void DeleteWorkspace(string resourceGroupName, string workspaceName) + { + + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + if (!TestWorkspace(resourceGroupName, workspaceName)) + { + throw new InvalidOperationException(string.Format(Properties.Resources.WorkspaceDoesNotExist, workspaceName)); + } + + try + { + _synapseManagementClient.Workspaces.Delete(resourceGroupName, workspaceName); + } + catch (CloudException ex) + { + if (ex.Response.StatusCode == HttpStatusCode.NotFound) + { + // parent resource not found, indicates the workspace is deleted successfully. + // TODO: investigate why this error is thrown. + } + else + { + throw GetSynapseException(ex); + } + } + } + + public IpFirewallRuleInfo CreateOrUpdateWorkspaceFirewallRule( + string resourceGroupName, + string workspaceName, + string ruleName, + IpFirewallRuleInfo createOrUpdateParams) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + return _synapseManagementClient.IpFirewallRules.CreateOrUpdate( + resourceGroupName, + workspaceName, + ruleName, + createOrUpdateParams); + } + catch (ErrorContractException ex) + { + throw GetSynapseException(ex); + } + } + + public IpFirewallRuleInfo GetFirewallRule(string resourceGroupName, string workspaceName, string ruleName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + return _synapseManagementClient.IpFirewallRules.Get(resourceGroupName, workspaceName, ruleName); + } + catch (ErrorContractException ex) + { + throw GetSynapseException(ex); + } + } + + public List ListFirewallRules(string resourceGroupName, string workspaceName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + var firstPage = _synapseManagementClient.IpFirewallRules.ListByWorkspace(resourceGroupName, workspaceName); + return ListResources(firstPage, _synapseManagementClient.IpFirewallRules.ListByWorkspaceNext); + } + catch + { + throw new NotFoundException(string.Format(Properties.Resources.FailedToDiscoverFirewallRuleByWorkspace, workspaceName)); + } + } + + public void DeleteFirewallRule(string resourceGroupName, string workspaceName, string ruleName) + { + + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + if (!TestWorkspace(resourceGroupName, workspaceName)) + { + throw new InvalidOperationException(string.Format(Properties.Resources.WorkspaceDoesNotExist, workspaceName)); + } + + + if (!TestFirewallRule(resourceGroupName, workspaceName, ruleName)) + { + throw new InvalidOperationException(string.Format(Properties.Resources.FirewallRuleDoesNotExist, ruleName)); + } + + try + { + _synapseManagementClient.IpFirewallRules.Delete(resourceGroupName, workspaceName, ruleName); + } + catch (CloudException ex) + { + throw GetSynapseException(ex); + } + } + + public bool TestWorkspace(string resourceGroupName, string workspaceName) + { + try + { + GetWorkspace(resourceGroupName, workspaceName); + return true; + } + catch (NotFoundException) + { + return false; + } + } + + public bool TestFirewallRule(string resourceGroupName, string workspaceName, string ruleName) + { + try + { + GetFirewallRule(resourceGroupName, workspaceName, ruleName); + return true; + } + catch (NotFoundException) + { + return false; + } + } + + public string GetResourceGroupByWorkspaceName(string workspaceName) + { + try + { + var workspaceId = ListWorkspaces() + .Find(x => x.Name.Equals(workspaceName, StringComparison.InvariantCultureIgnoreCase)) + .Id; + + return new ResourceIdentifier(workspaceId).ResourceGroupName; + } + catch + { + throw new NotFoundException(string.Format(Properties.Resources.FailedToDiscoverResourceGroup, workspaceName, _subscriptionId)); + } + } + + #endregion + + #region SQL pool operations + + public SqlPool CreateSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName, SqlPool createOrUpdateParams) + { + try + { + return _synapseManagementClient.SqlPools.Create(resourceGroupName, workspaceName, sqlPoolName, createOrUpdateParams); + } + catch (CloudException ex) + { + throw GetSynapseException(ex); + } + } + + internal SqlPool GetSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + return _synapseManagementClient.SqlPools.Get(resourceGroupName, workspaceName, sqlPoolName); + } + catch (CloudException ex) + { + throw GetSynapseException(ex); + } + } + + internal SqlPool GetSqlPoolOrDefault(string resourceGroupName, string workspaceName, string sqlPoolName) + { + try + { + return GetSqlPool(resourceGroupName, workspaceName, sqlPoolName); + } + catch + { + return null; + } + } + + public List ListSqlPools(string resourceGroupName, string workspaceName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + var firstPage = this._synapseManagementClient.SqlPools.ListByWorkspace(resourceGroupName, workspaceName); + return ListResources(firstPage, _synapseManagementClient.SqlPools.ListByWorkspaceNext); + } + catch (CloudException ex) + { + throw GetSynapseException(ex); + } + } + + public void UpdateSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName, SqlPoolPatchInfo updateParams) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + _synapseManagementClient.SqlPools.Update(resourceGroupName, workspaceName, sqlPoolName, updateParams); + } + catch (CloudException ex) + { + throw GetSynapseException(ex); + } + } + + public void DeleteSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + if (!TestSqlPool(resourceGroupName, workspaceName, sqlPoolName)) + { + throw new InvalidOperationException(string.Format(Properties.Resources.SqlPoolDoesNotExist, sqlPoolName)); + } + + _synapseManagementClient.SqlPools.Delete(resourceGroupName, workspaceName, sqlPoolName); + } + catch (CloudException ex) + { + throw GetSynapseException(ex); + } + } + + public bool TestSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName) + { + try + { + GetSqlPool(resourceGroupName, workspaceName, sqlPoolName); + return true; + } + catch (NotFoundException) + { + return false; + } + } + + public void RenameSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName, string newSqlPoolName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + this._synapseManagementClient.SqlPools.Rename( + resourceGroupName, + workspaceName, + sqlPoolName, + new ResourceMoveDefinition + { + Id = Utils.ConstructResourceId( + _synapseManagementClient.SubscriptionId, + resourceGroupName, + ResourceTypes.SqlPool, + newSqlPoolName, + $"workspaces/{workspaceName}") + }); + } + catch (CloudException ex) + { + throw GetSynapseException(ex); + } + } + + public void PauseSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + this._synapseManagementClient.SqlPools.Pause(resourceGroupName, workspaceName, sqlPoolName); + } + catch (CloudException ex) + { + throw GetSynapseException(ex); + } + } + + public void ResumeSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + this._synapseManagementClient.SqlPools.Resume(resourceGroupName, workspaceName, sqlPoolName); + } + catch (CloudException ex) + { + throw GetSynapseException(ex); + } + } + + internal List ListSqlPoolRestorePoints(string resourceGroupName, string workspaceName, string sqlPoolName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + return this._synapseManagementClient.SqlPoolRestorePoints.List( + resourceGroupName, + workspaceName, + sqlPoolName) + .ToList(); + } + catch (CloudException ex) + { + throw GetSynapseException(ex); + } + } + + #endregion + + #region Spark pool operations + + public BigDataPoolResourceInfo CreateOrUpdateSparkPool(string resourceGroupName, string workspaceName, string sparkPoolName, BigDataPoolResourceInfo createOrUpdateParams) + { + try + { + return _synapseManagementClient.BigDataPools.CreateOrUpdate(resourceGroupName, workspaceName, sparkPoolName, createOrUpdateParams); + } + catch (ErrorContractException ex) + { + throw GetSynapseException(ex); + } + } + + internal BigDataPoolResourceInfo GetSparkPool(string resourceGroupName, string workspaceName, string sparkPoolName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + return _synapseManagementClient.BigDataPools.Get(resourceGroupName, workspaceName, sparkPoolName); + } + catch (ErrorContractException ex) + { + throw GetSynapseException(ex); + } + } + + public List ListSparkPools(string resourceGroupName, string workspaceName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + var firstPage = this._synapseManagementClient.BigDataPools.ListByWorkspace(resourceGroupName, workspaceName); + return ListResources(firstPage, _synapseManagementClient.BigDataPools.ListByWorkspaceNext); + } + catch (ErrorContractException ex) + { + throw GetSynapseException(ex); + } + } + + public void DeleteSparkPool(string resourceGroupName, string workspaceName, string sparkPoolName) + { + try + { + if (string.IsNullOrEmpty(resourceGroupName)) + { + resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); + } + + if (!TestSparkPool(resourceGroupName, workspaceName, sparkPoolName)) + { + throw new InvalidOperationException(string.Format(Properties.Resources.SparkPoolDoesNotExist, sparkPoolName)); + } + + _synapseManagementClient.BigDataPools.Delete(resourceGroupName, workspaceName, sparkPoolName); + } + catch (ErrorContractException ex) + { + throw GetSynapseException(ex); + } + } + + public bool TestSparkPool(string resourceGroupName, string workspaceName, string sparkPoolName) + { + try + { + GetSparkPool(resourceGroupName, workspaceName, sparkPoolName); + return true; + } + catch (NotFoundException) + { + return false; + } + } + + #endregion + + #region helpers + + private static List ListResources( + IPage firstPage, + Func> listNext) + { + var resourceList = new List(); + var response = firstPage; + resourceList.AddRange(response); + + while (!string.IsNullOrEmpty(response.NextPageLink)) + { + response = listNext(response.NextPageLink); + resourceList.AddRange(response); + } + + return resourceList; + } + + private static SynapseException GetSynapseException(ErrorContractException ex) + { + return ex.CreateSynapseException(); + } + + private static SynapseException GetSynapseException(CloudException ex) + { + return ex.CreateSynapseException(); + } + + #endregion + } +} diff --git a/src/Synapse/Synapse/Models/SynapseAnalyticsSparkClient.cs b/src/Synapse/Synapse/Models/SynapseAnalyticsSparkClient.cs new file mode 100644 index 000000000000..d762871e7cb3 --- /dev/null +++ b/src/Synapse/Synapse/Models/SynapseAnalyticsSparkClient.cs @@ -0,0 +1,306 @@ +using Azure.Analytics.Synapse.Spark; +using Azure.Analytics.Synapse.Spark.Models; +using Microsoft.Azure.Commands.Common.Authentication.Abstractions; +using Microsoft.Azure.Commands.Synapse.Common; +using Microsoft.Azure.Commands.Synapse.Models.Exceptions; +using Microsoft.Azure.Commands.Synapse.Properties; +using Microsoft.Azure.Management.Synapse.Models; +using Microsoft.Rest.Azure; +using Microsoft.WindowsAzure.Commands.Storage.Common; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Microsoft.Azure.Commands.Synapse.Models +{ + public class SynapseAnalyticsSparkClient + { + private readonly SparkBatchClient _sparkBatchClient; + private readonly SparkSessionClient _sparkSessionClient; + + public SynapseAnalyticsSparkClient(string workspaceName, string sparkPoolName, IAzureContext context) + { + if (context == null) + { + throw new SynapseException(Resources.InvalidDefaultSubscription); + } + + string suffix = context.Environment.GetEndpoint(AzureEnvironment.ExtendedEndpoint.AzureSynapseAnalyticsEndpointSuffix); + Uri uri = new Uri("https://" + workspaceName + "." + suffix); + // choose to create batch or session + _sparkBatchClient = new SparkBatchClient(uri, sparkPoolName, new AzureSessionCredential(context)); + _sparkSessionClient = new SparkSessionClient(uri, sparkPoolName, new AzureSessionCredential(context)); + } + + #region Spark batch job operations + + public SparkBatchJob SubmitSparkBatchJob(SparkBatchJobOptions sparkBatchJobOptions, bool waitForCompletion) + { + var batch = _sparkBatchClient.CreateSparkBatchJob(sparkBatchJobOptions, detailed: true); + if (!waitForCompletion) + { + return batch; + } + + return PollSparkBatchJobSubmission(batch); + } + + public SparkBatchJob PollSparkBatchJobSubmission(SparkBatchJob batch) + { + return Poll( + batch, + b => b.Result.ToString(), + b => b.State, + b => this.GetSparkBatchJob(b.Id), + SparkJobLivyState.BatchSubmissionFinalStates); + } + + public SparkBatchJob PollSparkBatchJobExecution( + SparkBatchJob batch, + int pollingIntervalInSeconds = 0, + int timeoutInSeconds = 0, + Action writeLog = null) + { + return Poll( + batch, + b => b.Result.ToString(), + b => b.State, + b => this.GetSparkBatchJob(b.Id), + SparkJobLivyState.BatchExecutionFinalStates, + pollingInMilliseconds: pollingIntervalInSeconds * 1000, + timeoutInMilliseconds: timeoutInSeconds * 1000, + writeLog: (b) => writeLog?.Invoke(string.Format(Resources.WaitJobState, b.State))); + } + + public List ListSparkBatchJobs(bool detailed = true) + { + var batches = new List(); + int from = 0; + int currentPageSize; + int pageSize = SynapseConstants.PageSize; + do + { + var page = _sparkBatchClient.GetSparkBatchJobs(from: from, size: pageSize, detailed: detailed); + currentPageSize = page.Value.Total; + from += currentPageSize; + batches.AddRange(page.Value.Sessions); + } while (currentPageSize == pageSize); + return batches; + } + + public SparkBatchJob GetSparkBatchJob(int batchId) + { + return _sparkBatchClient.GetSparkBatchJob(batchId, detailed: true); + } + + public void CancelSparkBatchJob(int batchId, bool waitForCompletion) + { + _sparkBatchClient.CancelSparkBatchJob(batchId); + if (waitForCompletion) + { + var batchJob = GetSparkBatchJob(batchId); + PollSparkBatchJobExecution(batchJob); + } + } + + #endregion + + #region Spark session operations + + public SparkSession CreateSparkSession(SparkSessionOptions sparkSessionOptions, bool waitForCompletion) + { + var session = _sparkSessionClient.CreateSparkSession(sparkSessionOptions); + if (!waitForCompletion) + { + return session; + } + + return PollSparkSession(session); + } + + public SparkSession PollSparkSession( + SparkSession session, + IList livyReadyStates = null) + { + if (livyReadyStates == null) + { + livyReadyStates = SparkJobLivyState.SessionSubmissionFinalStates; + } + + return Poll( + session, + s => s.Result.ToString(), + s => s.State, + s => this.GetSparkSession(s.Id), + livyReadyStates); + } + + public SparkSession GetSparkSession(int sessionId) + { + return _sparkSessionClient.GetSparkSession(sessionId, detailed: true); + } + + public List ListSparkSessionsByName(string sessionName) + { + return ListSparkSessions().Where(s => !string.IsNullOrEmpty(s.Name) && s.Name.Equals(sessionName, StringComparison.OrdinalIgnoreCase)).ToList(); + } + + public List ListSparkSessions(bool detailed = true) + { + var sessions = new List(); + int from = 0; + int currentPageSize; + int pageSize = SynapseConstants.PageSize; + do + { + var page = _sparkSessionClient.GetSparkSessions(from: from, size: pageSize, detailed: detailed); + currentPageSize = page.Value.Total; + from += currentPageSize; + sessions.AddRange(page.Value.Sessions); + } while (currentPageSize == pageSize); + + return sessions; + } + + public void StopSparkSession(int sessionId, bool waitForCompletion) + { + _sparkSessionClient.CancelSparkSession(sessionId); + if (waitForCompletion) + { + var session = GetSparkSession(sessionId); + PollSparkSession(session, SparkJobLivyState.SessionCancellationFinalStates); + } + } + + public void ResetSparkSessionTimeout(int sessionId) + { + _sparkSessionClient.ResetSparkSessionTimeout(sessionId); + } + + #endregion + + #region Spark session statement operations + + public SparkStatement SubmitSparkSessionStatement(int sessionId, SparkStatementOptions sparkStatementOptions, bool waitForCompletion) + { + var statement = _sparkSessionClient.CreateSparkStatement(sessionId, sparkStatementOptions); + if (!waitForCompletion) + { + return statement; + } + + return PollSparkSessionStatement(sessionId, statement); + } + + public SparkStatement PollSparkSessionStatement(int sessionId, SparkStatement statement) + { + return Poll( + statement, + s => null, + s => s.State, + s => this.GetSparkSessionStatement(sessionId, s.Id), + SparkSessionStatementLivyState.ExecutingStates, + isFinalState: false); + } + + public SparkStatement GetSparkSessionStatement(int sessionId, int statementId) + { + return _sparkSessionClient.GetSparkStatement(sessionId, statementId); + } + + public List ListSparkSessionStatements(int sessionId) + { + return _sparkSessionClient.GetSparkStatements(sessionId).Value.Statements.ToList(); + } + + public void CancelSparkSessionStatement(string workspaceName, string sparkPoolName, int sessionId, int statementId) + { + if (sessionId == SynapseConstants.UnknownId) + { + var session = this.ListSparkSessions(detailed: false) + .FirstOrDefault(s => + { + try + { + var stmt = this.GetSparkSessionStatement(s.Id, statementId); + return SparkSessionStatementLivyState.CancellableStates.Contains(stmt.State); + } + catch + { + // TODO: should only handle not found exception + return false; + } + }); + + if (session == null) + { + throw new SynapseException(string.Format( + Properties.Resources.FailedToDiscoverSparkStatement, + statementId, + workspaceName, + sparkPoolName)); + } + + sessionId = session.Id; + } + + _sparkSessionClient.CancelSparkStatement(sessionId, statementId); + } + + #endregion + + #region helpers + + private static T Poll( + T job, + Func getJobState, + Func getLivyState, + Func refresh, + IList livyReadyStates, + bool isFinalState = true, + int pollingInMilliseconds = 0, + int timeoutInMilliseconds = 0, + Action writeLog = null) + { + var timeWaitedInMilliSeconds = 0; + if (pollingInMilliseconds == 0) + { + pollingInMilliseconds = SynapseConstants.DefaultPollingInterval; + } + + while (IsJobRunning(getJobState(job), getLivyState(job), livyReadyStates, isFinalState)) + { + if (timeoutInMilliseconds > 0 && timeWaitedInMilliSeconds >= timeoutInMilliseconds) + { + throw new TimeoutException(); + } + + writeLog?.Invoke(job); + //TestMockSupport.Delay(pollingInMilliseconds); + System.Threading.Thread.Sleep(pollingInMilliseconds); + timeWaitedInMilliSeconds += pollingInMilliseconds; + + // TODO: handle retryable excetpion + job = refresh(job); + } + + return job; + } + + private static bool IsJobRunning(string jobState, string livyState, IList livyStates, bool isFinalState = true) + { + if (SparkJobState.Succeeded.Equals(jobState, StringComparison.OrdinalIgnoreCase) + || SparkJobState.Failed.Equals(jobState, StringComparison.OrdinalIgnoreCase) + || SparkJobState.Cancelled.Equals(jobState, StringComparison.OrdinalIgnoreCase)) + { + return false; + } + + return isFinalState ? !livyStates.Contains(livyState) : livyStates.Contains(livyState); + } + + #endregion + + } +} diff --git a/src/Synapse/Synapse/Models/SynapseCmdletBase.cs b/src/Synapse/Synapse/Models/SynapseCmdletBase.cs index d5b07b7d6152..fcd6cd8f2bc7 100644 --- a/src/Synapse/Synapse/Models/SynapseCmdletBase.cs +++ b/src/Synapse/Synapse/Models/SynapseCmdletBase.cs @@ -9,22 +9,6 @@ namespace Microsoft.Azure.Commands.Synapse.Models { public class SynapseCmdletBase : AzureRMCmdlet { - private SynapseAnalyticsClient _synapseAnalyticsClient; - - public SynapseAnalyticsClient SynapseAnalyticsClient - { - get - { - if (_synapseAnalyticsClient == null) - { - _synapseAnalyticsClient = new SynapseAnalyticsClient(DefaultProfile.DefaultContext); - } - - return _synapseAnalyticsClient; - } - - set { _synapseAnalyticsClient = value; } - } internal static TClient CreateSynapseClient(IAzureContext context, string endpoint, bool parameterizedBaseUri = false) where TClient : ServiceClient { diff --git a/src/Synapse/Synapse/Models/SynapseManagementCmdletBase.cs b/src/Synapse/Synapse/Models/SynapseManagementCmdletBase.cs new file mode 100644 index 000000000000..8f8a364d8435 --- /dev/null +++ b/src/Synapse/Synapse/Models/SynapseManagementCmdletBase.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Microsoft.Azure.Commands.Synapse.Models +{ + public class SynapseManagementCmdletBase : SynapseCmdletBase + { + private SynapseAnalyticsManagementClient _synapseAnalyticsManagementClient; + + public SynapseAnalyticsManagementClient SynapseAnalyticsClient + { + get + { + if (_synapseAnalyticsManagementClient == null) + { + _synapseAnalyticsManagementClient = new SynapseAnalyticsManagementClient(DefaultProfile.DefaultContext); + } + + return _synapseAnalyticsManagementClient; + } + + set { _synapseAnalyticsManagementClient = value; } + } + + } +} diff --git a/src/Synapse/Synapse/Models/SynapseSparkCmdletBase.cs b/src/Synapse/Synapse/Models/SynapseSparkCmdletBase.cs new file mode 100644 index 000000000000..e2fd6711c3a6 --- /dev/null +++ b/src/Synapse/Synapse/Models/SynapseSparkCmdletBase.cs @@ -0,0 +1,30 @@ +using Microsoft.Azure.Commands.Synapse.Common; +using System; +using System.Collections.Generic; +using System.Management.Automation; +using System.Text; + +namespace Microsoft.Azure.Commands.Synapse.Models +{ + public class SynapseSparkCmdletBase : SynapseCmdletBase + { + private SynapseAnalyticsSparkClient _synapseAnalyticsSparkClient; + public virtual string WorkspaceName { get; set; } + public virtual string SparkPoolName { get; set; } + + public SynapseAnalyticsSparkClient SynapseAnalyticsClient + { + get + { + if (_synapseAnalyticsSparkClient == null) + { + _synapseAnalyticsSparkClient = new SynapseAnalyticsSparkClient(this.WorkspaceName, this.SparkPoolName, DefaultProfile.DefaultContext); + } + + return _synapseAnalyticsSparkClient; + } + + set { _synapseAnalyticsSparkClient = value; } + } + } +} From 201c8e872667c56c66c373a381090077598de858 Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Wed, 17 Jun 2020 17:16:15 +0800 Subject: [PATCH 10/20] track2 v2.1 --- .../SparkJob/GetAzureSynapseSparkJob.cs | 1 - .../Synapse/Common/AzureSessionCredential.cs | 20 +- .../Synapse/Models/SynapseAnalyticsClient.cs | 866 ------------------ .../Models/SynapseAnalyticsSparkClient.cs | 2 - .../Models/SynapseManagementCmdletBase.cs | 1 - 5 files changed, 10 insertions(+), 880 deletions(-) delete mode 100644 src/Synapse/Synapse/Models/SynapseAnalyticsClient.cs diff --git a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/GetAzureSynapseSparkJob.cs b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/GetAzureSynapseSparkJob.cs index d66c7c74fd67..af05a5a45ad2 100644 --- a/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/GetAzureSynapseSparkJob.cs +++ b/src/Synapse/Synapse/Commands/DataPlaneCommands/SparkJob/GetAzureSynapseSparkJob.cs @@ -3,7 +3,6 @@ using Microsoft.Azure.Commands.Synapse.Common; using Microsoft.Azure.Commands.Synapse.Models; using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; -using Microsoft.WindowsAzure.Commands.Storage.Common; using Microsoft.WindowsAzure.Commands.Utilities.Common; using System; using System.Linq; diff --git a/src/Synapse/Synapse/Common/AzureSessionCredential.cs b/src/Synapse/Synapse/Common/AzureSessionCredential.cs index 98fb43a53e1f..4105da73d438 100644 --- a/src/Synapse/Synapse/Common/AzureSessionCredential.cs +++ b/src/Synapse/Synapse/Common/AzureSessionCredential.cs @@ -8,7 +8,7 @@ using Microsoft.Azure.Commands.Common.Authentication.Abstractions; using Microsoft.Azure.Commands.ResourceManager.Common.Properties; -namespace Microsoft.WindowsAzure.Commands.Storage.Common +namespace Microsoft.Azure.Commands.Synapse.Common { public delegate void DebugLogWriter(string log); public class AzureSessionCredential : TokenCredential @@ -26,12 +26,12 @@ public AzureSessionCredential(IAzureContext DefaultContext, DebugLogWriter logWr IAccessToken accessToken1 = AzureSession.Instance.AuthenticationFactory.Authenticate( DefaultContext.Account, - EnsureStorageOAuthAudienceSet(DefaultContext.Environment), + EnsureSynapseOAuthAudienceSet(DefaultContext.Environment), DefaultContext.Tenant.Id, null, ShowDialog.Never, null, - StorageOAuthEndpointResourceKey); + SynapseOAuthEndpointResourceKey); accessToken = accessToken1; } @@ -64,13 +64,13 @@ public override ValueTask GetTokenAsync(TokenRequestContext request return new ValueTask(token); } - private IAzureEnvironment EnsureStorageOAuthAudienceSet(IAzureEnvironment environment) + private IAzureEnvironment EnsureSynapseOAuthAudienceSet(IAzureEnvironment environment) { if (environment != null) { - if (!environment.IsPropertySet(StorageOAuthEndpointResourceKey)) + if (!environment.IsPropertySet(SynapseOAuthEndpointResourceKey)) { - environment.SetProperty(StorageOAuthEndpointResourceKey, StorageOAuthEndpointResourceValue); + environment.SetProperty(SynapseOAuthEndpointResourceKey, SynapseOAuthEndpointResourceValue); } } @@ -78,14 +78,14 @@ private IAzureEnvironment EnsureStorageOAuthAudienceSet(IAzureEnvironment enviro } /// - /// The extension key to use for the storage token audience value + /// The extension key to use for the synapse token audience value /// - public const string StorageOAuthEndpointResourceKey = "SynapseOAuthEndpointResourceKey"; + public const string SynapseOAuthEndpointResourceKey = "SynapseOAuthEndpointResourceKey"; /// - /// Default resourceId for storage OAuth tokens + /// Default resourceId for synapse OAuth tokens /// - public const string StorageOAuthEndpointResourceValue = "https://dev.azuresynapse.net"; + public const string SynapseOAuthEndpointResourceValue = "https://dev.azuresynapse.net"; private IAccessToken accessToken; diff --git a/src/Synapse/Synapse/Models/SynapseAnalyticsClient.cs b/src/Synapse/Synapse/Models/SynapseAnalyticsClient.cs deleted file mode 100644 index 528c15afd752..000000000000 --- a/src/Synapse/Synapse/Models/SynapseAnalyticsClient.cs +++ /dev/null @@ -1,866 +0,0 @@ -using Azure.Analytics.Synapse.Spark; -using Azure.Analytics.Synapse.Spark.Models; -using Azure.Core; -using Microsoft.Azure.Commands.Common.Authentication.Abstractions; -using Microsoft.Azure.Commands.Synapse.Common; -using Microsoft.Azure.Commands.Synapse.Models.Exceptions; -using Microsoft.Azure.Commands.Synapse.Properties; -using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; -using Microsoft.Azure.Management.Synapse; -using Microsoft.Azure.Management.Synapse.Models; -using Microsoft.Rest.Azure; -using Microsoft.WindowsAzure.Commands.Storage.Common; -using Microsoft.WindowsAzure.Commands.Utilities.Common; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net; -using CloudException = Microsoft.Rest.Azure.CloudException; -using ResourceMoveDefinition = Microsoft.Azure.Management.Synapse.Models.ResourceMoveDefinition; -using RestorePoint = Microsoft.Azure.Management.Synapse.Models.RestorePoint; - -namespace Microsoft.Azure.Commands.Synapse.Models -{ - public class SynapseAnalyticsClient - { - private readonly Guid _subscriptionId; - private readonly SynapseManagementClient _synapseManagementClient; - private SparkBatchClient _sparkBatchClient; - private SparkSessionClient _sparkSessionClient; - - public SynapseAnalyticsClient(IAzureContext context) - { - if (context == null) - { - throw new SynapseException(Resources.InvalidDefaultSubscription); - } - - _subscriptionId = context.Subscription.GetId(); - - _synapseManagementClient = SynapseCmdletBase.CreateSynapseClient(context, - AzureEnvironment.Endpoint.ResourceManager); - - //_synapseClient = SynapseCmdletBase.CreateSynapseClient(context, - // AzureEnvironment.ExtendedEndpoint.AzureSynapseAnalyticsEndpointSuffix, true); - - } - - public void CreateSparkBatchClient(string workspaceName, string sparkPoolName, IAzureContext context) - { - // ".dev.azuresynapse.net" - string suffix = context.Environment.GetEndpoint(AzureEnvironment.ExtendedEndpoint.AzureSynapseAnalyticsEndpointSuffix); - Uri uri = new Uri("https://" + workspaceName + "." + suffix); - this._sparkBatchClient = new SparkBatchClient(uri, sparkPoolName, new AzureSessionCredential(context)); - } - - public void CreateSparkSessionClient(string workspaceName, string sparkPoolName, IAzureContext context) - { - string suffix = context.Environment.GetEndpoint(AzureEnvironment.ExtendedEndpoint.AzureSynapseAnalyticsEndpointSuffix); - Uri uri = new Uri("https://" + workspaceName + "." + suffix); - this._sparkSessionClient = new SparkSessionClient(uri, sparkPoolName, new AzureSessionCredential(context)); - } - - #region Workspace operations - - public Workspace CreateOrUpdateWorkspace(string resourceGroupName, string workspaceName, Workspace createOrUpdateParams) - { - try - { - return _synapseManagementClient.Workspaces.CreateOrUpdate(resourceGroupName, workspaceName, createOrUpdateParams); - } - catch (ErrorContractException ex) - { - throw GetSynapseException(ex); - } - } - - internal Workspace GetWorkspace(string resourceGroupName, string workspaceName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - return _synapseManagementClient.Workspaces.Get(resourceGroupName, workspaceName); - } - catch (ErrorContractException ex) - { - throw GetSynapseException(ex); - } - } - - internal Workspace GetWorkspaceOrDefault(string resourceGroupName, string workspaceName) - { - try - { - return GetWorkspace(resourceGroupName, workspaceName); - } - catch - { - return null; - } - } - - public List ListWorkspaces(string resourceGroupName = null) - { - try - { - var firstPage = string.IsNullOrEmpty(resourceGroupName) - ? _synapseManagementClient.Workspaces.List() - : _synapseManagementClient.Workspaces.ListByResourceGroup(resourceGroupName); - - return ListResources(firstPage, _synapseManagementClient.Workspaces.ListNext); - } - catch (ErrorContractException ex) - { - throw GetSynapseException(ex); - } - } - - public void DeleteWorkspace(string resourceGroupName, string workspaceName) - { - - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - if (!TestWorkspace(resourceGroupName, workspaceName)) - { - throw new InvalidOperationException(string.Format(Properties.Resources.WorkspaceDoesNotExist, workspaceName)); - } - - try - { - _synapseManagementClient.Workspaces.Delete(resourceGroupName, workspaceName); - } - catch (CloudException ex) - { - if (ex.Response.StatusCode == HttpStatusCode.NotFound) - { - // parent resource not found, indicates the workspace is deleted successfully. - // TODO: investigate why this error is thrown. - } - else - { - throw GetSynapseException(ex); - } - } - } - - public IpFirewallRuleInfo CreateOrUpdateWorkspaceFirewallRule( - string resourceGroupName, - string workspaceName, - string ruleName, - IpFirewallRuleInfo createOrUpdateParams) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - return _synapseManagementClient.IpFirewallRules.CreateOrUpdate( - resourceGroupName, - workspaceName, - ruleName, - createOrUpdateParams); - } - catch (ErrorContractException ex) - { - throw GetSynapseException(ex); - } - } - - public IpFirewallRuleInfo GetFirewallRule(string resourceGroupName, string workspaceName, string ruleName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - return _synapseManagementClient.IpFirewallRules.Get(resourceGroupName, workspaceName, ruleName); - } - catch (ErrorContractException ex) - { - throw GetSynapseException(ex); - } - } - - public List ListFirewallRules(string resourceGroupName, string workspaceName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - var firstPage = _synapseManagementClient.IpFirewallRules.ListByWorkspace(resourceGroupName, workspaceName); - return ListResources(firstPage, _synapseManagementClient.IpFirewallRules.ListByWorkspaceNext); - } - catch - { - throw new NotFoundException(string.Format(Properties.Resources.FailedToDiscoverFirewallRuleByWorkspace, workspaceName)); - } - } - - public void DeleteFirewallRule(string resourceGroupName, string workspaceName, string ruleName) - { - - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - if (!TestWorkspace(resourceGroupName, workspaceName)) - { - throw new InvalidOperationException(string.Format(Properties.Resources.WorkspaceDoesNotExist, workspaceName)); - } - - - if (!TestFirewallRule(resourceGroupName, workspaceName, ruleName)) - { - throw new InvalidOperationException(string.Format(Properties.Resources.FirewallRuleDoesNotExist, ruleName)); - } - - try - { - _synapseManagementClient.IpFirewallRules.Delete(resourceGroupName, workspaceName, ruleName); - } - catch (CloudException ex) - { - throw GetSynapseException(ex); - } - } - - public bool TestWorkspace(string resourceGroupName, string workspaceName) - { - try - { - GetWorkspace(resourceGroupName, workspaceName); - return true; - } - catch (NotFoundException) - { - return false; - } - } - - public bool TestFirewallRule(string resourceGroupName, string workspaceName, string ruleName) - { - try - { - GetFirewallRule(resourceGroupName, workspaceName, ruleName); - return true; - } - catch (NotFoundException) - { - return false; - } - } - - public string GetResourceGroupByWorkspaceName(string workspaceName) - { - try - { - var workspaceId = ListWorkspaces() - .Find(x => x.Name.Equals(workspaceName, StringComparison.InvariantCultureIgnoreCase)) - .Id; - - return new ResourceIdentifier(workspaceId).ResourceGroupName; - } - catch - { - throw new NotFoundException(string.Format(Properties.Resources.FailedToDiscoverResourceGroup, workspaceName, _subscriptionId)); - } - } - - #endregion - - #region SQL pool operations - - public SqlPool CreateSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName, SqlPool createOrUpdateParams) - { - try - { - return _synapseManagementClient.SqlPools.Create(resourceGroupName, workspaceName, sqlPoolName, createOrUpdateParams); - } - catch (CloudException ex) - { - throw GetSynapseException(ex); - } - } - - internal SqlPool GetSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - return _synapseManagementClient.SqlPools.Get(resourceGroupName, workspaceName, sqlPoolName); - } - catch (CloudException ex) - { - throw GetSynapseException(ex); - } - } - - internal SqlPool GetSqlPoolOrDefault(string resourceGroupName, string workspaceName, string sqlPoolName) - { - try - { - return GetSqlPool(resourceGroupName, workspaceName, sqlPoolName); - } - catch - { - return null; - } - } - - public List ListSqlPools(string resourceGroupName, string workspaceName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - var firstPage = this._synapseManagementClient.SqlPools.ListByWorkspace(resourceGroupName, workspaceName); - return ListResources(firstPage, _synapseManagementClient.SqlPools.ListByWorkspaceNext); - } - catch (CloudException ex) - { - throw GetSynapseException(ex); - } - } - - public void UpdateSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName, SqlPoolPatchInfo updateParams) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - _synapseManagementClient.SqlPools.Update(resourceGroupName, workspaceName, sqlPoolName, updateParams); - } - catch (CloudException ex) - { - throw GetSynapseException(ex); - } - } - - public void DeleteSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - if (!TestSqlPool(resourceGroupName, workspaceName, sqlPoolName)) - { - throw new InvalidOperationException(string.Format(Properties.Resources.SqlPoolDoesNotExist, sqlPoolName)); - } - - _synapseManagementClient.SqlPools.Delete(resourceGroupName, workspaceName, sqlPoolName); - } - catch (CloudException ex) - { - throw GetSynapseException(ex); - } - } - - public bool TestSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName) - { - try - { - GetSqlPool(resourceGroupName, workspaceName, sqlPoolName); - return true; - } - catch (NotFoundException) - { - return false; - } - } - - public void RenameSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName, string newSqlPoolName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - this._synapseManagementClient.SqlPools.Rename( - resourceGroupName, - workspaceName, - sqlPoolName, - new ResourceMoveDefinition - { - Id = Utils.ConstructResourceId( - _synapseManagementClient.SubscriptionId, - resourceGroupName, - ResourceTypes.SqlPool, - newSqlPoolName, - $"workspaces/{workspaceName}") - }); - } - catch (CloudException ex) - { - throw GetSynapseException(ex); - } - } - - public void PauseSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - this._synapseManagementClient.SqlPools.Pause(resourceGroupName, workspaceName, sqlPoolName); - } - catch (CloudException ex) - { - throw GetSynapseException(ex); - } - } - - public void ResumeSqlPool(string resourceGroupName, string workspaceName, string sqlPoolName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - this._synapseManagementClient.SqlPools.Resume(resourceGroupName, workspaceName, sqlPoolName); - } - catch (CloudException ex) - { - throw GetSynapseException(ex); - } - } - - internal List ListSqlPoolRestorePoints(string resourceGroupName, string workspaceName, string sqlPoolName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - return this._synapseManagementClient.SqlPoolRestorePoints.List( - resourceGroupName, - workspaceName, - sqlPoolName) - .ToList(); - } - catch (CloudException ex) - { - throw GetSynapseException(ex); - } - } - - #endregion - - #region Spark pool operations - - public BigDataPoolResourceInfo CreateOrUpdateSparkPool(string resourceGroupName, string workspaceName, string sparkPoolName, BigDataPoolResourceInfo createOrUpdateParams) - { - try - { - return _synapseManagementClient.BigDataPools.CreateOrUpdate(resourceGroupName, workspaceName, sparkPoolName, createOrUpdateParams); - } - catch (ErrorContractException ex) - { - throw GetSynapseException(ex); - } - } - - internal BigDataPoolResourceInfo GetSparkPool(string resourceGroupName, string workspaceName, string sparkPoolName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - return _synapseManagementClient.BigDataPools.Get(resourceGroupName, workspaceName, sparkPoolName); - } - catch (ErrorContractException ex) - { - throw GetSynapseException(ex); - } - } - - public List ListSparkPools(string resourceGroupName, string workspaceName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - var firstPage = this._synapseManagementClient.BigDataPools.ListByWorkspace(resourceGroupName, workspaceName); - return ListResources(firstPage, _synapseManagementClient.BigDataPools.ListByWorkspaceNext); - } - catch (ErrorContractException ex) - { - throw GetSynapseException(ex); - } - } - - public void DeleteSparkPool(string resourceGroupName, string workspaceName, string sparkPoolName) - { - try - { - if (string.IsNullOrEmpty(resourceGroupName)) - { - resourceGroupName = GetResourceGroupByWorkspaceName(workspaceName); - } - - if (!TestSparkPool(resourceGroupName, workspaceName, sparkPoolName)) - { - throw new InvalidOperationException(string.Format(Properties.Resources.SparkPoolDoesNotExist, sparkPoolName)); - } - - _synapseManagementClient.BigDataPools.Delete(resourceGroupName, workspaceName, sparkPoolName); - } - catch (ErrorContractException ex) - { - throw GetSynapseException(ex); - } - } - - public bool TestSparkPool(string resourceGroupName, string workspaceName, string sparkPoolName) - { - try - { - GetSparkPool(resourceGroupName, workspaceName, sparkPoolName); - return true; - } - catch (NotFoundException) - { - return false; - } - } - - #endregion - - #region Spark batch job operations - - public SparkBatchJob SubmitSparkBatchJob(SparkBatchJobOptions sparkBatchJobOptions, bool waitForCompletion) - { - var batch = _sparkBatchClient.CreateSparkBatchJob(sparkBatchJobOptions, detailed: true); - if (!waitForCompletion) - { - return batch; - } - - return PollSparkBatchJobSubmission(batch); - } - - public SparkBatchJob PollSparkBatchJobSubmission(SparkBatchJob batch) - { - return Poll( - batch, - b => b.Result.ToString(), - b => b.State, - b => this.GetSparkBatchJob(b.Id), - SparkJobLivyState.BatchSubmissionFinalStates); - } - - public SparkBatchJob PollSparkBatchJobExecution( - SparkBatchJob batch, - int pollingIntervalInSeconds = 0, - int timeoutInSeconds = 0, - Action writeLog = null) - { - return Poll( - batch, - b => b.Result.ToString(), - b => b.State, - b => this.GetSparkBatchJob(b.Id), - SparkJobLivyState.BatchExecutionFinalStates, - pollingInMilliseconds: pollingIntervalInSeconds * 1000, - timeoutInMilliseconds: timeoutInSeconds * 1000, - writeLog: (b) => writeLog?.Invoke(string.Format(Resources.WaitJobState, b.State))); - } - - public List ListSparkBatchJobs(bool detailed = true) - { - var batches = new List(); - int from = 0; - int currentPageSize; - int pageSize = SynapseConstants.PageSize; - do - { - var page = _sparkBatchClient.GetSparkBatchJobs(from: from, size: pageSize, detailed: detailed); - currentPageSize = page.Value.Total; - from += currentPageSize; - batches.AddRange(page.Value.Sessions); - } while (currentPageSize == pageSize); - return batches; - } - - public SparkBatchJob GetSparkBatchJob(int batchId) - { - return _sparkBatchClient.GetSparkBatchJob(batchId, detailed: true); - } - - public void CancelSparkBatchJob(int batchId, bool waitForCompletion) - { - _sparkBatchClient.CancelSparkBatchJob(batchId); - if (waitForCompletion) - { - var batchJob = GetSparkBatchJob(batchId); - PollSparkBatchJobExecution(batchJob); - } - } - - #endregion - - #region Spark session operations - - public SparkSession CreateSparkSession(SparkSessionOptions sparkSessionOptions, bool waitForCompletion) - { - var session = _sparkSessionClient.CreateSparkSession(sparkSessionOptions); - if (!waitForCompletion) - { - return session; - } - - return PollSparkSession(session); - } - - public SparkSession PollSparkSession( - SparkSession session, - IList livyReadyStates = null) - { - if (livyReadyStates == null) - { - livyReadyStates = SparkJobLivyState.SessionSubmissionFinalStates; - } - - return Poll( - session, - s => s.Result.ToString(), - s => s.State, - s => this.GetSparkSession(s.Id), - livyReadyStates); - } - - public SparkSession GetSparkSession(int sessionId) - { - return _sparkSessionClient.GetSparkSession(sessionId, detailed: true); - } - - public List ListSparkSessionsByName(string sessionName) - { - return ListSparkSessions().Where(s => !string.IsNullOrEmpty(s.Name) && s.Name.Equals(sessionName, StringComparison.OrdinalIgnoreCase)).ToList(); - } - - public List ListSparkSessions(bool detailed = true) - { - var sessions = new List(); - int from = 0; - int currentPageSize; - int pageSize = SynapseConstants.PageSize; - do - { - var page = _sparkSessionClient.GetSparkSessions(from: from, size: pageSize, detailed: detailed); - currentPageSize = page.Value.Total; - from += currentPageSize; - sessions.AddRange(page.Value.Sessions); - } while (currentPageSize == pageSize); - - return sessions; - } - - public void StopSparkSession(int sessionId, bool waitForCompletion) - { - _sparkSessionClient.CancelSparkSession(sessionId); - if (waitForCompletion) - { - var session = GetSparkSession(sessionId); - PollSparkSession(session, SparkJobLivyState.SessionCancellationFinalStates); - } - } - - public void ResetSparkSessionTimeout(int sessionId) - { - _sparkSessionClient.ResetSparkSessionTimeout(sessionId); - } - - #endregion - - #region Spark session statement operations - - public SparkStatement SubmitSparkSessionStatement(int sessionId, SparkStatementOptions sparkStatementOptions, bool waitForCompletion) - { - var statement = _sparkSessionClient.CreateSparkStatement(sessionId, sparkStatementOptions); - if (!waitForCompletion) - { - return statement; - } - - return PollSparkSessionStatement(sessionId, statement); - } - - public SparkStatement PollSparkSessionStatement(int sessionId, SparkStatement statement) - { - return Poll( - statement, - s => null, - s => s.State, - s => this.GetSparkSessionStatement(sessionId, s.Id), - SparkSessionStatementLivyState.ExecutingStates, - isFinalState:false); - } - - public SparkStatement GetSparkSessionStatement(int sessionId, int statementId) - { - return _sparkSessionClient.GetSparkStatement(sessionId, statementId); - } - - public List ListSparkSessionStatements(int sessionId) - { - return _sparkSessionClient.GetSparkStatements(sessionId).Value.Statements.ToList(); - } - - public void CancelSparkSessionStatement(string workspaceName, string sparkPoolName, int sessionId, int statementId) - { - if (sessionId == SynapseConstants.UnknownId) - { - var session = this.ListSparkSessions(detailed:false) - .FirstOrDefault(s => - { - try - { - var stmt = this.GetSparkSessionStatement(s.Id, statementId); - return SparkSessionStatementLivyState.CancellableStates.Contains(stmt.State); - } - catch - { - // TODO: should only handle not found exception - return false; - } - }); - - if (session == null) - { - throw new SynapseException(string.Format( - Properties.Resources.FailedToDiscoverSparkStatement, - statementId, - workspaceName, - sparkPoolName)); - } - - sessionId = session.Id; - } - - _sparkSessionClient.CancelSparkStatement(sessionId, statementId); - } - - #endregion - - #region helpers - - private static List ListResources( - IPage firstPage, - Func> listNext) - { - var resourceList = new List(); - var response = firstPage; - resourceList.AddRange(response); - - while (!string.IsNullOrEmpty(response.NextPageLink)) - { - response = listNext(response.NextPageLink); - resourceList.AddRange(response); - } - - return resourceList; - } - - private static T Poll( - T job, - Func getJobState, - Func getLivyState, - Func refresh, - IList livyReadyStates, - bool isFinalState = true, - int pollingInMilliseconds = 0, - int timeoutInMilliseconds = 0, - Action writeLog = null) - { - var timeWaitedInMilliSeconds = 0; - if (pollingInMilliseconds == 0) - { - pollingInMilliseconds = SynapseConstants.DefaultPollingInterval; - } - - while (IsJobRunning(getJobState(job), getLivyState(job), livyReadyStates, isFinalState)) - { - if (timeoutInMilliseconds > 0 && timeWaitedInMilliSeconds >= timeoutInMilliseconds) - { - throw new TimeoutException(); - } - - writeLog?.Invoke(job); - //TestMockSupport.Delay(pollingInMilliseconds); - System.Threading.Thread.Sleep(pollingInMilliseconds); - timeWaitedInMilliSeconds += pollingInMilliseconds; - - // TODO: handle retryable excetpion - job = refresh(job); - } - - return job; - } - - private static bool IsJobRunning(string jobState, string livyState, IList livyStates, bool isFinalState = true) - { - if (SparkJobState.Succeeded.Equals(jobState, StringComparison.OrdinalIgnoreCase) - || SparkJobState.Failed.Equals(jobState, StringComparison.OrdinalIgnoreCase) - || SparkJobState.Cancelled.Equals(jobState, StringComparison.OrdinalIgnoreCase)) - { - return false; - } - - return isFinalState ? !livyStates.Contains(livyState) : livyStates.Contains(livyState); - } - - private static SynapseException GetSynapseException(ErrorContractException ex) - { - return ex.CreateSynapseException(); - } - - private static SynapseException GetSynapseException(CloudException ex) - { - return ex.CreateSynapseException(); - } - - #endregion - } -} \ No newline at end of file diff --git a/src/Synapse/Synapse/Models/SynapseAnalyticsSparkClient.cs b/src/Synapse/Synapse/Models/SynapseAnalyticsSparkClient.cs index d762871e7cb3..00a196f3bb10 100644 --- a/src/Synapse/Synapse/Models/SynapseAnalyticsSparkClient.cs +++ b/src/Synapse/Synapse/Models/SynapseAnalyticsSparkClient.cs @@ -6,7 +6,6 @@ using Microsoft.Azure.Commands.Synapse.Properties; using Microsoft.Azure.Management.Synapse.Models; using Microsoft.Rest.Azure; -using Microsoft.WindowsAzure.Commands.Storage.Common; using System; using System.Collections.Generic; using System.Linq; @@ -28,7 +27,6 @@ public SynapseAnalyticsSparkClient(string workspaceName, string sparkPoolName, I string suffix = context.Environment.GetEndpoint(AzureEnvironment.ExtendedEndpoint.AzureSynapseAnalyticsEndpointSuffix); Uri uri = new Uri("https://" + workspaceName + "." + suffix); - // choose to create batch or session _sparkBatchClient = new SparkBatchClient(uri, sparkPoolName, new AzureSessionCredential(context)); _sparkSessionClient = new SparkSessionClient(uri, sparkPoolName, new AzureSessionCredential(context)); } diff --git a/src/Synapse/Synapse/Models/SynapseManagementCmdletBase.cs b/src/Synapse/Synapse/Models/SynapseManagementCmdletBase.cs index 8f8a364d8435..f9f41a8d28fe 100644 --- a/src/Synapse/Synapse/Models/SynapseManagementCmdletBase.cs +++ b/src/Synapse/Synapse/Models/SynapseManagementCmdletBase.cs @@ -22,6 +22,5 @@ public SynapseAnalyticsManagementClient SynapseAnalyticsClient set { _synapseAnalyticsManagementClient = value; } } - } } From 050da0b2fdf8f3ce1afdfc7052349c02ac6bb81c Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Thu, 18 Jun 2020 10:31:10 +0800 Subject: [PATCH 11/20] Make Synapse PowerShell consume track 2 SDK --- src/Synapse/Synapse/Models/SynapseCmdletBase.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Synapse/Synapse/Models/SynapseCmdletBase.cs b/src/Synapse/Synapse/Models/SynapseCmdletBase.cs index fcd6cd8f2bc7..5300ec906cae 100644 --- a/src/Synapse/Synapse/Models/SynapseCmdletBase.cs +++ b/src/Synapse/Synapse/Models/SynapseCmdletBase.cs @@ -9,7 +9,6 @@ namespace Microsoft.Azure.Commands.Synapse.Models { public class SynapseCmdletBase : AzureRMCmdlet { - internal static TClient CreateSynapseClient(IAzureContext context, string endpoint, bool parameterizedBaseUri = false) where TClient : ServiceClient { if (context == null) From 3a22af568b09a27678fce65efab8aa971ae63a21 Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Thu, 18 Jun 2020 11:17:41 +0800 Subject: [PATCH 12/20] Make Synapse PowerShell consume track 2 SDK --- src/Synapse/Synapse/Models/PSLivyBatchStateInformation.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Synapse/Synapse/Models/PSLivyBatchStateInformation.cs b/src/Synapse/Synapse/Models/PSLivyBatchStateInformation.cs index b9617270c9b2..2ac14b19290d 100644 --- a/src/Synapse/Synapse/Models/PSLivyBatchStateInformation.cs +++ b/src/Synapse/Synapse/Models/PSLivyBatchStateInformation.cs @@ -1,6 +1,4 @@ - - -using Azure.Analytics.Synapse.Spark.Models; +using Azure.Analytics.Synapse.Spark.Models; namespace Microsoft.Azure.Commands.Synapse.Models { From 789e71552a8d6277e68854e7c66abc6c448451ac Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Thu, 18 Jun 2020 13:32:20 +0800 Subject: [PATCH 13/20] add change log --- src/Synapse/Synapse/ChangeLog.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Synapse/Synapse/ChangeLog.md b/src/Synapse/Synapse/ChangeLog.md index 3b6988dda447..d8dfa4b1e750 100644 --- a/src/Synapse/Synapse/ChangeLog.md +++ b/src/Synapse/Synapse/ChangeLog.md @@ -26,6 +26,16 @@ - Add `Update-AzSynapseFirewallRule` cmdlet * Removed '-DisallowAllConnection' parameter from the 'New-AzSynapseWorkspace' cmdlet * Updated parameter set for New-AzSynapseSparkPool to fix node count issue for auto scale +* Changed some property names and types of output for the following cmdlets + - For `Get-AzSynapseSparkJob`, `Submit-AzSynapseSparkJob`, ` Get-AzSynapseSparkSession` and `Start-AzSynapseSparkSession` cmdlet + - Change JobType's type from `string` to `SparkJobType?` + - Change AppInfo's type from `IDictionary` to `IReadOnlyDictionary` + - Change ErrorInfo's type from `IList` to `IReadOnlyList` + - Change Log's type from `IList` to `IReadOnlyList` + - Change `Scheduler` to `Scheduler` + - Change `PluginInfo` to `Plugin` + - Change `ErrorInfo` to `Errors` + - Change `Log` to `LogLines` ## Version 0.1.0 From e676984aba7d751f87e85388bf7fd5b0b298ec3b Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Thu, 18 Jun 2020 14:17:47 +0800 Subject: [PATCH 14/20] fix proj --- src/Synapse/Synapse/Synapse.csproj | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Synapse/Synapse/Synapse.csproj b/src/Synapse/Synapse/Synapse.csproj index c1cc7caf53d5..c4c4d0b7b930 100644 --- a/src/Synapse/Synapse/Synapse.csproj +++ b/src/Synapse/Synapse/Synapse.csproj @@ -30,4 +30,9 @@ + + + + + From a91dbd017a0a24106c531946df993ff5487f9683 Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Wed, 24 Jun 2020 13:38:21 +0800 Subject: [PATCH 15/20] Make Synapse PowerShell consume track 2 SDK --- src/Synapse/Synapse/Synapse.csproj | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/Synapse/Synapse/Synapse.csproj b/src/Synapse/Synapse/Synapse.csproj index c4c4d0b7b930..c1cc7caf53d5 100644 --- a/src/Synapse/Synapse/Synapse.csproj +++ b/src/Synapse/Synapse/Synapse.csproj @@ -30,9 +30,4 @@ - - - - - From e673732f38a2b6320b6d8160bad22044c05b2cef Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Mon, 29 Jun 2020 16:12:06 +0800 Subject: [PATCH 16/20] fix AzureSessionCredential --- .../Synapse/Common/AzureSessionCredential.cs | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/Synapse/Synapse/Common/AzureSessionCredential.cs b/src/Synapse/Synapse/Common/AzureSessionCredential.cs index 4105da73d438..545089723be3 100644 --- a/src/Synapse/Synapse/Common/AzureSessionCredential.cs +++ b/src/Synapse/Synapse/Common/AzureSessionCredential.cs @@ -26,12 +26,12 @@ public AzureSessionCredential(IAzureContext DefaultContext, DebugLogWriter logWr IAccessToken accessToken1 = AzureSession.Instance.AuthenticationFactory.Authenticate( DefaultContext.Account, - EnsureSynapseOAuthAudienceSet(DefaultContext.Environment), + DefaultContext.Environment, DefaultContext.Tenant.Id, null, ShowDialog.Never, null, - SynapseOAuthEndpointResourceKey); + AzureEnvironment.ExtendedEndpoint.AzureSynapseAnalyticsEndpointResourceId); accessToken = accessToken1; } @@ -64,19 +64,6 @@ public override ValueTask GetTokenAsync(TokenRequestContext request return new ValueTask(token); } - private IAzureEnvironment EnsureSynapseOAuthAudienceSet(IAzureEnvironment environment) - { - if (environment != null) - { - if (!environment.IsPropertySet(SynapseOAuthEndpointResourceKey)) - { - environment.SetProperty(SynapseOAuthEndpointResourceKey, SynapseOAuthEndpointResourceValue); - } - } - - return environment; - } - /// /// The extension key to use for the synapse token audience value /// From 0b20221f2cd3c44bfa81084c52037b11e255d420 Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Mon, 29 Jun 2020 16:15:36 +0800 Subject: [PATCH 17/20] update changelog --- src/Synapse/Synapse/ChangeLog.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/Synapse/Synapse/ChangeLog.md b/src/Synapse/Synapse/ChangeLog.md index 5a0b9232b6ab..fd99c1cecf49 100644 --- a/src/Synapse/Synapse/ChangeLog.md +++ b/src/Synapse/Synapse/ChangeLog.md @@ -19,15 +19,6 @@ --> ## Upcoming Release -## Version 0.1.1 - -* Added support for operation of Synapse FirewallRule - - Add `New-AzSynapseFirewallRule` cmdlet - - Add `Remove-AzSynapseFirewallRule` cmdlet - - Add `Get-AzSynapseFirewallRule` cmdlet - - Add `Update-AzSynapseFirewallRule` cmdlet -* Removed '-DisallowAllConnection' parameter from the 'New-AzSynapseWorkspace' cmdlet -* Updated parameter set for New-AzSynapseSparkPool to fix node count issue for auto scale * Changed some property names and types of output for the following cmdlets - For `Get-AzSynapseSparkJob`, `Submit-AzSynapseSparkJob`, ` Get-AzSynapseSparkSession` and `Start-AzSynapseSparkSession` cmdlet - Change JobType's type from `string` to `SparkJobType?` @@ -39,6 +30,16 @@ - Change `ErrorInfo` to `Errors` - Change `Log` to `LogLines` +## Version 0.1.1 + +* Added support for operation of Synapse FirewallRule + - Add `New-AzSynapseFirewallRule` cmdlet + - Add `Remove-AzSynapseFirewallRule` cmdlet + - Add `Get-AzSynapseFirewallRule` cmdlet + - Add `Update-AzSynapseFirewallRule` cmdlet +* Removed '-DisallowAllConnection' parameter from the 'New-AzSynapseWorkspace' cmdlet +* Updated parameter set for New-AzSynapseSparkPool to fix node count issue for auto scale + ## Version 0.1.0 * Preview release of `Az.Synapse` module From 0f71ecaad8a6e48f3cb8cfb062927e8bb677a5a0 Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Mon, 29 Jun 2020 16:56:31 +0800 Subject: [PATCH 18/20] fix AzureSessionCredential --- src/Synapse/Synapse/Common/AzureSessionCredential.cs | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/Synapse/Synapse/Common/AzureSessionCredential.cs b/src/Synapse/Synapse/Common/AzureSessionCredential.cs index 545089723be3..752ad1ad6351 100644 --- a/src/Synapse/Synapse/Common/AzureSessionCredential.cs +++ b/src/Synapse/Synapse/Common/AzureSessionCredential.cs @@ -64,17 +64,6 @@ public override ValueTask GetTokenAsync(TokenRequestContext request return new ValueTask(token); } - /// - /// The extension key to use for the synapse token audience value - /// - public const string SynapseOAuthEndpointResourceKey = "SynapseOAuthEndpointResourceKey"; - - /// - /// Default resourceId for synapse OAuth tokens - /// - public const string SynapseOAuthEndpointResourceValue = "https://dev.azuresynapse.net"; - - private IAccessToken accessToken; private DebugLogWriter debugLogWriter = null; } From 151307917afef5c117b2fc9074bac86720a8d614 Mon Sep 17 00:00:00 2001 From: erich-wang Date: Tue, 30 Jun 2020 17:47:46 +0800 Subject: [PATCH 19/20] Add required assembly Azure.Analytics.Synapse.Spark.dll to psd1 --- src/Synapse/Synapse/Az.Synapse.psd1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Synapse/Synapse/Az.Synapse.psd1 b/src/Synapse/Synapse/Az.Synapse.psd1 index f6ebcb9ca032..a3837c5e1b06 100644 --- a/src/Synapse/Synapse/Az.Synapse.psd1 +++ b/src/Synapse/Synapse/Az.Synapse.psd1 @@ -57,7 +57,7 @@ RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '1.9.0'; }) # Assemblies that must be loaded prior to importing this module RequiredAssemblies = 'Microsoft.Azure.Management.Synapse.dll', - 'Microsoft.Azure.Synapse.dll' + 'Azure.Analytics.Synapse.Spark.dll' # Script files (.ps1) that are run in the caller's environment prior to importing this module. # ScriptsToProcess = @() From ee787361b756f821ebff6e1068292cdd74c59775 Mon Sep 17 00:00:00 2001 From: Wan Yang Date: Wed, 1 Jul 2020 10:02:33 +0800 Subject: [PATCH 20/20] change tab to space --- src/Synapse/Synapse/Synapse.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Synapse/Synapse/Synapse.csproj b/src/Synapse/Synapse/Synapse.csproj index c1cc7caf53d5..67cd1e3fa9dc 100644 --- a/src/Synapse/Synapse/Synapse.csproj +++ b/src/Synapse/Synapse/Synapse.csproj @@ -12,7 +12,7 @@ - +