Download the PHP package keboola/storage-driver-bigquery without Composer
On this page you can find all versions of the php package keboola/storage-driver-bigquery. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download keboola/storage-driver-bigquery
More information about keboola/storage-driver-bigquery
Files in keboola/storage-driver-bigquery
Package storage-driver-bigquery
Short Description Keboola BigQuery driver
License MIT
Informations about the package storage-driver-bigquery
Keboola Storage Driver Big Query
Keboola high level storage backend driver for Big Query
Install dependencies.
Setup Big Query
Install Google Cloud client (via Brew), initialize it and log in to generate default credentials.
To prepare the backend use Terraform template. Create a sub folder in the KBC Team Dev (id: 431160969986) folder and fill the folder into the terraform command.
- get missing pieces (organization_id and billing_id) from Connection repository.
- (optional) move
bq-storage-backend-init.tf
out of project directory so new files would be out of git - Run
terraform init
- Run
terraform apply -var folder_id=[folder_id] -var billing_account_id=[billing_id] -var backend_prefix=<your prefix, eg. kbc-js> -var file_storage_backend_region=<desired region>
(e.g. us-central1 region)- Optionally set
terraform.tfvars
file with variables there is predefinedterraform.tfvars.dist
file
- Optionally set
- New key files was created
principal_key.json
andbig_query_key.json
- Set envs from the
principal_key.json
andbig_query_key.json
by runningphp SetBQVars.php
and stop. OR continue with following steps with manual extraction. - open
principal_key.json
set content ofprivate_key
as variableBQ_SECRET
and remove (the whole entry) it from json file- note: simply cut&paste it whole even with the quotes and new lines -> your .env will be like
BQ_SECRET="-----BEGIN PRIVATE KEY-----XXXXZQ==\n-----END PRIVATE KEY-----\n"
- note: simply cut&paste it whole even with the quotes and new lines -> your .env will be like
- remove line breaks from the rest of key file (without
private_key
entry) and set this string as variableBQ_PRINCIPAL
to.env
- You can convert the key to string with
awk -v RS= '{$1=$1}1' principal_key.json
- You can convert the key to string with
- remove line breaks from the
big_query_key.json
key file and set this string as variableBQ_KEY_FILE
to.env
- You can convert the key to string with
awk -v RS= '{$1=$1}1' big_query_key.json
- You can convert the key to string with
At the end, your .env
file should look like...
All done. Now you can try composer loadGcs
script and run tests.
Build docker images
Xdebug
To run with xdebug use dev-xdebug
container instead of dev
Tests
Run tests with following command.
To disable retry copy phpunit-retry.xml.dist
Code quality check
Full CI workflow
This command will run all checks and run tests
Using
Project ID: A globally unique identifier for your project. This lib creating project id as combinations of stackPrefix
and projectId
from CreateProjectCommand
A project ID is a unique string used to differentiate your project from all others in Google Cloud. You can use the Google Cloud console to generate a project ID, or you can choose your own. You can only modify the project ID when you're creating the project.
Project ID requirements:
- Must be 6 to 30 characters in length.
- Can only contain lowercase letters, numbers, and hyphens.
- Must start with a letter.
- Cannot end with a hyphen.
- Cannot be in use or previously used; this includes deleted projects.
- Cannot contain restricted strings, such as
google
andssl
.
License
MIT licensed, see LICENSE file.
All versions of storage-driver-bigquery with dependencies
google/protobuf Version ^3.21
keboola/php-file-storage-utils Version ^0.2.5
ext-json Version *
keboola/storage-driver-common Version ^6.9
google/cloud-resource-manager Version ^0.6.1
google/cloud-service-usage Version ^0.2.7
google/apiclient Version ^2.12.1
google/cloud-bigquery Version ^1.23
google/cloud-billing Version ^1.4
google/apiclient-services Version 0.282.0
keboola/table-backend-utils Version >=2.8.0
react/async Version ^3.0
keboola/db-import-export Version >=2.7.0
symfony/polyfill-php80 Version ^1.26
keboola/retry Version ^0.5.1
google/cloud-bigquery-analyticshub Version ^0.1.0
psr/log Version ^1.1|^2.0|^3.0