转自zhenhong

使用 MaxCompute console 的同学,可能都使用过 odps 安全相关的命令。官方文档上有详细的 odps 安全指南,并给出了安全相关命令列表。

简而言之,权限管理、项目空间安全配置以及用户及授权管理都属于 odps 安全命令相关的范畴。

再直白一点,以下列关键字开头的命令,都是 odps 安全相关操作命令:

使用 MaxCompute(原ODPS) java sdk 运行安全相关命令

那么,这些能在 odps console 上运行的命令,该如何使用 odps sdk 运行呢?它们是与 sql 一样通过创建 instance 的方式来运行吗?

不可以,这些命令不是 sql , 不可以通过 sql task 来运行。
需要使用接口 SecurityManager.runQuery() 来运行。详细 javadoc 戳这里

SecurityManager 类在 odps-sdk-core 中,因此在使用时请添加依赖:

使用 MaxCompute(原ODPS) java sdk 运行安全相关命令

下面通过一个例子来演示如何通过 odps java sdk 来设置表 test_label 列的访问级别为 2,也就是运行命令SET LABEL 2 TO TABLE test_label(key, value);

使用 MaxCompute(原ODPS) java sdk 运行安全相关命令

运行结果:
使用 MaxCompute(原ODPS) java sdk 运行安全相关命令

程序运行完成后,在 odps console 中运行 `desc test_lable;` 命令,可以看到 set label 已经生效了。

使用 MaxCompute(原ODPS) java sdk 运行安全相关命令

其他安全相关的命令,都可以这样子通过 odps sdk 来运行呢,快来试试吧!

原文:https://yq.aliyun.com/articles/62331?spm=a2c41.11181499.0.0

相关文章: