# Catalog SDK概述
本文为您介绍 AI DataLake服务Catalog模块提供的Python SDK，并列举SDK的获取方式以及SDK的使用说明。
#### Catalog SDK简介
SDK全称为 Software Development Kit，即软件开发工具包。它是一种为开发者提供的软件开发工具集合，包含了一系列的API、工具、示例代码、文档等资源，可以帮助开发者快速、高效地开发出各种应用程序。
AI DataLake Catalog Python SDK对LakeFormation与OBS（对象存储服务）的REST API进行封装，以简化UDF（用户自定义函数）的注册与管理开发工作，用于满足客户有UDF管理和使用分离的场景，该SDK注册的Python UDF可用于AI DataLake内部的Aura引擎使用。SDK以访问密钥（AccessKey）识别调用者身份，提供自动签名、类型推断、UDF打包上传、元数据注册等能力，方便您通过统一客户端提交和管理标量UDF（udf）、表函数（udtf）、聚合函数（udaf）以及Data-Juicer算子。
SDK核心入口为AIDatalake_Catalog_Client，封装以下能力：
- LakeFormation REST API调用（函数CRUD）。
- OBS上传/删除UDF包。
- 基于可调用对象注解的类型推断。
- 将UDF打包为zip文件并上传。
 
#### 功能特性
表1**SDK能力列表** 
| 能力              | 对应方法                       | 说明                                         |
|:---|:---|:---|
| 注册标量UDF         | create_udf                 | 将标量函数注册到LakeFormation，逐行处理输入列。             |
| 注册表函数UDTF       | create_udtf                | 将表函数注册到LakeFormation，可一次输入返回多行多列。          |
| 注册聚合函数UDAF      | create_udaf                | 将聚合函数注册到LakeFormation，对多行数据进行聚合。           |
| 注册Data-Juicer算子 | create_datajuicer_operator | 将Data-Juicer的Filter/Mapper算子自动适配为标量UDF并注册。 |
| 查询函数            | get_function               | 按名称从LakeFormation获取函数元数据。                  |
| 查询函数列表          | list_function              | 列出指定数据库下的全部函数。                             |
| 删除函数            | delete_function            | 删除LakeFormation函数记录并清理其OBS包。               |
   
