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

这样您就可以毫无错误地获取您的清单。