项目管理
概览
项目管理包含两个核心类:Projects
(项目集合管理器)和Project
(项目实体)。
Projects
类提供项目级的增删改查操作,Project
类封装单个项目的属性和行为。二者共同构成项目管理的正交体系,支持托管项目和外部数据源项目的统一管理。
Projects 类
作为项目集合的入口控制器,负责:
- 项目生命周期管理(创建/删除/更新)
- 项目查询与过滤
- 跨项目操作协调
- 资源分配调度
方法
获取项目
public Project get() throws OdpsException
public Project get(String projectName) throws OdpsException
- 提示
Project
对象实现了LazyLoad
接口,在首次调用时加载项目属性,调用 get 方法不会加载完整项目属性。 高频调用建议配合缓存机制,根据endpoint
和projectName
缓存Project
对象,并按需通过Project.reload
方法手动重新加载。
判断项目是否存在
public boolean exists(String projectName) throws OdpsException
遍历项目
快捷遍历方法
// 按Owner遍历
public Iterator<Project> iterator(String owner)
// 获取Iterable接口(支持foreach语法)
public Iterable<Project> iterable(String owner)
过滤查询接口
public Iterator<Project> iteratorByFilter(ProjectFilter filter)
通过ProjectFilter
实现多条件过滤查询
过滤条件参数
public class ProjectFilter {
// 基础过滤条件
private String owner; // 项目所有者(精确匹配)
private String name; // 项目名称前缀匹配
private String user; // 项目使用者
private String groupName; // 项目组名称
private String tenantId; // 租户ID
private String regionId; // 地域ID
// 高级过滤条件
private String quotaNickname; // 配额别名
private String quotaType; // 配额类型
private String quotaName; // 配额名称
private Boolean enableDr; // 是否开启存储容灾
}
创建项目
public void create(CreateProjectParam param) throws OdpsException
参数构建器方法
方法 | 说明 | 是否必填 |
---|---|---|
name(String) | 项目名称(2-64字符) | ✅ |
owner(String) | 项目所有者 | ✅ |
defaultCluster(String) | 默认计算集群 | ✅ |
comment(String) | 项目描述 | ❌ |
superAdmin(String) | 超级管理员 | ❌ |
properties(Map) | 项目属性(覆盖设置) | ❌ |
appendProperty(String, String) | 追加属性 | ❌ |
groupName(String) | 项目组名称 | ❌ |
defaultQuotaId(String) | 默认计算配额ID | ❌ |
defaultCtrlService(String) | 默认控制服务地址 | ❌ |