secure
deploy

Patch Pipelines

This endpoint allows for partial updates to the pipeline configuration.It expects a JSON Object containing pipeline configuration keys to be updated.JSON Merge Patch is used to update the configuration, see RFC 7396. Arrays are replaced, not merged.

patch/api/v1/pipelines

Request body

object required

Example request

{
  "sources": {
    "psql": {
      "type": "cdc",
      "logging": {
        "level": "debug"
      },
      "connection": {
        "type": "postgresql",
        "host": "host.docker.internal",
        "port": 5432,
        "database": "chinook",
        "user": "postgres",
        "password": "postgres"
      },
      "tables": {
        "public.invoice": {
          "columns": [
            "billingaddress",
            "billingcity",
            "billingcountry",
            "billingpostalcode",
            "total",
            "customerid",
            "billingstate",
            "invoiceid",
            "invoicedate"
          ],
          "keys": [
            "invoiceid"
          ]
        },
        "public.track": {
          "columns": [
            "genreid",
            "milliseconds",
            "mediatypeid",
            "trackid",
            "composer",
            "bytes",
            "name",
            "albumid",
            "unitprice"
          ],
          "keys": [
            "trackid"
          ]
        },
        "public.mediatype": {
          "columns": [
            "mediatypeid",
            "name"
          ],
          "keys": [
            "mediatypeid"
          ]
        },
        "public.customer": {
          "columns": [
            "country",
            "firstname",
            "address",
            "city",
            "lastname",
            "phone",
            "postalcode",
            "customerid",
            "company",
            "state",
            "fax",
            "email",
            "supportrepid"
          ],
          "keys": [
            "customerid"
          ]
        },
        "public.genre": {
          "columns": [
            "genreid",
            "name"
          ],
          "keys": [
            "genreid"
          ]
        },
        "public.invoiceline": {
          "columns": [
            "quantity",
            "trackid",
            "invoicelineid",
            "invoiceid",
            "unitprice"
          ],
          "keys": [
            "invoicelineid"
          ]
        },
        "public.playlist": {
          "columns": [
            "playlistid",
            "name"
          ],
          "keys": [
            "playlistid"
          ]
        },
        "public.employee": {
          "columns": [
            "country",
            "firstname",
            "birthdate",
            "address",
            "city",
            "reportsto",
            "title",
            "employeeid",
            "hiredate",
            "lastname",
            "phone",
            "postalcode",
            "state",
            "fax",
            "email"
          ],
          "keys": [
            "employeeid"
          ]
        },
        "public.album": {
          "columns": [
            "albumid",
            "artistid",
            "title"
          ],
          "keys": [
            "albumid"
          ]
        },
        "public.artist": {
          "columns": [
            "name",
            "artistid"
          ],
          "keys": [
            "artistid"
          ]
        },
        "public.playlisttrack": {
          "columns": [
            "playlistid",
            "trackid"
          ],
          "keys": [
            "playlistid",
            "trackid"
          ]
        }
      }
    }
  },
  "targets": {
    "target": {
      "type": "redis",
      "host": "host.docker.internal",
      "port": 12002,
      "password": "test"
    }
  },
  "processors": {
    "target_data_type": "hash"
  },
  "jobs": [
    {
      "name": "chinook_customer",
      "source": {
        "server_name": "chinook",
        "schema": "public",
        "table": "Customer"
      },
      "output": [
        {
          "uses": "redis.write",
          "with": {
            "connection": "target",
            "key": {
              "expression": "concat(['CustomerId:', CustomerId])",
              "language": "jmespath"
            },
            "expire": 100
          }
        }
      ]
    }
  ]
}

Response

Successful Response

action_idstring required

Example response

{
  "action_id": "1234567890"
}

Changes