示例#1
0
 [Route("kernel/executequery")] // diag
 public async Task <ApiResult> ExecuteCode([FromBody] JObject jObject)
 {
     try
     {
         RolesCheck.EnsureWriter(Request);
         InteractiveQueryManager iqm = new InteractiveQueryManager(_logger);
         return(await iqm.ExecuteQuery(jObject));
     }
     catch (Exception e)
     {
         _logger.LogError(e, e.Message);
         return(ApiResult.CreateError(e.Message));
     }
 }
示例#2
0
        public async Task <ApiResult> DeleteAllKernels()
        {
            try
            {
                RolesCheck.EnsureWriter(Request);

                InteractiveQueryManager iqm = new InteractiveQueryManager(_logger);
                return(await iqm.DeleteAllKernels().ConfigureAwait(false));
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(ApiResult.CreateError(e.Message));
            }
        }
        public void TestTranslateBinNames()
        {
            string json = @"[
		        'path1/path2/a.jar',
		        'path1/path2/b.jar',
		        'path1/path2/c.jar'
            ]";

            JArray binNames = JArray.Parse(json);
            var    actual   = InteractiveQueryManager.TranslateBinNames(binNames, "myAccount", "myContainer");

            string expected = "wasbs://[email protected]/path1/path2/a.jar,wasbs://[email protected]/path1/path2/b.jar,wasbs://[email protected]/path1/path2/c.jar";

            Assert.AreEqual(expected, actual);
        }
示例#4
0
        [Route("kernel/refresh")] // diag
        public async Task <ApiResult> RefreshKernel([FromBody] JObject jObject)
        {
            try
            {
                RolesCheck.EnsureWriter(Request);

                InteractiveQueryManager iqm = new InteractiveQueryManager(_logger, _configuration);
                return(await iqm.RecycleKernel(jObject));
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(ApiResult.CreateError(e.Message));
            }
        }
示例#5
0
        public async Task <ApiResult> DeleteKernelList([FromBody] System.Collections.Generic.List <string> kernels)
        {
            try
            {
                RolesCheck.EnsureWriter(Request);


                InteractiveQueryManager iqm = new InteractiveQueryManager(_logger);
                return(await iqm.DeleteKernelList(kernels).ConfigureAwait(false));
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(ApiResult.CreateError(e.Message));
            }
        }
示例#6
0
        [Route("kernel/delete")] // diag
        public async Task <ApiResult> DeleteKernel([FromBody] string kernelId)
        {
            try
            {
                RolesCheck.EnsureWriter(Request);


                InteractiveQueryManager iqm = new InteractiveQueryManager(_logger, _configuration);
                return(await iqm.DeleteKernel(kernelId).ConfigureAwait(false));
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(ApiResult.CreateError(e.Message));
            }
        }
示例#7
0
        [Route("kernel/delete")] // diag
        public async Task <ApiResult> DeleteKernel([FromBody] JObject jObject)
        {
            try
            {
                RolesCheck.EnsureWriter(Request);

                var diag = jObject.ToObject <InteractiveQueryObject>();
                InteractiveQueryManager iqm = new InteractiveQueryManager(_logger, _configuration);
                return(await iqm.DeleteKernel(diag.KernelId, diag.Name).ConfigureAwait(false));
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(ApiResult.CreateError(e.Message));
            }
        }
示例#8
0
        [Route("kernel")] // diag
        public async Task <ApiResult> CreateAndInitializeKernel([FromBody] JObject jObject)
        {
            try
            {
                RolesCheck.EnsureWriter(Request);
                InteractiveQueryManager iqm = new InteractiveQueryManager(_logger);
                ApiResult response          = await iqm.CreateAndInitializeKernel(jObject);

                //Logging information / success
                _logger.LogInformation("Successful Kernel Initialization!");
                return(response);
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(ApiResult.CreateError(e.Message));
            }
        }
示例#9
0
        public async Task <ApiResult> RefreshInputDataAndKernel(JObject jObject)
        {
            var diag = jObject.ToObject <InteractiveQueryObject>();

            var response = await _engineEnvironment.GetEnvironmentVariables();

            if (response.Error.HasValue && response.Error.Value)
            {
                _logger.LogError(response.Message);
                return(ApiResult.CreateError(response.Message));
            }

            //Refresh the sample data
            SchemaInferenceManager sim = new SchemaInferenceManager(_logger);

            response = await sim.RefreshSample(jObject);

            if (response.Error.HasValue && response.Error.Value)
            {
                _logger.LogError(response.Message);
                return(ApiResult.CreateError(response.Message));
            }

            InteractiveQueryManager iqm = new InteractiveQueryManager(_logger);

            response = await iqm.RecycleKernelHelper(diag, true);

            if (response.Error.HasValue && response.Error.Value)
            {
                _logger.LogError(response.Message);
                return(ApiResult.CreateError(response.Message));
            }

            var result = response.Result;

            _logger.LogInformation("RefreshInputDataAndKernel successful!");
            return(ApiResult.CreateSuccess(result));
        }