資源提供方在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列表。