kamu-cli icon indicating copy to clipboard operation
kamu-cli copied to clipboard

Data access panel: GraphQL initial API

Open s373r opened this issue 1 year ago • 1 comments

Description

Related issue https://github.com/kamu-data/kamu-cli/issues/560 Example of usage: https://github.com/kamu-data/kamu-cli/pull/570#issuecomment-2023307609

Checklist before requesting a review

  • [x] CHANGELOG.md updated
  • [x] API changes are backwards-compatible
  • [x] Workspace layout changes include a migration -- not needed
  • [x] Documentation update PR: <link or N/A> -- not needed
  • [x] Dataset pipelines update scheduled if needed -- not needed
  • [ ] Unit-tests added

s373r avatar Mar 27 '24 16:03 s373r

Example of usage

Request:

query getDatasetMainData(
  $accountName: AccountName!
  $datasetName: DatasetName!
) {
  datasets {
    byOwnerAndName(accountName: $accountName, datasetName: $datasetName) {
			endpoints {
        webLink {
          url
        }
        cli {
          pullCommand
          pushCommand
        }
        rest {
          tailUrl
          queryUrl
          pushUrl
        }
        flightsql {
          url
        }
        jdbc {
          url
        }
        postgresql {
          url
        }
        kafka {
          url
        }
        odata {
          serviceUrl
          collectionUrl
        }
      }
      __typename
    }
    __typename
  }
}

Response:

{
  "data": {
    "datasets": {
      "byOwnerAndName": {
        "endpoints": {
          "webLink": {
            "url": "https://platform.demo.kamu.dev/kamu/net.rocketpool.reth.mint-burn"
          },
          "cli": {
            "pullCommand": "kamu pull https://platform.demo.kamu.dev/kamu/net.rocketpool.reth.mint-burn --as net.rocketpool.reth.mint-burn",
            "pushCommand": "kamu push https://platform.demo.kamu.dev/kamu/net.rocketpool.reth.mint-burn"
          },
          "rest": {
            "tailUrl": "https://platform.demo.kamu.dev/kamu/net.rocketpool.reth.mint-burn/tail?limit=10",
            "queryUrl": "https://platform.demo.kamu.dev/graphql?query=query {%0A%20 apiVersion%0A}%0A",
            "pushUrl": "https://platform.demo.kamu.dev/kamu/net.rocketpool.reth.mint-burn/push"
          },
          "flightsql": {
            "url": "datafusion+flightsql://node.demo.kamu.dev:50050"
          },
          "jdbc": {
            "url": "jdbc:arrow-flight-sql://node.demo.kamu.dev:50050"
          },
          "postgresql": {
            "url": "- coming soon -"
          },
          "kafka": {
            "url": "- coming soon -"
          },
          "odata": {
            "serviceUrl": "https://platform.demo.kamu.dev/odata/kamu",
            "collectionUrl": "https://platform.demo.kamu.dev/odata/kamu/net.rocketpool.reth.mint-burn"
          }
        },
        "__typename": "Dataset"
      },
      "__typename": "Datasets"
    }
  },
  "extensions": {}
}

s373r avatar Mar 27 '24 16:03 s373r