
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该容器用于将Python函数部署到Cognite Functions,并支持可选的调度配置。适用于自动化部署流程,可集成到CI/CD管道中。Azure Pipelines示例仓库:https://github.com/cognitedata/functions-deploy-azure-pipelines
所有参数通过执行python /app/index.py时设置为环境变量。
必填参数
INPUT_FUNCTION_EXTERNAL_ID: 函数的external_id,项目内需唯一,若已存在则覆盖现有函数INPUT_FUNCTION_FOLDER: 函数代码的父文件夹,该文件夹内所有内容将被上传INPUT_CDF_PROJECT: CDF项目名称INPUT_CDF_CLUSTER: CDF项目所在集群,如westeurope-1或greenfieldINPUT_DEPLOYMENT_CLIENT_SECRET: 用于函数部署的客户端密钥INPUT_DEPLOYMENT_CLIENT_ID: 用于函数部署的客户端IDINPUT_DEPLOYMENT_TENANT_ID: 用于函数部署的租户ID附加调度时必填参数
INPUT_SCHEDULE_FILE: 位于function_folder内的调度文件路径,包含要附加到函数的调度列表。若文件存在,则以下参数为必填:INPUT_SCHEDULES_CLIENT_SECRET: 函数调度运行时使用的客户端密钥(仅用于调度执行,正常调用仍使用调用者凭证)INPUT_SCHEDULES_CLIENT_ID: 函数调度运行时使用的客户端IDINPUT_SCHEDULES_TENANT_ID: 函数调度运行时使用的租户ID可选参数
所有可选参数的默认值可在src/defaults.py中查看:
INPUT_REMOVE_ONLY: 仅删除函数及所有附加调度,忽略其他大部分参数INPUT_COMMON_FOLDER: 包含函数间共享代码的文件夹路径INPUT_FUNCTION_FILE: 主函数文件名称,默认为handler.pyINPUT_FUNCTION_SECRETS: 存储base64编码的JSON密钥字典的Github密钥名称INPUT_FUNCTION_DEPLOY_TIMEOUT: 函数部署超时时间(秒),超时后将取消部署并尝试删除函数INPUT_DATA_SET_ID: 用于CDF中上传文件(函数代码压缩包)的数据集ID,需额外部署权限:'dataset:READ'和'files:WRITE'(作用于指定数据集或'all');若数据集为写保护,还需'dataset:OWNER'权限INPUT_POST_DEPLOY_CLEANUP: 部署成功后删除CDF Files中的代码文件对象,默认为trueINPUT_DESCRIPTION: 函数描述信息INPUT_OWNER: 函数所有者信息INPUT_CPU: 每个函数的CPU核心数(小数),Azure环境下忽略,允许值见API文档INPUT_MEMORY: 每个函数的内存大小(GB),Azure环境下忽略,允许值见API文档.yaml]调度文件需为YAML格式,示例如下:
yaml- name: 每日调度 cron: "0 0 * * *" data: lovely-parameter: True something-else: 42 - name: 每小时调度 cron: "0 * * * *" data: lovely-parameter: False something-else: 777 - name: 每小时调度 # 允许同名调度,也允许无data字段 cron: "0 * * * *"
Docker Run命令示例
bashdocker run -e INPUT_FUNCTION_EXTERNAL_ID="my-function" \ -e INPUT_FUNCTION_FOLDER="/app/function" \ -e INPUT_CDF_PROJECT="my-cdf-project" \ -e INPUT_CDF_CLUSTER="westeurope-1" \ -e INPUT_DEPLOYMENT_CLIENT_SECRET="deploy-secret" \ -e INPUT_DEPLOYMENT_CLIENT_ID="deploy-id" \ -e INPUT_DEPLOYMENT_TENANT_ID="deploy-tenant" \ -v /local/function/folder:/app/function \ cognite/functions-deploy:latest
带调度的部署示例
bashdocker run -e INPUT_FUNCTION_EXTERNAL_ID="scheduled-function" \ -e INPUT_FUNCTION_FOLDER="/app/function" \ -e INPUT_CDF_PROJECT="my-cdf-project" \ -e INPUT_CDF_CLUSTER="westeurope-1" \ -e INPUT_DEPLOYMENT_CLIENT_SECRET="deploy-secret" \ -e INPUT_DEPLOYMENT_CLIENT_ID="deploy-id" \ -e INPUT_DEPLOYMENT_TENANT_ID="deploy-tenant" \ -e INPUT_SCHEDULE_FILE="schedules.yaml" \ -e INPUT_SCHEDULES_CLIENT_SECRET="schedule-secret" \ -e INPUT_SCHEDULES_CLIENT_ID="schedule-id" \ -e INPUT_SCHEDULES_TENANT_ID="schedule-tenant" \ -v /local/function/folder:/app/function \ cognite/functions-deploy:latest
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务