写 python脚本 报了错误, 从Hologres外部表 分批拉取数据写入holo内部表里面 ,报这个错误 ,怎么解决? psycopg2.errors.ReadingSqlDataNotPermittedExt: check permission for foreign table scan failed: failed to check permission:MaxCompute error,Authorization Failed [4002], You don't exist in project hehe_data_dev. Context ID:4bedd937-a7bb-454c-9e7c-d09d67cfd930. --->Tips: Pricipal:RAM$hehegongsi2@rd-oibw8m.aliyunid.com:dmp-rt-dw; You don't exist in project hehe_data_dev
异常原因: 这个报错信息表明由于当前账号不具备MaxCompute表的查询(Select)权限。 解决方案: 请联系MaxCompute管理员在MaxCompute中授予当前账号权限。此回答整理自钉群“实时数仓Hologres交流群”
问题现象
自定义账号访问MaxCompute外部表时出现如下报错。
ERROR: Query:[xxxxxx] Build desc failed: failed to check permission: Authorization Failed [4002], You don't exist in project hologres_test. Context ID:xxxxxx-xxxx-xxxx-xxxx-xxxxxxx. --->Tips: Pricipal:INVALID$BASIC$xxx; You don't exist in project xxx
问题原因
创建的自定义账号仅存在Hologres内部,所以默认情况下无法访问MaxCompute外部表。
解决方法
请在Hologres中创建User Mapping,即将一个自定义账号绑定至一个拥有MaxCompute对应项目和Hologres内部表数据权限的阿里云RAM账号。
语法示例
CREATE USER MAPPING
FOR ""
SERVER odps_server
OPTIONS
(
access_id '',
access_key ''
);
参考文档https://help.aliyun.com/zh/hologres/user-guide/manage-users?spm=a2c4g.11186623.0.i49
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975