這篇文章將為大家詳細講解有關怎么使用MaxCompute Java SDK運行安全相關命令,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
創(chuàng)新互聯(lián)主營沈北新網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,重慶App定制開發(fā),沈北新h5微信平臺小程序開發(fā)搭建,沈北新網(wǎng)站營銷推廣歡迎沈北新等地區(qū)企業(yè)咨詢
使用MaxCompute Console的同學,可能都使用過MaxCompute安全相關的命令。官方文檔上有詳細的MaxCompute 安全指南 ,并給出了安全相關語句匯總 。
簡而言之, 權限管理 、 列級別訪問控制 、 項目空間安全配置 以及 跨項目空間的資源分享 都屬于 MaxCompute 安全命令相關的范疇。
再直白一點,以下列關鍵字開頭的命令,都是MaxCompute安全相關操作命令:
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 ...
那么,這些能在 MaxCompute Console 上運行的命令,該如何使用 MaxCompute Java SDK 運行呢?它們是與 SQL 一樣通過創(chuàng)建 instance 的方式來運行嗎?
答案:不可以,這些命令不是 SQL , 不可以通過 SQL Task 來運行。
需要使用接口 SecurityManager.runQuery()
來運行
。
詳細 SDK Java Doc 戳這里
SecurityManager
類在 odps-sdk-core 中,因此在使用時請?zhí)砑右蕾嚕?/p>
<dependency> <groupId>com.aliyun.odps</groupId> <artifactId>odps-sdk-core</artifactId> <version>0.29.11-oversea-public</version> </dependency>
下面通過一個例子來演示如何通過 MaxCompute 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 odps Account 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 this TableSchema 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 columns SecurityManager 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(); } } }
運行結(jié)果:
程序運行完成后,在 MaxCompute Console 中運行 `desc test_lable;` 命令,可以看到 set label 已經(jīng)生效了。
關于怎么使用MaxCompute Java SDK運行安全相關命令就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
當前名稱:怎么使用MaxComputeJavaSDK運行安全相關命令
文章地址:http://chinadenli.net/article28/gdojjp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、手機網(wǎng)站建設、網(wǎng)站導航、軟件開發(fā)、網(wǎng)站建設、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)