in processing-pipelines/bigquery/query-runner/csharp/Startup.cs [38:72]
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILogger<Startup> logger)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
logger.LogInformation("Service is starting...");
app.UseRouting();
var eventReader = new CloudEventReader(logger);
var configReader = new ConfigReader(logger, CloudEventSource, CloudEventType);
var projectId = configReader.Read("PROJECT_ID");
var eventWriter = configReader.ReadEventWriter();
app.UseEndpoints(endpoints =>
{
endpoints.MapPost("/", async context =>
{
var client = await BigQueryClient.CreateAsync(projectId);
var country = await eventReader.ReadCloudSchedulerData(context);
_tableId = country.Replace(" ", "").ToLowerInvariant();
var results = await RunQuery(client, country, logger);
logger.LogInformation("Executed query");
var replyData = new {datasetId = DatasetId, tableId = _tableId, country = country};
await eventWriter.Write(replyData, context);
});
});
}