Esempio n. 1
0
        public async Task <T> PostAsync <T>(string url, object body) where T : new()
        {
            _client.BaseUrl = new Uri(url);
            var request = new RestSharp.Serializers.Newtonsoft.Json.RestRequest();

            request.AddJsonBody(body);
            return(await _client.PostAsync <T>(request));
        }
        //https://docs.databricks.com/api/latest/jobs.html#list
        public async Task <JObject> JobsListAsync()
        {
            var request = new RestSharp.Serializers.Newtonsoft.Json.RestRequest("api/2.0/jobs/list", Method.GET);

            request.AddHeader("Authorization", $"Basic {_authHeader}");

            var response = await _client.ExecuteTaskAsync(request);

            JObject responseContent = JObject.Parse(response.Content);

            return(responseContent);
        }
        //https://docs.databricks.com/api/latest/jobs.html#create
        public async Task <CreateJobResponse> JobsCreateAsync(string jsonJobRequest)
        {
            var request = new RestSharp.Serializers.Newtonsoft.Json.RestRequest("api/2.0/jobs/create", Method.POST);

            request.AddHeader("Authorization", $"Basic {_authHeader}");
            request.AddParameter("application/json", jsonJobRequest, ParameterType.RequestBody);
            var response = await _client.ExecuteTaskAsync <CreateJobResponse>(request);

            var dbResponse = JsonConvert.DeserializeObject <CreateJobResponse>(response.Content);

            return(dbResponse);
        }
        //https://docs.azuredatabricks.net/api/latest/clusters.html#start
        public async Task <DatabricksClusterStartResponse> ClustersStartAsync(string clusterId)
        {
            var request = new RestSharp.Serializers.Newtonsoft.Json.RestRequest("api/2.0/clusters/start", Method.POST);

            request.AddHeader("Authorization", $"Basic {_authHeader}");
            request.AddJsonBody(new { cluster_id = clusterId });

            var response = await _client.ExecuteTaskAsync <DatabricksClusterStartResponse>(request);

            var dbResponse = JsonConvert.DeserializeObject <DatabricksClusterStartResponse>(response.Content);

            return(dbResponse);
        }
        //https://docs.azuredatabricks.net/api/latest/clusters.html#get
        public async Task <JObject> ClustersGetAsync(string clusterId)
        {
            var request = new RestSharp.Serializers.Newtonsoft.Json.RestRequest("api/2.0/clusters/get", Method.GET);

            request.AddHeader("Authorization", $"Basic {_authHeader}");
            request.AddQueryParameter("cluster_id", clusterId);

            var response = await _client.ExecuteTaskAsync(request);

            JObject responseContent = JObject.Parse(response.Content);

            return(responseContent);
        }