@@ -34,8 +34,11 @@ internal class Job
3434 private const string ScriptVerifiedPackages = "SqlScripts.VerifiedPackages.sql" ;
3535 private const string OutputNameVerifiedPackages = "verifiedPackages.json" ;
3636
37- private List < SqlExporter > _sqlExportScriptsToRun ;
37+ private const string StatisticsReportName = "downloads.v1.json" ;
38+
39+ private List < Exporter > _exportersToRun ;
3840 private CloudBlobContainer _destContainer ;
41+ private CloudBlobContainer _statisticsContainer ;
3942
4043 public override void Init ( IDictionary < string , string > jobArgsDictionary )
4144 {
@@ -45,6 +48,11 @@ public override void Init(IDictionary<string, string> jobArgsDictionary)
4548 var statisticsDatabaseConnString = new SqlConnectionStringBuilder (
4649 JobConfigurationManager . GetArgument ( jobArgsDictionary , JobArgumentNames . StatisticsDatabase ) ) . ToString ( ) ;
4750
51+ var statisticsStorageAccount = CloudStorageAccount . Parse (
52+ JobConfigurationManager . GetArgument ( jobArgsDictionary , JobArgumentNames . AzureCdnCloudStorageAccount ) ) ;
53+
54+ var statisticsReportsContainerName = JobConfigurationManager . GetArgument ( jobArgsDictionary , JobArgumentNames . AzureCdnCloudStorageContainerName ) ;
55+
4856 var destination = CloudStorageAccount . Parse (
4957 JobConfigurationManager . GetArgument ( jobArgsDictionary , JobArgumentNames . PrimaryDestination ) ) ;
5058
@@ -53,36 +61,38 @@ public override void Init(IDictionary<string, string> jobArgsDictionary)
5361 ?? DefaultContainerName ;
5462
5563 _destContainer = destination . CreateCloudBlobClient ( ) . GetContainerReference ( destinationContainerName ) ;
64+ _statisticsContainer = statisticsStorageAccount . CreateCloudBlobClient ( ) . GetContainerReference ( statisticsReportsContainerName ) ;
5665
57- _sqlExportScriptsToRun = new List < SqlExporter > {
66+ _exportersToRun = new List < Exporter > {
5867 new VerifiedPackagesExporter ( LoggerFactory . CreateLogger < VerifiedPackagesExporter > ( ) , packageDatabaseConnString , _destContainer , ScriptVerifiedPackages , OutputNameVerifiedPackages ) ,
5968 new NestedJArrayExporter ( LoggerFactory . CreateLogger < NestedJArrayExporter > ( ) , packageDatabaseConnString , _destContainer , ScriptCuratedFeed , OutputNameCuratedFeed , Col0CuratedFeed , Col1CuratedFeed ) ,
6069 new NestedJArrayExporter ( LoggerFactory . CreateLogger < NestedJArrayExporter > ( ) , packageDatabaseConnString , _destContainer , ScriptOwners , OutputNameOwners , Col0Owners , Col1Owners ) ,
61- new RankingsExporter ( LoggerFactory . CreateLogger < RankingsExporter > ( ) , statisticsDatabaseConnString , _destContainer , ScriptRankingsTotal , OutputNameRankings )
70+ new RankingsExporter ( LoggerFactory . CreateLogger < RankingsExporter > ( ) , statisticsDatabaseConnString , _destContainer , ScriptRankingsTotal , OutputNameRankings ) ,
71+ new BlobStorageExporter ( LoggerFactory . CreateLogger < BlobStorageExporter > ( ) , _statisticsContainer , StatisticsReportName , _destContainer , StatisticsReportName )
6272 } ;
6373 }
6474
6575 public override async Task Run ( )
6676 {
67- var failedSqlExporters = new List < string > ( ) ;
77+ var failedExporters = new List < string > ( ) ;
6878
69- foreach ( SqlExporter exporter in _sqlExportScriptsToRun )
79+ foreach ( Exporter exporter in _exportersToRun )
7080 {
7181 try
7282 {
73- await exporter . RunSqlExportAsync ( ) ;
83+ await exporter . ExportAsync ( ) ;
7484 }
7585 catch ( Exception e )
7686 {
7787 var exporterName = exporter . GetType ( ) . Name ;
7888 Logger . LogError ( "SQL exporter '{ExporterName}' failed: {Exception}" , exporterName , e ) ;
79- failedSqlExporters . Add ( exporterName ) ;
89+ failedExporters . Add ( exporterName ) ;
8090 }
8191 }
8292
83- if ( failedSqlExporters . Any ( ) )
93+ if ( failedExporters . Any ( ) )
8494 {
85- throw new SqlExporterException ( $ "{ failedSqlExporters . Count ( ) } tasks failed: { string . Join ( ", " , failedSqlExporters ) } ") ;
95+ throw new ExporterException ( $ "{ failedExporters . Count ( ) } tasks failed: { string . Join ( ", " , failedExporters ) } ") ;
8696 }
8797 }
8898 }
0 commit comments