資源提供方在MaxCompute專案中建立Package。
背景資訊
假設某個阿里雲帳號下有多個MaxCompute專案,其中專案A裡有一批表、資源檔、自訂函數需要分享給其他專案使用。通常您可以使用如下方法實現資源分享:
將其他專案中需要使用資源的使用者都添加到A專案,並逐個執行授權操作。但該方法比較繁瑣,不推薦在跨專案訪問資源情境下使用。僅當需要精細控制資源由單人使用,且申請人是本商務專案團隊成員時,建議使用該方式。更多授權文法資訊,請參見ACL許可權控制。
基於Package實現跨專案資源分享。
Package是一種跨專案共用資料及資源的機制。A專案的所有者對其他專案需要使用的資源進行打包(也就是建立Package),然後許可其他專案安裝此Package。其他專案的所有者安裝Package之後,就可以自行管理Package是否需要進一步授權給自己專案下的使用者。完整實現流程如下。
使用限制
Package的使用限制如下:
一個Package中最多可以包含1000個資源。
一個Package最多允許安裝至10萬個MaxCompute專案中。
一個MaxCompute專案最多可以從另外一個MaxCompute專案安裝100個Package。
一個MaxCompute專案最多可以建立10萬個Package。
一個MaxCompute專案最多可以安裝10萬個Package。
本命令為CMD命令,僅支援在用戶端(odpscmd)工具中運行。
命令格式
create package <package_name>;
參數說明
參數名稱 | 是否必填 | 說明 |
package_name | 是 | 指定Package的名稱,專案內唯一。可以包含字母、底線(_)或數字,但是不能以數字開頭。 您可以通過MaxCompute用戶端執行 |
使用樣本
假設Bob@aliyun.com是test_project_a的專案所有者,現需要允許其他專案訪問test_project_a中的部分資源。建立Package,命令樣本如下。
--Bob進入專案test_project_a。
use test_project_a;
--建立Package。
create package datashare;
相關命令
ADD TO PACKAGE:將資源使用方需要的資源添加至建立的Package中。
REMOVE FROM PACKAGE:刪除Package中已添加的資源。
ALLOW PROJECT:資源提供方授予其他專案使用Package的許可權。
DISALLOW PROJECT:資源提供方撤銷授予其他專案使用Package的許可權。
DESCRIBE PACKAGE:在MaxCompute專案中查看已建立的Package詳細資料
DROP PACKAGE:刪除已建立的Package。
INSTALL PACKAGE:在目標MaxCompute專案中安裝Package。
UNINSTALL PACKAGE:為目標MaxCompute專案卸載已安裝的Package。
GRANT:為使用者或角色授予訪問Package的許可權。
REVOKE:撤銷為使用者或角色授予的訪問Package的許可權。
SHOW:在MaxCompute專案中查看已建立或已安裝的Package列表。