private static async void CallRefreshAsync() { HttpClient client = new HttpClient(); //AAS template //client.BaseAddress = new Uri("https://<rollout>.asazure.windows.net/servers/<serverName>/models/<resource>/"); //PBI template client.BaseAddress = new Uri("https://api.powerbi.com/v1.0/myorg/groups/<workspaceID>/datasets/<datasetID>/"); // Send refresh request client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", await UpdateToken()); RefreshRequest refreshRequest = new RefreshRequest() { type = "full", maxParallelism = 10 }; HttpResponseMessage response = await client.PostAsJsonAsync("refreshes", refreshRequest); string content = await response.Content.ReadAsStringAsync(); response.EnsureSuccessStatusCode(); Uri location = response.Headers.Location; Console.WriteLine(response.Headers.Location); // Check the response while (true) // Will exit while loop when exit Main() method (it's running asynchronously) { string output = ""; // Refresh token if required client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", await UpdateToken()); response = await client.GetAsync(location); if (response.IsSuccessStatusCode) { output = await response.Content.ReadAsStringAsync(); } Console.Clear(); Console.WriteLine(output); Thread.Sleep(5000); } }
private static async void CallRefreshAsync() { HttpClient client = new HttpClient { BaseAddress = new Uri("https://eastus.asazure.windows.net/servers/abanalysisservices/models/adventureworks/") //update }; // Send refresh request client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", await UpdateToken()); RefreshRequest refreshRequest = new RefreshRequest() { type = "full", maxParallelism = 10 }; HttpResponseMessage response = await client.PostAsJsonAsync("refreshes", refreshRequest); response.EnsureSuccessStatusCode(); Uri location = response.Headers.Location; Console.WriteLine(response.Headers.Location); // Check the response while (true) // Will exit while loop when exit Main() method (it's running asynchronously) { string output = ""; // Refresh token if required client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", await UpdateToken()); response = await client.GetAsync(location); if (response.IsSuccessStatusCode) { output = await response.Content.ReadAsStringAsync(); } Console.Clear(); Console.WriteLine(output); Thread.Sleep(5000); } }