DataForm中Carto BigQuery外部资源权限报错但脚本可正常运行
DataForm里Carto权限报错的解决思路
问题详情
Access Denied: BigQuery BigQuery: Error getting metadata for external code resource, please verify you have provided a valid path and/or that you have access to the resource: gs://my-carto-project-name/carto/libs/carto_analytics_toolbox.js.
脚本实际能正常运行,但这个报错一直卡在DataForm编辑器里,阻碍调试工作。怀疑问题和Carto项目/数据集位置字符串的使用方式有关。
当前使用的代码:
`${main_config.CARTO_PROJECT_ID}`.carto.H3_FROMGEOGPOINT(start_point, 12)
编译后的查询语句:
`my-carto-project-name`.carto.H3_FROMGEOGPOINT(start_point, 12)
排查解决要点
- 编辑器与运行环境权限不匹配:脚本执行用的是BigQuery执行账号权限,但编辑器做代码校验时,可能使用DataForm服务账号或本地配置账号——该账号无访问目标GCS存储桶文件的权限。给对应账号添加GCS存储桶的
storage.objects.get权限即可。 - 调整Carto函数引用方式:避免动态拼接项目ID,改用Carto官方标准引用格式。比如使用
carto-unified数据集内的函数,或通过Carto提供的DataForm集成工具引入分析工具库,不要手动拼接项目ID。 - 清除编辑器缓存:编辑器可能缓存了旧的权限校验结果,尝试重启编辑器、刷新页面或重新同步项目配置,大概率能清除报错。
- 核对存储桶路径正确性:确认
gs://my-carto-project-name/carto/libs/carto_analytics_toolbox.js路径真实存在,检查项目ID的大小写、特殊字符是否与实际存储桶一致。
内容的提问来源于stack exchange,提问作者aclong
相关产品推荐
相关产品推荐

