This driver hashes every file in the .nupkg as well as the .nupkg itself. The produces CSV has the .nupkg entry hashes. The hash of the .nupkg itself is stored for the SymbolPackageArchiveToCsv driver.
CatalogScanDriverType enum value |
PackageFileToCsv |
| Driver implementation | PackageFileToCsvDriver |
| Processing mode | process latest catalog leaf per package ID and version |
| Cursor dependencies | LoadPackageArchive: needs to know about the ZIP entries package |
| Components using driver output | PackageArchiveToCsv: uses the .nupkg hash saves to table storageKusto 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 blobTaskStateTableName (name prefix): tracks completion of CSV blob aggregation |
| Persistent storage config | Blob Storage:PackageFileContainerName: contains CSVs for the PackageArchives tableTable Storage: PackageHashesTableName: contains hashes of the .nupkg file, if it exists |
| Output CSV tables | PackageFiles |
When the incoming leaf scan is new, the .nupkg is downloaded. Then, the .nupkg is opened as a ZIP archive and each file entries is hashed. The hashes are stored in table storage. The results are written out as CSV records.
If the incoming leaf is not new or is stale, cached file entry hashes are used to produce the CSV records.