{"record":{"id":"8a7ee14810769587","repo":"cube-js/cube","slug":"unsupported-configuration-exportbucket-some-confi-8a7ee1","errorCode":null,"errorMessage":"Unsupported configuration exportBucket, some configuration keys are empty: ${keysToValidate.join(',')}","messagePattern":"Unsupported configuration exportBucket, some configuration keys are empty: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/cubejs-snowflake-driver/src/SnowflakeDriver.ts","lineNumber":378,"sourceCode":"  ): SnowflakeDriverExportBucket | undefined {\n    const bucketType = getEnv('dbExportBucketType', {\n      dataSource,\n      preAggregations,\n      supported: SUPPORTED_BUCKET_TYPES,\n    });\n    if (bucketType) {\n      const exportBucket = this.createExportBucket(\n        dataSource,\n        bucketType,\n        preAggregations,\n      );\n\n      const emptyKeys = Object.keys(exportBucket)\n        .filter((key: string) => exportBucket[<keyof SnowflakeDriverExportBucket>key] === undefined);\n      const keysToValidate = this.getRequiredExportBucketKeys(exportBucket, emptyKeys);\n\n      if (keysToValidate.length) {\n        throw new Error(\n          `Unsupported configuration exportBucket, some configuration keys are empty: ${keysToValidate.join(',')}`\n        );\n      }\n\n      return exportBucket;\n    }\n\n    return undefined;\n  }\n\n  private async readOAuthToken() {\n    const tokenPath = this.config.oauthTokenPath || '/snowflake/session/token';\n\n    try {\n      await fs.access(tokenPath);\n    } catch (error) {\n      throw new Error(`File ${tokenPath} provided by CUBEJS_DB_SNOWFLAKE_OAUTH_TOKEN_PATH does not exist.`);\n    }","sourceCodeStart":360,"sourceCodeEnd":396,"githubUrl":"https://github.com/cube-js/cube/blob/7d981676b36392fec34088b9afab6bdcad40207c/packages/cubejs-snowflake-driver/src/SnowflakeDriver.ts#L360-L396","documentation":"Thrown from getExportBucket during SnowflakeDriver construction when an export bucket is configured (CUBEJS_DB_EXPORT_BUCKET_TYPE is set) but required keys of the resulting exportBucket config resolve to undefined. The empty keys are collected and joined into the message, so the names after the colon list exactly which configuration values are missing.","triggerScenarios":"Thrown at packages/cubejs-snowflake-driver/src/SnowflakeDriver.ts:378 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the comma-separated key names in the message and set the corresponding CUBEJS_DB_EXPORT_BUCKET_* environment variables (e.g. name, region, credentials)","For S3-style buckets provide CUBEJS_DB_EXPORT_BUCKET_NAME, CUBEJS_DB_EXPORT_BUCKET_AWS_KEY, CUBEJS_DB_EXPORT_BUCKET_AWS_SECRET, and CUBEJS_DB_EXPORT_BUCKET_REGION","For GCS-style buckets provide CUBEJS_DB_EXPORT_BUCKET_NAME and CUBEJS_DB_EXPORT_BUCKET_GCS_KEY","Verify the values are not empty strings and that getEnv resolves them for the same dataSource/preAggregations context"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7d981676b36392fec34088b9afab6bdcad40207c","analyzedAt":"2026-09-02T03:45:10.400Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}