public static async Task <string> Run([ActivityTrigger] DurableActivityContextBase myBlob, TraceWriter log) { //log.Info($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes"); log.Info("in final step......................"); string storagePath = Environment.GetEnvironmentVariable("AzureWebJobsStorage"); CloudStorageAccount storageAccount = CloudStorageAccount.Parse(storagePath); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer destinationContainer = blobClient.GetContainerReference(Environment.GetEnvironmentVariable("AcceptDestinationPath")); //await cloudBlobContainer.CreateAsync(); await destinationContainer.CreateIfNotExistsAsync(); // Set the permissions so the blobs are public. BlobContainerPermissions permissions = new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob }; await destinationContainer.SetPermissionsAsync(permissions); RequestApplication requestMetadata = myBlob.GetInput <RequestApplication>(); var sourceBlob = blobClient.GetBlobReferenceFromServerAsync(new Uri(requestMetadata.LocationUrl)).Result; // var destinationContainer = blobClient.GetContainerReference(destinationContainer); var destinationBlob = destinationContainer.GetBlobReference(sourceBlob.Name); await destinationBlob.StartCopyAsync(sourceBlob.Uri); Task.Delay(TimeSpan.FromSeconds(15)).Wait(); await sourceBlob.DeleteAsync(); return("Copied"); }
public static async Task <TokenEntity> RefreshGoogleTokenActivity( [ActivityTrigger] DurableActivityContextBase context, [Table(Constants.TOKEN_TABLE, partitionKey: Constants.TOKEN_PARTITIONKEY, rowKey: Constants.GOOGLETOKEN_ROWKEY)] TokenEntity inputToken, ILogger log) { if (inputToken?.RefreshToken == null) { throw new ArgumentNullException($"{nameof(RefreshGoogleTokenActivity)} {nameof(inputToken.RefreshToken)}"); } TokenEntity outputToken = null; if (inputToken.NeedsRefresh) { var tokenCreated = DateTime.UtcNow; var token = await AccessTokenFromRefreshToken(inputToken.RefreshToken, log); outputToken = JsonConvert.DeserializeObject <TokenEntity>(token); outputToken.ETag = inputToken.ETag; outputToken.PartitionKey = inputToken.PartitionKey; outputToken.RowKey = inputToken.RowKey; outputToken.RefreshToken = inputToken.RefreshToken; // Google RefreshToken can be re-used outputToken.Created = tokenCreated; outputToken.Expires = tokenCreated.AddSeconds(outputToken.ExpiresIn); } return(outputToken); }
public async Task <bool> CheckTestStatus([ActivityTrigger] DurableActivityContextBase context, ILogger logger) { var regionSettings = context.GetInput <RegionSettings>(); logger.LogInformation("Checking test status for container {name}", regionSettings.ContainerName); return(await _gatlingService.CheckTestStatus(regionSettings.Url, regionSettings.TestId)); }
public static Task ActivityVerifyingInput([ActivityTrigger] DurableActivityContextBase context) { var input = context.GetInput <TestFunctionInput>(); Assert.AreEqual("activity", input.Token); return(Task.CompletedTask); }
public async Task StartTest([ActivityTrigger] DurableActivityContextBase context, ILogger logger) { var regionSettings = context.GetInput <RegionSettings>(); logger.LogInformation("Starting test"); await _gatlingService.StartTest(regionSettings.Url, regionSettings.FileName, regionSettings.TestId); }
public async Task <(string url, string name)> CreateAciInRegion([ActivityTrigger] DurableActivityContextBase context) { var region = context.GetInput <string>(); var regionId = Guid.NewGuid().ToString(); return(await _containerInstanceService.CreateContainerGroup( region, regionId)); }
public static async Task CheckConfigurationActivity( [ActivityTrigger] DurableActivityContextBase context, [Blob(Constants.BLOBPATHCONTAINER, FileAccess.ReadWrite)] CloudBlobContainer storageContainer, ILogger log ) { await CheckStorageConfiguration(storageContainer, log); }
internal static async Task <int> GetCount([ActivityTrigger] DurableActivityContextBase context, string countFunctionName, Func <string, Task <int> > countFunction, ILogger log) { var runId = context.GetInput <string>(); var count = await countFunction(runId); log.LogInformation($"{countFunctionName} - {count}"); return(count); }
public async Task <string> GetResult([ActivityTrigger] DurableActivityContextBase context, ILogger logger) { var regionSettings = context.GetInput <RegionSettings>(); logger.LogInformation("Getting test result for {name}", regionSettings.ContainerName); return(await _gatlingService.GetResult(regionSettings.Url, regionSettings.TestId, regionSettings.ContainerName)); }
public async Task <StatusHelper> LoadOrganizations([ActivityTrigger] DurableActivityContextBase context, ILogger log) { var runId = context.GetInput <string>(); var result = new StatusHelper { Name = FunctionNames.LoadOrganizations, Status = await WaterAllocationManager.LoadOrganizations(runId) }; log.LogInformation(JsonConvert.SerializeObject(result)); return(result); }
internal static async Task <StatusHelper> LoadBatch(DurableActivityContextBase context, string batchFunctionName, Func <string, int, int, Task <bool> > loadFunction, ILogger log) { var batchData = context.GetInput <BatchData>(); var result = new StatusHelper { Name = batchFunctionName, Status = await loadFunction(batchData.RunId, batchData.StartIndex, batchData.Count) }; log.LogInformation($"{batchFunctionName} [{batchData.StartIndex}] - {JsonConvert.SerializeObject(result)}"); return(result); }
public static Task UpdateImageActivity( [ActivityTrigger] DurableActivityContextBase context, [SignalR(HubName = HUBNAME)] IAsyncCollector <SignalRMessage> signalRMessages) { return(signalRMessages.AddAsync( new SignalRMessage { Target = SIGNALRMESSAGEUPDATEIMAGE, Arguments = new[] { context.GetInput <string>() } })); }
public static Task FailAtGivenCallNoActivity([ActivityTrigger] DurableActivityContextBase context) { var activitySetup = context.GetInput <RetryingActivitySetup>(); activitySetup.Increment(); if (activitySetup.ShouldSucceed()) { return(Task.CompletedTask); } throw new Exception("Failing call no " + activitySetup.CallNo); }
public static Task <Response> Run2([ActivityTrigger] DurableActivityContextBase context) { var elapsed = DummyCPULoad(); return(Task.FromResult(new Response() { Hosts = new Dictionary <string, int> { { Environment.MachineName, Environment.ProcessorCount } }, Volume = elapsed, Elapsed = elapsed, })); }
public async Task <string> GenerateMergedReport([ActivityTrigger] DurableActivityContextBase context, ILogger logger) { var regionSettings = context.GetInput <List <RegionSettings> >(); logger.LogInformation("Generating merge report for {testId}", regionSettings.First().TestId); var gatlingUrl = regionSettings.First().Url; var mergeReportZip = $"{regionSettings.First().TestId}-merge.zip"; await _gatlingService.MergeReports(gatlingUrl, regionSettings.Select(s => s.SimulationLogName), mergeReportZip); return(_fileService.GetFileUrl(FileService.TestResultsContainer, mergeReportZip)); }
public static async Task <string> RollImageActivity( [ActivityTrigger] DurableActivityContextBase context, [Table(Constants.TOKEN_TABLE, partitionKey: Constants.TOKEN_PARTITIONKEY, rowKey: Constants.MSATOKEN_ROWKEY)] TokenEntity msaToken, [Blob(Constants.BLOBPATHIMAGESPLAYED, FileAccess.ReadWrite)] CloudBlockBlob imagesPlayedStorageBlob, ILogger log) { var imagesPlayedStorage = await imagesPlayedStorageBlob.DownloadTextAsync(); string updateImageMessage; (imagesPlayedStorage, updateImageMessage) = await ProcessNextImage(msaToken, imagesPlayedStorage); await imagesPlayedStorageBlob.UploadTextAsync(imagesPlayedStorage); return(updateImageMessage); }
public static Task UpdateCalendarActivity( [ActivityTrigger] DurableActivityContextBase context, [Table(Constants.TOKEN_TABLE, partitionKey: Constants.TOKEN_PARTITIONKEY, rowKey: Constants.MSATOKEN_ROWKEY)] TokenEntity msaToken, [Table(Constants.TOKEN_TABLE, partitionKey: Constants.TOKEN_PARTITIONKEY, rowKey: Constants.GOOGLETOKEN_ROWKEY)] TokenEntity googleToken, [SignalR(HubName = HUBNAME)] IAsyncCollector <SignalRMessage> signalRMessages, ILogger logger) { var events = CalendarServer.GetCalendars(msaToken, googleToken, logger).GetAwaiter().GetResult(); return(signalRMessages.AddAsync( new SignalRMessage { Target = SIGNALRMESSAGEUPDATECALENDER, Arguments = new[] { events } })); }
public static string SayHello([ActivityTrigger] DurableActivityContextBase context) { string name = context.GetInput <string>(); return($"Hello {name}!"); }
public async Task <int> GetCount([ActivityTrigger] DurableActivityContextBase context, ILogger log) { return(await Import.GetCount(context, CountFunctionName, WaterAllocationManager.GetWaterAllocationsCount, log)); }
public async Task <StatusHelper> LoadBatch([ActivityTrigger] DurableActivityContextBase context, ILogger log) { return(await Import.LoadBatch(context, BatchFunctionName, WaterAllocationManager.LoadWaterAllocations, log)); }
public static string Hello([ActivityTrigger] DurableActivityContextBase ctx) { string input = ctx.GetInput <string>(); return($"Hello, {input}!"); }
public static JToken GetInputAsJson(this DurableActivityContextBase ctx) => ctx.GetInput <JToken>();
public static Task AnActivity([ActivityTrigger] DurableActivityContextBase context) { return(Task.CompletedTask); }
public static string BookTraining([ActivityTrigger] DurableActivityContextBase context) { string name = context.GetInput <string>(); return($"trained"); }
public static string RegisterDriver([ActivityTrigger] DurableActivityContextBase context) { string name = context.GetInput <string>(); return($"Id001"); }
public static string BackgroundVerification([ActivityTrigger] DurableActivityContextBase context) { string name = context.GetInput <string>(); return($"success"); }
public async Task DeleteAciInRegion([ActivityTrigger] DurableActivityContextBase context) { var containerName = context.GetInput <string>(); await _containerInstanceService.DeleteContainerGroup(containerName); }