class PowerBI::Workspace
Attributes
datasets[R]
id[R]
is_on_dedicated_capacity[R]
is_read_only[R]
name[R]
reports[R]
users[R]
Public Class Methods
new(tenant, data)
click to toggle source
# File lib/power-bi/workspace.rb, line 7 def initialize(tenant, data) @id = data[:id] @is_read_only = data[:isReadOnly] @is_on_dedicated_capacity = data[:isOnDedicatedCapacity] @name = data[:name] @tenant = tenant @reports = ReportArray.new(@tenant, self) @datasets = DatasetArray.new(@tenant, self) @users = UserArray.new(@tenant, self) end
Public Instance Methods
delete()
click to toggle source
# File lib/power-bi/workspace.rb, line 41 def delete @tenant.delete("/groups/#{@id}") @tenant.workspaces.reload true end
upload_pbix(file, dataset_name, timeout: 30)
click to toggle source
# File lib/power-bi/workspace.rb, line 18 def upload_pbix(file, dataset_name, timeout: 30) data = @tenant.post_file("/groups/#{@id}/imports", file, {datasetDisplayName: dataset_name}) import_id = data[:id] success = false iterations = 0 status_history = '' old_status = '' while !success sleep 0.1 iterations += 1 raise UploadError.new("Upload did not succeed after #{timeout} seconds. Status history:#{status_history}") if iterations > (10 * timeout) new_status = @tenant.get("/groups/#{@id}/imports/#{import_id}")[:importState].to_s success = (new_status == "Succeeded") if new_status != old_status status_history += "\nStatus change after #{iterations/10.0}s: '#{old_status}' --> '#{new_status}'" old_status = new_status end end @reports.reload @datasets.reload true end