Skip to content

Latest commit

 

History

History
20 lines (15 loc) · 2.9 KB

PackageManifestToCsv.md

File metadata and controls

20 lines (15 loc) · 2.9 KB

PackageManifestToCsv

This driver parsed each NuGet package .nuspec file (the package manifest) and maps well known properties to CSV.

CatalogScanDriverType enum value PackageManifestToCsv
Driver implementation PackageManifestToCsvDriver
Processing mode process latest catalog leaf per package ID and version
Cursor dependencies LoadPackageManifest: reads .nuspec bytes from table storage
Components using driver output Kusto ingestion via KustoIngestionMessageProcessor, since this driver produces CSV data
Temporary storage config Table Storage:
CsvRecordTableName (name prefix): holds CSV records before they are added to a CSV blob
TaskStateTableName (name prefix): tracks completion of CSV blob aggregation
Persistent storage config Blob Storage:
PackageManifestContainerName: contains CSVs for the PackageManifests table
Output CSV tables PackageManifests

Algorithm

For each catalog leaf passed to the driver, the package manifest (i.e. the .nuspec file) is fetched from Azure Table Storage. These are populated by the LoadPackageManifest driver. The .nuspec bytes are loaded as a NuspecReader which is used to find well known .nuspec properties.

Simple scalar properties are stored as-is in a CSV record. Complex properties (arrays or objects) are serialized to JSON to be treated as dynamic data in Kusto.