
# 开发注意事项
- Aura提供了三种注册UDF的方式：[ibis-aura SDK显式注册、隐式注册](https://support.huaweicloud.com/sqlref-aura-aidatalake/aidatalake_061_0104.html#aidatalake_061_0104__zh-cn_topic_0000002530001292_section9860366564)以及[SQL的DDL注册](https://support.huaweicloud.com/sqlref-aura-aidatalake/aidatalake_061_0221.html)，推荐用户使用ibis-aura sdk显式注册，该方式有以下两个优势：
  - SDK提供的注册接口已完全遵守Aura DDL的使用规范，只要正确调用接口即可，能避免违反约束规范而导致UDF不能正常使用的问题。
  
  - SDK提供了更多的约束检查，例如Python版本的检测，自动整理UDF代码包等。
   
- Python UDF的三方依赖包列表需要保证lib间的兼容性，并建议所有依赖包指定稳定的版本。用户本地调试UDF时，建议使用华为源所提供的三方包来搭建调试环境，以避免UDF代码在本地环境可运行，而在Aura里运行时出现版本无法安装、版本不兼容等问题。
- 用户在准备压缩包，使用CLOUDPICKLE序列化主函数时，确保本地Python版本为3.11.9且cloudpickle版本为3.0.0，以避免Aura运行环境里因为版本不一致导致函数体解析失败的问题。
- 用户只能使用OBS并行文件系统的桶，来存储UDF代码压缩包，且需要在LakeFormation上赋予IAM用户读的权限。
 
