Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »

This article describes the process for getting the output schema for plugins using the REST API.

The GetSchema button sends a POST request to this endpoint:/v3/namespaces/system/apps/pipeline/services/studio/methods/v1/contexts/{namespace}/validations/stage

This endpoint expects a payload with the stage to validate and the inputSchemas to this stage. The stage object can be directly copied from the pipeline json and the inputSchemas can be left empty since it is a source. Example payload:

{
    "stage":{
        "name": "BigQuery",
        "plugin": {
            "name": "BigQueryTable",
            "type": "batchsource",
            "label": "BigQuery",
            "artifact": {
                "name": "google-cloud",
                "version": "0.14.6",
                "scope": "SYSTEM"
            },
            "properties": {
                "project": "auto-detect",
                "serviceFilePath": "auto-detect",
                "datasetProject": "meseifan-test",
                "dataset": "GCPQuickStart",
                "table": "ADT_Out",
                "referenceName": "test"
            }
        },
        "outputSchema": [
            {
                "name": "etlSchemaBody",
                "schema": ""
            }
        ]
    },
    "inputSchemas":[]
}

The response will be a fully populated stage object, one of the fields is "outputSchema" which will contain the schema of the input you are attempting to use. Example response:

{
  "spec": {
    "name": "BigQuery",
    "plugin": {
      "type": "batchsource",
      "name": "BigQueryTable",
      "properties": {
        "serviceFilePath": "auto-detect",
        "project": "auto-detect",
        "datasetProject": "meseifan-test",
        "dataset": "GCPQuickStart",
        "table": "ADT_Out",
        "referenceName": "test"
      },
      "artifact": {
        "name": "google-cloud",
        "version": {
          "version": "0.14.6",
          "major": 0,
          "minor": 14,
          "fix": 6
        },
        "scope": "SYSTEM"
      }
    },
    "outputSchema": {
      "type": "record",
      "name": "output",
      "fields": [
        {
          "name": "SRC_NTW_ID_",
          "type": [ "string", "null" ]
        },
        {
          "name": "NTW_CUST_NUM_",
          "type": [ "long", "null" ]
        },
        {
          "name": "NTW_CS_NO",
          "type": [ "string", "null" ]
        },
        {
          "name": "SRC_NTW_ID_masked",
          "type": [ "string", "null" ]
        },
        {
          "name": "NTW_CS_NO_masked",
          "type": [ "string", "null" ]
        }
      ]
    },
    "inputSchemas": {},
    "outputPorts": {},
    "portSchemas": {},
    "stageLoggingEnabled": true,
    "processTimingEnabled": true,
    "maxPreviewRecords": 100,
    "inputStages": [],
    "failures": [],
  }
}

  • No labels