Exemplo n.º 1
0
        public void PromoteUserAsset(WorkspaceSetting setting, string experimentId, string nodeId, string nodeOutputName, string assetName, string assetDescription, UserAssetType assetType, string familyId)
        {
            ValidateWorkspaceSetting(setting);
            Util.AuthorizationToken = setting.AuthorizationToken;

            string queryUrl = StudioApi + string.Format("workspaces/{0}/{1}", setting.WorkspaceId, assetType == UserAssetType.Transform ? "transformmodules" : (assetType == UserAssetType.TrainedModel ? "trainedmodels" : "datasources"));
            string postPayloadInJson = string.Empty;
            switch (assetType)
            {
                case UserAssetType.Transform:
                    var transformPayload = new
                    {
                        ExperimentId = experimentId,
                        ModuleNodeId = nodeId,
                        OutputName = nodeOutputName,
                        Transform = new
                        {
                            Name = assetName,
                            DataTypeId = "iTransformDotNet",
                            Description = assetDescription,
                            SourceOrigin = "FromOutputPromotion",
                            FamilyId = familyId
                        }
                    };
                    postPayloadInJson = jss.Serialize(transformPayload);
                    break;
                case UserAssetType.TrainedModel:
                    var trainedModelPayload = new
                    {
                        ExperimentId = experimentId,
                        ModuleNodeId = nodeId,
                        OutputName = nodeOutputName,
                        TrainedModel = new
                        {
                            Name = assetName,
                            DataTypeId = "iLearnerDotNet",
                            Description = assetDescription,
                            SourceOrigin = "FromOutputPromotion",
                            FamilyId = familyId
                        }
                    };
                    postPayloadInJson = jss.Serialize(trainedModelPayload);
                    break;
                case UserAssetType.Dataset:
                    var datasetPayload = new
                    {
                        ExperimentId = experimentId,
                        ModuleNodeId = nodeId,
                        OutputName = nodeOutputName,
                        DataSource = new
                        {
                            Name = assetName,
                            DataTypeId = "Dataset",
                            Description = assetDescription,
                            SourceOrigin = "FromOutputPromotion",
                            FamilyId = familyId
                        }
                    };
                    postPayloadInJson = jss.Serialize(datasetPayload);
                    break;
            }
            HttpResult hr = Util.HttpPost(queryUrl, postPayloadInJson).Result;
            if (hr.IsSuccess)
            {
                return;
            }
            throw new AmlRestApiException(hr);
        }
Exemplo n.º 2
0
        public void PromoteUserAsset(WorkspaceSetting setting, string experimentId, string nodeId, string nodeOutputName, string assetName, string assetDescription, UserAssetType assetType, string familyId)
        {
            ValidateWorkspaceSetting(setting);
            Util.AuthorizationToken = setting.AuthorizationToken;

            string queryUrl          = StudioApi + string.Format("workspaces/{0}/{1}", setting.WorkspaceId, assetType == UserAssetType.Transform ? "transformmodules" : (assetType == UserAssetType.TrainedModel ? "trainedmodels" : "datasources"));
            string postPayloadInJson = string.Empty;

            switch (assetType)
            {
            case UserAssetType.Transform:
                var transformPayload = new
                {
                    ExperimentId = experimentId,
                    ModuleNodeId = nodeId,
                    OutputName   = nodeOutputName,
                    Transform    = new
                    {
                        Name         = assetName,
                        DataTypeId   = "iTransformDotNet",
                        Description  = assetDescription,
                        SourceOrigin = "FromOutputPromotion",
                        FamilyId     = familyId
                    }
                };
                postPayloadInJson = jss.Serialize(transformPayload);
                break;

            case UserAssetType.TrainedModel:
                var trainedModelPayload = new
                {
                    ExperimentId = experimentId,
                    ModuleNodeId = nodeId,
                    OutputName   = nodeOutputName,
                    TrainedModel = new
                    {
                        Name         = assetName,
                        DataTypeId   = "iLearnerDotNet",
                        Description  = assetDescription,
                        SourceOrigin = "FromOutputPromotion",
                        FamilyId     = familyId
                    }
                };
                postPayloadInJson = jss.Serialize(trainedModelPayload);
                break;

            case UserAssetType.Dataset:
                var datasetPayload = new
                {
                    ExperimentId = experimentId,
                    ModuleNodeId = nodeId,
                    OutputName   = nodeOutputName,
                    DataSource   = new
                    {
                        Name         = assetName,
                        DataTypeId   = "Dataset",
                        Description  = assetDescription,
                        SourceOrigin = "FromOutputPromotion",
                        FamilyId     = familyId
                    }
                };
                postPayloadInJson = jss.Serialize(datasetPayload);
                break;
            }
            HttpResult hr = Util.HttpPost(queryUrl, postPayloadInJson).Result;

            if (hr.IsSuccess)
            {
                return;
            }
            throw new AmlRestApiException(hr);
        }