Skip to content

Set-AzSynapseDataset : Object reference not set to an instance of an object. #19452

@ClintHuijbers

Description

@ClintHuijbers

Description

I'm using the Az.Synapse modules within an Azure DevOps Pipeline (Azure PowerShell task version 5.*) to deploy triggers, pipelines and datasets.
While deleting and deploying triggers and pipelines runs without any problems.
The same code (syntax) raises errors for deploying datasets, while deleting datasets runs fine.

Error: Object reference not set to an instance of an object.

  • CategoryInfo : CloseError: (:) [Set-AzSynapseDataset], NullReferenceException
  • FullyQualifiedErrorId : Microsoft.Azure.Commands.Synapse.SetAzureSynapseDataset

I'm able to read the JSON file using Get-Content()

Here's a code example:

$FilePath = "D:\a\r1\a\Synapse-Build\DWHObjects\dataset\DIM_Calendar.json"
Get-Content $FilePath | ConvertFrom-Json | ConvertTo-Json
$result = Set-AzSynapseDataset -WorkspaceName $WorkspaceName -Name "DIM_Calendar" -DefinitionFile $FilePath

Issue script & Debug output

-

Environment data

-
Name                           Value                                                                                   
----                           -----                                                                                   
PSVersion                      5.1.20348.859                                                                           
PSEdition                      Desktop                                                                                 
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                 
BuildVersion                   10.0.20348.859                                                                          
CLRVersion                     4.0.30319.42000                                                                         
WSManStackVersion              3.0                                                                                     
PSRemotingProtocolVersion      2.3                                                                                     
SerializationVersion           1.1.0.1  


### Module versions

```PowerShell
Azure DevOps Pipeline (Azure PowerShell task version 5.*)


Name              : Az.Synapse
Path              : C:\Modules\az_7.5.0\Az.Synapse\1.3.0\Az.Synapse.psd1
Description       : Microsoft Azure PowerShell - Azure Synapse Analytics in Windows PowerShell and PowerShell Core.


### Error output

Set-AzSynapseDataset : Object reference not set to an instance of an object.
At D:\a\r1\a\Synapse-Build\DWHObjects\AzSynapseDeployDIMCalendar.ps1:85 char:11
+ $result = Set-AzSynapseDataset -WorkspaceName $WorkspaceName -Name "D ...
+           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Set-AzSynapseDataset], NullReferenceException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.Synapse.SetAzureSynapseDataset
 
WARNING: Upcoming breaking changes in the cmdlet 'Resolve-AzError' :

The `Resolve-Error` alias will be removed in a future release.  Please change any scripts that use this alias to use 
`Resolve-AzError` instead.

Note : Go to https://aka.ms/azps-changewarnings for steps to suppress this breaking change warning, and other 
information on breaking changes in Azure PowerShell.

InnerException   : False
Exception        : System.NullReferenceException: Object reference not set to an instance of an object.
                      at Azure.Analytics.Synapse.Artifacts.Models.Dataset.Azure.Core.IUtf8JsonSerializable.Write(Utf8Js
                   onWriter writer)
                      at Azure.Analytics.Synapse.Artifacts.Models.DatasetResource.Azure.Core.IUtf8JsonSerializable.Writ
                   e(Utf8JsonWriter writer)
                      at Azure.Analytics.Synapse.Artifacts.DatasetRestClient.CreateCreateOrUpdateDatasetRequest(String 
                   datasetName, DatasetResource dataset, String ifMatch)
                      at Azure.Analytics.Synapse.Artifacts.DatasetRestClient.CreateOrUpdateDataset(String datasetName, 
                   DatasetResource dataset, String ifMatch, CancellationToken cancellationToken)
                      at Azure.Analytics.Synapse.Artifacts.DatasetClient.StartCreateOrUpdateDataset(String 
                   datasetName, DatasetResource dataset, String ifMatch, CancellationToken cancellationToken)
                      at Microsoft.Azure.Commands.Synapse.Models.SynapseAnalyticsArtifactsClient.CreateOrUpdateDataset(
                   String datasetName, String rawJsonContent)
                      at Microsoft.Azure.Commands.Synapse.SetAzureSynapseDataset.ExecuteCmdlet()
                      at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.ProcessRecord()
Message          : Object reference not set to an instance of an object.
StackTrace       :    at Azure.Analytics.Synapse.Artifacts.Models.Dataset.Azure.Core.IUtf8JsonSerializable.Write(Utf8Js
                   onWriter writer)
                      at Azure.Analytics.Synapse.Artifacts.Models.DatasetResource.Azure.Core.IUtf8JsonSerializable.Writ
                   e(Utf8JsonWriter writer)
                      at Azure.Analytics.Synapse.Artifacts.DatasetRestClient.CreateCreateOrUpdateDatasetRequest(String 
                   datasetName, DatasetResource dataset, String ifMatch)
                      at Azure.Analytics.Synapse.Artifacts.DatasetRestClient.CreateOrUpdateDataset(String datasetName, 
                   DatasetResource dataset, String ifMatch, CancellationToken cancellationToken)
                      at Azure.Analytics.Synapse.Artifacts.DatasetClient.StartCreateOrUpdateDataset(String 
                   datasetName, DatasetResource dataset, String ifMatch, CancellationToken cancellationToken)
                      at Microsoft.Azure.Commands.Synapse.Models.SynapseAnalyticsArtifactsClient.CreateOrUpdateDataset(
                   String datasetName, String rawJsonContent)
                      at Microsoft.Azure.Commands.Synapse.SetAzureSynapseDataset.ExecuteCmdlet()
                      at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.ProcessRecord()
HelpLink         : 
ErrorDetails     : 
ErrorCategory    : CloseError: (:) [Set-AzSynapseDataset], NullReferenceException
InvocationInfo   : System.Management.Automation.InvocationInfo
ScriptStackTrace : at <ScriptBlock>, D:\a\r1\a\MonkeyDWH-Synapse-Build\DWHObjects\MonkeyDWHSynapseWorkspace\AzSynapseDe
                   ployDIMCalendar.ps1: line 85
                   at <ScriptBlock>, D:\a\_temp\38c63e63-679d-4821-9697-00dbb79efe9a.ps1: line 47
                   at <ScriptBlock>, <No file>: line 1


The Azure PowerShell team is listening, please let us know how we are doing: https://aka.ms/azpssurvey?Q_CHL=ERROR.

Metadata

Metadata

Labels

Service AttentionThis issue is responsible by Azure service team.SynapsebugThis issue requires a change to an existing behavior in the product in order to be resolved.customer-reportedneeds-team-attentionThis issue needs attention from Azure service team or SDK team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions