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); } } }
private void WriteToFile(PSKqlScriptResource kqlScript) { string query = kqlScript?.Properties?.Content?.Query; File.WriteAllText(Path.Combine(this.OutputFolder, kqlScript.Name + ".kql"), query); }