in csharp/Microsoft.Azure.Databricks.Client.Sample/SampleProgram.Permissions.cs [198:237]
private static async Task JobPermissions(DatabricksClient client)
{
Console.WriteLine("Creating new job");
Console.WriteLine($"Creating workspace {SampleWorkspacePath}");
await client.Workspace.Mkdirs(SampleWorkspacePath);
Console.WriteLine("Downloading sample notebook");
var content = await DownloadSampleNotebook();
Console.WriteLine($"Importing sample HTML notebook to {SampleNotebookPath}");
await client.Workspace.Import(SampleNotebookPath, ExportFormat.HTML, null,
content, true);
var newCluster = ClusterAttributes.GetNewClusterConfiguration()
.WithClusterMode(ClusterMode.SingleNode)
.WithNodeType(NodeTypes.Standard_D3_v2)
.WithRuntimeVersion(RuntimeVersions.Runtime_10_4);
var jobSettings = new JobSettings { MaxConcurrentRuns = 1, Name = "Sample Job" };
jobSettings.AddTask("task1", new NotebookTask { NotebookPath = SampleNotebookPath })
.WithDescription("Sample Job - task1")
.WithNewCluster(newCluster);
Console.WriteLine("Creating new job");
var jobId = await client.Jobs.Create(jobSettings);
Console.WriteLine("Job created: {0}", jobId);
await TestPermissions(
jobId.ToString(),
DatabricksUserName,
client.Permissions.GetJobPermissionLevels,
client.Permissions.GetJobPermissions,
client.Permissions.UpdateJobPermissions,
client.Permissions.ReplaceJobPermissions
);
await client.Jobs.Delete(jobId);
await client.Workspace.Delete(SampleNotebookPath, true);
}