You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求Dataiku API部署自定义Python函数时DKU_CURRENT_PROJECT_KEY未指定错误的分步解决指南

请求Dataiku API部署自定义Python函数时DKU_CURRENT_PROJECT_KEY未指定错误的分步解决指南

我明白你遇到的这个错误——当在Dataiku API Designer里部署Python函数服务时,因为运行环境没有关联到具体项目,导致调用Folder或Dataset时找不到上下文。下面是一步步解决的详细指南,帮你搞定这个问题:

1. 先找到你的Dataiku项目Key

首先你需要明确自己项目的唯一Key,操作方式:

  • 打开你的Dataiku项目,进入项目主页
  • 右上角的项目名称旁边,或者进入项目设置 > 常规标签页,就能看到项目Key(通常是一串大写字母+数字的组合,比如MY_RECOMMENDER_PROJECT)
  • 把这个Key记下来,后面会用到

2. 给API服务添加环境变量

API服务的运行环境默认没有设置项目Key,我们手动添加这个环境变量:

  • 进入API Designer,找到你创建的那个Python函数服务
  • 切换到**Settings(设置)**标签页
  • 找到**Environment variables(环境变量)**区域,点击"Add variable"
  • 填写:
    • 变量名:DKU_CURRENT_PROJECT_KEY
    • 变量值:你刚才记录的项目Key
  • 保存设置

3. 优化代码(可选但更稳妥)

即使设置了环境变量,直接通过名称调用Folder/Dataset偶尔还是会有上下文问题,建议在代码里明确指定项目Key,这样更可靠:
修改你的load_data函数,在初始化Folder和Dataset时添加项目Key参数:

def load_data():
    project_key = "你的项目Key"  # 替换成你实际的项目Key
    folder_name="Recommender"
    
    # 明确指定项目Key初始化Managed Folder
    managed_folder = dataiku.Folder(folder_name, project_key=project_key)
    
    # Cosine Similarity Matrix laden
    with managed_folder.get_download_stream("cosine_similarity.pkl") as stream:
        cosine_sim = pickle.load(stream)
    
    # 明确指定项目Key初始化Dataset
    sachnummer = dataiku.Dataset("prep", project_key=project_key)
    df = sachnummer.get_dataframe()
    df.drop(['1', '2'], axis=1, inplace=True)
    
    return cosine_sim, df

4. 检查API服务的权限

确保API服务有访问项目、Folder和Dataset的权限:

  • 在API服务的**Permissions(权限)**标签页
  • 点击"Add group/user",给服务分配项目的查看者或更高级的权限(至少需要能读取Folder和Dataset)
  • 保存权限设置

5. 重新测试API服务

回到API服务的**Test(测试)**标签页,输入测试字符串重新运行请求,这个DKU_CURRENT_PROJECT_KEY的错误应该就会消失了。

额外注意事项

  • 请确保代码里的Folder名称Recommender、Dataset名称prep和Dataiku里的实际名称完全匹配(Dataiku对名称大小写敏感)
  • 如果还是有问题,可以检查Managed Folder里的cosine_similarity.pkl文件是否存在,路径是否正确

备注:内容来源于stack exchange,提问作者Veli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 11:03:03