public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log) { DeployDBContext _context = new DeployDBContext(); AzureStorageConfig azureStorageConfig = new AzureStorageConfig(); azureStorageConfig.AccountKey = Environment.GetEnvironmentVariable("StorageName"); azureStorageConfig.AccountKey = Environment.GetEnvironmentVariable("StorageKey"); azureStorageConfig.ConnectionString = Environment.GetEnvironmentVariable("StorageConnection"); TenantParameters _tennantService = new TenantParameters(_context, azureStorageConfig); string id = req.Query["id"]; int value = Int16.Parse(id); await _tennantService.GetDeploy(value); //var deployTypes = _context.DeployTypes.Where(d => d.DeployTypeId == value).FirstOrDefault(); string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); dynamic data = JsonConvert.DeserializeObject(requestBody); id = id ?? data?.name; return(null); //return id != null // ? (ActionResult)new OkObjectResult($"Hello, James") // : new BadRequestObjectResult("Please pass a name on the query string or in the request body"); }
public static string GetSASToken(AzureStorageConfig _storageConfig) { CloudStorageAccount storageAccount = new CloudStorageAccount(new Microsoft.WindowsAzure.Storage.Auth.StorageCredentials(_storageConfig.AccountName, _storageConfig.AccountKey), true); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference("ansible"); SharedAccessBlobPolicy sasConstraints = new SharedAccessBlobPolicy(); sasConstraints.SharedAccessExpiryTime = DateTime.UtcNow.AddHours(3); sasConstraints.Permissions = SharedAccessBlobPermissions.Read | SharedAccessBlobPermissions.List; string sasContainerToken = container.GetSharedAccessSignature(sasConstraints); return(sasContainerToken); }