tl;dr: The .NET integration is returning partial objects, with some properties read as null. How can I get the full object with all properties?
I'm currently using C#.NET to read and modify Data Factory objects, using Microsoft.Azure.Management.DataFactories
.
I can apparently successfully get most of my object data with a call like this:
var datasets = client.Datasets.List(resourceGroupName, dataFactoryName).Datasets;
While this gives me all of my Dataset objects, in all of the datasets, certain properties are simply left out. Here are some screenshots showing this:
This is what the Dataset is defined as, shown in Azure:
This is what I'm given by programmatically retrieving the Dataset object as JSON:
Similarly, here's the object as-is in memory at a breakpoint in my application:
As you can see, it's missing virtually all of the "Properties", with values being replaced with null
.
How can I get the full, unadulterated object in my C# application?
Listing datasets will give you a "summary" of each dataset; as you observed, this means that certain details are not returned (e.g. typeProperties and structure).
After using the List method to get all datasets in the data factory, you can use the Microsoft.Azure.Management.DataFactories.DatasetsOperationExtensions.Get() method to get the full definition of each. Of course, you could simply call Get() if you already know the name of the dataset you are looking for.