Skip to content
This repository was archived by the owner on Mar 31, 2026. It is now read-only.

Latest commit

 

History

History
22 lines (16 loc) · 4.46 KB

File metadata and controls

22 lines (16 loc) · 4.46 KB

SymbolPackageArchiveToCsv

Much like the PackageArchiveToCsv driver, this driver reads the .snupkg ZIP archive and write archive and ZIP entry metadata to CSV.

CatalogScanDriverType enum value SymbolPackageArchiveToCsv
Driver implementation SymbolPackageArchiveToCsvDriver
Processing mode process latest catalog leaf per package ID and version
Cursor dependencies SymbolPackageFileToCsv: provides .snupkg hash in table storage
(transitive) LoadSymbolPackageArchive: needed by SymbolPackageFileToCsv
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:
SymbolPackageArchiveContainerName: contains CSVs for the SymbolPackageArchives table
SymbolPackageArchiveEntryContainerName: contains CSVs for the SymbolPackageArchiveEntries table
Output CSV tables SymbolPackageArchiveEntries
SymbolPackageArchives

Algorithm

For each catalog leaf passed to driver, the symbol package (.snupkg) ZIP central directory, size, and HTTP response headers are fetched from Azure Table Storage. These are populated by the LoadSymbolPackageArchive driver. Unlike the PackageArchiveToCsv driver, a hash of the .snupkg is not calculated because no driver currently downloads the .snupkg and captures the hash. It's possible the NuGetPackageExplorerToCsv driver downloads the .snupkg internally but this hasn't been evaluated yet. A hash of the .snupkg is recorded from blob storage response headers, but this is not verifiable without a .snupkg download.

The ZIP central directory is enumerated. A single CSV record is produced for each .snupkg and one or more CSV records are created for each entry in the ZIP file.

Detailed ZIP information is included in the produced CSV records to aid in the debugging of esoteric ZIP archive issues.