/// <summary> /// Main entry point for the lambda /// </summary> /// <param name="context"></param> public async Task Handle(ILambdaContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var apiKey = _configurationService.FlickrApiKey; var apiSecret = _configurationService.FlickrApiSecret; var userId = _configurationService.FlickrUserId; var bucketName = _configurationService.S3Bucket; var s3Region = _configurationService.AwsRegion; var resizeToWidth = _configurationService.ResizeToWidth; // download file from flickr var url = await _flickrService.GetLastUploadedPhotoUrl(apiKey, apiSecret, userId, PhotoSize.Small); if (!string.IsNullOrWhiteSpace(url)) { var downloadedFile = _downloadService.DownloadFile(url); var resizedFile = _imageService.ResizeImage(downloadedFile, resizeToWidth); var key = _configurationService.S3UploadKey; await _s3FileService.UploadFile(resizedFile, bucketName, key, s3Region); } }