in src/Google.Cloud.Functions.Templates/templates/event-function-cs/Function.cs [27:47]
public Task HandleAsync(CloudEvent cloudEvent, StorageObjectData data, CancellationToken cancellationToken)
{
Console.WriteLine("Storage object information:");
Console.WriteLine($" Name: {data.Name}");
Console.WriteLine($" Bucket: {data.Bucket}");
Console.WriteLine($" Size: {data.Size}");
Console.WriteLine($" Content type: {data.ContentType}");
Console.WriteLine("CloudEvent information:");
Console.WriteLine($" ID: {cloudEvent.Id}");
Console.WriteLine($" Source: {cloudEvent.Source}");
Console.WriteLine($" Type: {cloudEvent.Type}");
Console.WriteLine($" Subject: {cloudEvent.Subject}");
Console.WriteLine($" DataSchema: {cloudEvent.DataSchema}");
Console.WriteLine($" DataContentType: {cloudEvent.DataContentType}");
Console.WriteLine($" Time: {cloudEvent.Time?.ToUniversalTime():yyyy-MM-dd'T'HH:mm:ss.fff'Z'}");
Console.WriteLine($" SpecVersion: {cloudEvent.SpecVersion}");
// In this example, we don't need to perform any asynchronous operations, so the
// method doesn't need to be declared async.
return Task.CompletedTask;
}