cube-js / cube

📊 Cube — The Semantic Layer for Building Data Applications
https://cube.dev
Other
17.81k stars 1.76k forks source link

Cubestore - ADD Snowflake Storage Integration to Access Amazon S3 #5472

Open kandji-alex opened 1 year ago

kandji-alex commented 1 year ago

Is your feature request related to a problem? Please describe. This is barely documented at all, but it seems Snowflake driver's S3 Export Bucket functionality currently works by:

  1. Creating temp pre-agg tables in Snowflake (with CREATE commands)
  2. Using a Snowflake COPY command to move this temp data into the S3 bucket you've specified in the CUBEJSEXPORT and CUBESTORE env variables, including the access key/secret.

This is not the ideal way to integrate Snowflake with S3. Snowflake has a concept of an S3 Storage Integration.

Describe the solution you'd like Users should be allowed to set this up and specify their integration, rather than need to pass the access key/secret from Cube to Snowflake. There are many preferred ways to access an S3 bucket from a certain place (for example, EKS where Cube may be running), and the underlying Rust-AWS-auth lib seems to already support them.

Matter of fact, this Snowflake integration seems to have already been added for GCP buckets.

Describe alternatives you've considered No workarounds that are secure.

github-actions[bot] commented 1 year ago

If you are interested in working on this issue, please leave a comment below and we will be happy to assign the issue to you. If this is the first time you are contributing a Pull Request to Cube.js, please check our contribution guidelines. You can also post any questions while contributing in the #contributors channel in the Cube.js Slack.