个人做短视频网站,有没有免费做编辑网站管理系统,安徽网站推广系统,做电销要在哪个网站上找资源摘要#xff1a; 使用 odps console 的同学#xff0c;可能都使用过 odps 安全相关的命令。
转自zhenhong
使用 MaxCompute console 的同学#xff0c;可能都使用过 odps 安全相关的命令。官方文档上有详细的 odps 安全指南#xff0c;并给出了安全相关命令列表。
简而言之…摘要 使用 odps console 的同学可能都使用过 odps 安全相关的命令。
转自zhenhong
使用 MaxCompute console 的同学可能都使用过 odps 安全相关的命令。官方文档上有详细的 odps 安全指南并给出了安全相关命令列表。
简而言之权限管理、项目空间安全配置以及用户及授权管理都属于 odps 安全命令相关的范畴。
再直白一点以下列关键字开头的命令都是 odps 安全相关操作命令
GRANT/REVOKE ...
SHOW GRANTS/ACL/PACKAGE/LABEL/ROLE/PRINCIPALS
SHOW PRIV/PRIVILEGES
LIST/ADD/REOVE USERS/ROLES/TRUSTEDPROJECTS
DROP/CREATE ROLE
CLEAR EXPIRED GRANTS
DESC/DESCRIBE ROLE/PACKAGE
CREATE/DELETE/DROP PACKAGE
ADD ... TO PACKAGE
REMOVE ... FROM PACKAGE
ALLOW/DISALLOW PROJECT
INSTALL/UNINSTALL PACKAGE
LIST/ADD/REMOVE ACCOUNTPROVIDERS
SET LABLE ...
那么这些能在 odps console 上运行的命令该如何使用 odps sdk 运行呢它们是与 sql 一样通过创建 instance 的方式来运行吗
不可以这些命令不是 sql 不可以通过 sql task 来运行。 需要使用接口 SecurityManager.runQuery() 来运行。详细 javadoc 戳这里
SecurityManager 类在 odps-sdk-core 中因此在使用时请添加依赖
dependencygroupIdcom.aliyun.odps/groupIdartifactIdodps-sdk-core/artifactIdversion0.23.3-public/version
/dependency
下面通过一个例子来演示如何通过 odps java sdk 来设置表 test_label 列的访问级别为 2也就是运行命令SET LABEL 2 TO TABLE test_label(key, value);。
import com.aliyun.odps.Column;
import com.aliyun.odps.Odps;
import com.aliyun.odps.OdpsException;
import com.aliyun.odps.OdpsType;
import com.aliyun.odps.TableSchema;
import com.aliyun.odps.account.Account;
import com.aliyun.odps.account.AliyunAccount;
import com.aliyun.odps.security.SecurityManager;public class test {public static void main(String [] args) throws OdpsException {try {// init odpsAccount account new AliyunAccount(your_accessid, your_accesskey);Odps odps new Odps(account);odps.setEndpoint(http://service-corp.odps.aliyun-inc.com/api);odps.setDefaultProject(your_project);// create test table// if u already have a table, skip thisTableSchema schema new TableSchema();schema.addColumn(new Column(key, OdpsType.STRING));schema.addColumn(new Column(value, OdpsType.BIGINT));odps.tables().create(test_label, schema);// set label 2 to table columnsSecurityManager securityManager odps.projects().get().getSecurityManager();String res securityManager.runQuery(SET LABEL 2 TO TABLE test_label(key, value);, false);System.out.println(res);} catch (OdpsException e) {e.printStackTrace();}}
}
运行结果
程序运行完成后在 odps console 中运行 desc test_lable; 命令可以看到 set label 已经生效了。其他安全相关的命令都可以这样子通过 odps sdk 来运行呢快来试试吧
原文链接 干货好文请关注扫描以下二维码