Пример #1
0
        public override void ExecuteCmdlet()
        {
            if (this.IsParameterBound(c => c.WorkspaceObject))
            {
                this.WorkspaceName = this.WorkspaceObject.Name;
            }

            var fileExtension = ".kql";

            if (this.IsParameterBound(c => c.InputObject))
            {
                WriteToFile(this.InputObject);
                WriteObject(new FileInfo(Path.Combine(this.OutputFolder, this.InputObject.Name + fileExtension)));
            }
            else
            {
                if (this.IsParameterBound(c => c.Name))
                {
                    var kqlScript = new PSKqlScriptResource(SynapseAnalyticsClient.GetKqlScript(this.Name), this.WorkspaceName);
                    WriteToFile(kqlScript);
                    WriteObject(new FileInfo(Path.Combine(this.OutputFolder, kqlScript.Name + fileExtension)));
                }
                else
                {
                    var infoList   = new List <FileInfo>();
                    var kqlScripts = SynapseAnalyticsClient.GetKqlScriptsByWorkspace()
                                     .Select(element => new PSKqlScriptResource(element, this.WorkspaceName));
                    foreach (var kqlScript in kqlScripts)
                    {
                        WriteToFile(kqlScript);
                        infoList.Add(new FileInfo(Path.Combine(this.OutputFolder, kqlScript.Name + fileExtension)));
                    }
                    WriteObject(infoList, true);
                }
            }
        }
Пример #2
0
        private void WriteToFile(PSKqlScriptResource kqlScript)
        {
            string query = kqlScript?.Properties?.Content?.Query;

            File.WriteAllText(Path.Combine(this.OutputFolder, kqlScript.Name + ".kql"), query);
        }