
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
bigqueryquery-to-graphql-schema
Advanced tools
Generate a GraphQL Schema Definition from the Result of a Google BigQuery Query
Generate a GraphQL Schema Definition from the Result of a Google BigQuery SQL Query:
await queryFileToSchema('./sql/Intrastat.sql')
gets you:
#generated from ./sql/Intrastat.sql
type BqIntrastat {
belegmonat: String # {"name":"belegmonat","type":"STRING","mode":"NULLABLE"}
menge: Int # {"name":"menge","type":"INTEGER","mode":"NULLABLE"}
items: [String] # {"name":"items","type":"STRING","mode":"REPEATED"}
}
type BqIntrastatResult {
rows: [BqIntrastat]
meta: BqJobMeta
}
If you want to provide the sql query directly instead as a filename, use queryToSchema()
There is also a command line tool for easy access:
$ yarn run bigqueryquery-to-graphql-schema --help
yarn run v1.22.17
usage: bq2gqlschema.ts [-h] [--projectId PROJECTID] [--location LOCATION] sqlfile [sqlfile ...]
Convert BigQuery SQL Query to the resulting GraphQL Schema.
positional arguments:
sqlfile Filename with a single BigQuery SQL Query.
optional arguments:
-h, --help show this help message and exit
--projectId PROJECTID
BigQuery project ID
--location LOCATION BigQuery Dataset Location
Please provide `GOOGLE_APPLICATION_CREDENTIALS` via the Environment!
To use the generated GraphQL you also have to add the following static types somewhere to your schema:
scalar Date
scalar DateTime
type BqStatus {
state: String
}
type BqStatistics {
creationTime: String
startTime: String
endTime: String
totalBytesProcessed: String
query: BqQuery
}
type BqJobReference {
projectId: String
jobId: String
location: String
}
type BqDestinationTable {
projectId: String
datasetId: String
tableId: String
}
type BqQuery {
query: String
writeDisposition: String
priority: String
useLegacySql: Boolean
destinationTable: BqDestinationTable
}
type BqConfiguration {
jobType: String
query: BqQuery
}
type BqJobMeta {
kind: String
etag: String
id: String
selfLink: String
user_email: String
status: BqStatus
statistics: BqStatistics
jobReference: BqJobReference
configuration: BqConfiguration
}
FAQs
Generate a GraphQL Schema Definition from the Result of a Google BigQuery Query
We found that bigqueryquery-to-graphql-schema demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.