public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonGlueConfig config = new AmazonGlueConfig(); config.RegionEndpoint = region; ConfigureClient(config); AmazonGlueClient client = new AmazonGlueClient(creds, config); ListWorkflowsResponse resp = new ListWorkflowsResponse(); do { ListWorkflowsRequest req = new ListWorkflowsRequest { NextToken = resp.NextToken , MaxResults = maxItems }; resp = client.ListWorkflows(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.Workflows) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.NextToken)); }
private async Task TestLaunchJob() { //ARRANGE StartJobRunRequest Request = new StartJobRunRequest() { JobName = "CUR File ETL", Timeout = 1440, // 24 Hours Arguments = new Dictionary <string, string>() { { "--table", "2018-10-01" }, { "--database", "billingdata" }, { "--destination_bucket", $"{User}-billing-formatted" } } }; IAmazonGlue GlueClient; if (Creds != null) { GlueClient = new AmazonGlueClient(Creds); } else { GlueClient = new AmazonGlueClient(); } // ACT StartJobRunResponse Response = await GlueClient.StartJobRunAsync(Request); // ASSERT Assert.NotNull(Response); Assert.Equal(HttpStatusCode.OK, Response.HttpStatusCode); }
protected IAmazonGlue CreateClient(AWSCredentials credentials, RegionEndpoint region) { var config = new AmazonGlueConfig { RegionEndpoint = region }; Amazon.PowerShell.Utils.Common.PopulateConfig(this, config); this.CustomizeClientConfig(config); var client = new AmazonGlueClient(credentials, config); client.BeforeRequestEvent += RequestEventHandler; client.AfterResponseEvent += ResponseEventHandler; return(client); }
public static async Task <IActionResult> GetGlueDatabases([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log) { try { string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); AwsCred awsCred = JsonConvert.DeserializeObject <AwsCred>(requestBody); AmazonGlueClient c = new AmazonGlueClient(awsCred.awsAccessKeyId, awsCred.awsSecretAccessKey, Amazon.RegionEndpoint.GetBySystemName(awsCred.region)); var databases = await c.GetDatabasesAsync(new Amazon.Glue.Model.GetDatabasesRequest()); return(new OkObjectResult(databases.DatabaseList)); } catch (Exception e) { return(new BadRequestObjectResult(e.StackTrace)); } }
private async Task TestNonExistentGlueTable() { // ARRANGE IAmazonGlue GlueClient; if (Creds != null) { GlueClient = new AmazonGlueClient(Creds); } else { GlueClient = new AmazonGlueClient(); } GetTableRequest Request = new GetTableRequest() { DatabaseName = "test", Name = "test" }; // ACT / ASSERT await Assert.ThrowsAsync <EntityNotFoundException>(async() => await GlueClient.GetTableAsync(Request)); }