简而言之,权限管理、列级别访问控制、项目空间安全配置以及跨项目空间的资源分享都属于 MaxCompute 安全命令相关的范畴。
再直白一点,以下列关键字开头的命令,都是MaxCompute安全相关操作命令:

那么,这些能在
MaxCompute Console
上运行的命令,该如何使用
MaxCompute Java SDK
运行呢?它们是与 SQL 一样通过创建 instance 的方式来运行吗?
答案:不可以,这些命令不是 SQL , 不可以通过 SQL Task 来运行。
需要使用接口
SecurityManager.runQuery()
来运行。详细 SDK Java Doc 戳这里
SecurityManager
类在 odps-sdk-core 中,因此在使用时请添加依赖:

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


运行结果:

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

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