GoodData::Model::ProjectBlueprint 是否支持任何方法将其自身生成到某个目录的 JSON 项目数据集清单文件?
Is there any method supported at GoodData::Model::ProjectBlueprint to generate itself into JSON project dataset manifest file to some directory?
为了避免不完善的人工手动定义,我想知道如何从活动的 GoodData 项目生成 json 数据集清单文件以实现 Ruby 自动化?
我认为可能有一些命令行可以通过在控制台上输入 project.blueprint.~ 或 GoodData::Model::ProjectBlueprint 来实现这一点,例如 windows 命令提示符,或者从 CloudConnect LDM 中找到 MAQL建模者的 MAQL 选项卡,或者来自项目 Web 控制台,例如下一个位置;
https://secure.gooddata.com/gdc/md/{project_id}/ldm/singleloadinterface/dataset.{dataset_name}
目前在尝试以 http://www.rubydoc.info/gems/gooddata/GoodData/Model/ToManifest 中定义的方式获取清单时存在一个错误,但我可以为您提供一个解决方法来获取它,直到他们修复它并更新我们的 gem:
require 'gooddata'
require 'pp'
module GoodData
module Model
module ToManifest
def self.dataset_to_manifest(project, dataset, mode = 'FULL')
dataset = dataset.is_a?(String) ? Model::ProjectBlueprint.find_dataset(project, dataset) : dataset
dataset = dataset.to_hash
all_datasets = Model::ProjectBlueprint.datasets(project)
tm = to_manifest(project, mode)
datasets = all_datasets.zip(tm)
res = datasets.find do |ds|
ds.first[:title] == dataset['dataSet']['meta']['title']
end
res[1]
end
end
end
end
GoodData.logging_on
client = GoodData.connect 'your_user@gooddata.com', 'password'
project = client.projects('project_id')
dataset =project.datasets('/gdc/md/projectid/obj/dataset_id')
res = GoodData::Model::ToManifest.dataset_to_manifest(project.blueprint, dataset)
pp res
这样您就可以毫无错误地获取您的清单。
为了避免不完善的人工手动定义,我想知道如何从活动的 GoodData 项目生成 json 数据集清单文件以实现 Ruby 自动化?
我认为可能有一些命令行可以通过在控制台上输入 project.blueprint.~ 或 GoodData::Model::ProjectBlueprint 来实现这一点,例如 windows 命令提示符,或者从 CloudConnect LDM 中找到 MAQL建模者的 MAQL 选项卡,或者来自项目 Web 控制台,例如下一个位置;
https://secure.gooddata.com/gdc/md/{project_id}/ldm/singleloadinterface/dataset.{dataset_name}
目前在尝试以 http://www.rubydoc.info/gems/gooddata/GoodData/Model/ToManifest 中定义的方式获取清单时存在一个错误,但我可以为您提供一个解决方法来获取它,直到他们修复它并更新我们的 gem:
require 'gooddata'
require 'pp'
module GoodData
module Model
module ToManifest
def self.dataset_to_manifest(project, dataset, mode = 'FULL')
dataset = dataset.is_a?(String) ? Model::ProjectBlueprint.find_dataset(project, dataset) : dataset
dataset = dataset.to_hash
all_datasets = Model::ProjectBlueprint.datasets(project)
tm = to_manifest(project, mode)
datasets = all_datasets.zip(tm)
res = datasets.find do |ds|
ds.first[:title] == dataset['dataSet']['meta']['title']
end
res[1]
end
end
end
end
GoodData.logging_on
client = GoodData.connect 'your_user@gooddata.com', 'password'
project = client.projects('project_id')
dataset =project.datasets('/gdc/md/projectid/obj/dataset_id')
res = GoodData::Model::ToManifest.dataset_to_manifest(project.blueprint, dataset)
pp res
这样您就可以毫无错误地获取您的清单。