全部文档
文档中心Python 2.0 脚本操作管理 Python 脚本

管理 Python 脚本


本篇文章将向你详细讲解如何创建并配置 Python 脚本。

  • 拥有一个先胜云系统管理员账号,拥有对 Python 组件 2.0 的全部操作权限。

  • 拥有一个先胜云管理员账号,由系统管理员授权拥有对 Python 组件 2.0 的操作权限。

登录先胜云平台,选择目标企业 > 目标应用,进入 元素管理 页面,点击右上角的 + 新建,选择 Python脚本2.0 即可打开 python 元素的编辑页面。

Python 组件提供逐个创建 Python 脚本和批量创建两种方式。

单个 Python 脚本创建有如下两种方式:

  • 使用在线编辑器创建

  • 从本地文件创建

python 元素的编辑页面包含一个简单的在线编辑器,提供基础的关键词联想和语法高亮功能。 用户可以直接在编辑器中输入 python 代码。


点击元素编辑页面左上角的齿轮 图标,弹出 Python 元素的属性设置页面。 这里可以勾选 从脚本创建文件,点击上传文件,文件内容将以覆盖方式读取到编辑器中。 编辑器中的内容还可以继续编辑。

如果保存时 Python 元素没有命名(编码为空),编码将自动命名为所上传的文件名。


当编辑器中的内容发生变化时,可以点击右上角的 保存 按钮,将 Python 文件保存至平台。

在弹出的保存对话框中,输入编码(即 Python 文件名,最终服务器中生成的 Python 文件全名为:编码.py), 选择保存位置,也可以为元素添加对应的多语言描述。 点击 确定,即可完成文件保存。

批量上传功能可以将较复杂的 Python 工程一次性同步至平台。

在打开的 Python 元素编辑页面中,点击右上角 批量上传,在弹出的对话框中选择打包好的 .zip 文件或者单个 .py 文件, 点击 上传 即可将元素上传至当前目录(点击新建 Python 脚本 2.0 时元素管理器的所在目录)。


上传时,只会上传扩展名为.py的文件,在 批量上传 内会显示上传结果。


由于此次创建是在 根目录 下的操作,所以批量上传会上传至 根目录 下与压缩包命名一致的目录内,如不存在,则新建


目录内的文件结构与压缩包内的保持一致,其中的python文件会保存为 Python元素, 可以像在编辑界面创建的Python元素一样被其他组件的自定义接口等调用。


点击元素编辑页面左上角的 图标,弹出 Python 元素的属性设置页面。 左侧 Tab 页为 基本信息,右侧 Tab 页为 参数信息


填写 基本信息 ,填写完成以后点击属性设置其他区域,自动保存。


基本信息参数说明:

.. csv-table:: 基本信息属性栏字段说明 :header: 名称, 描述, 必填/选填, 备注 :widths: auto

名称, 输入框,只允许字母,数字,下划线,长度50, 必填, 元素的唯一标识,不可重复 名称(中文), 输入框, 选填, Python 脚本中文名称 名称(英文), 输入框, 选填, Python 脚本英文名称 记录执行日志, 开关, 默认开启, 若关闭,运行此脚本将不记录日志信息 从脚本文件创建, 复选框, 默认不选中, 可以选择从本地上传文件,并自动抓取内容到编辑器,选填

点击右侧 Tab 页,进入 参数配置 页面:


点击下方 添加参数 ,新增参数条目。鼠标在参数条目上悬浮时,参数右侧会出现设置和删除图标。

点击删除图标可以删除当前参数;点击参数右侧 图标则会出现 属性-新增属性 编辑界面,填写完成以后点击属性设置其他区域,自动保存。


.. csv-table:: 参数属性栏字段说明 :header: 名称, 描述, 必填/选填, 备注 :widths: auto

编码, 输入框, 必填, 参数属性编码,用于识别属性参数 描述(中文), 输入框, 选填, 参数属性中文名称 描述(英文), 输入框, 选填, 参数属性英文名称 字段类型, 下拉选择框, 必填, 选择参数的类型,默认文本 默认值, 输入框, 必填, 参数的默认值

脚本属性配置发生更改后,可以点击右上方 保存 按钮,如果是新建脚本,需要选择目录,如果是更新将会直接保存成功。

Python 组件 2.0 使用 celery 执行 Python 脚本,对于需要执行的 Python 文件,将会执行以下步骤:

  1. 导入该 Python 文件。

  2. 查找文件中的 main 函数。

  3. 解析 main 函数的签名。

    • main 函数只接收一个参数:传入业务参数

    • main 函数接受两个参数:顺次传入系统参数,业务参数

    • 其他情况,报错

  4. Python 加入任务队列等待运行(通常情况下将会立即运行)。

  5. 收集 main 函数返回值,运行期间的标准输出和标准错误。

.. note::

  • 系统参数,指的是Python组件运行时的环境信息,包含了当前用户和空间应用等信息,业务参数,是Python元素作为自定义脚本被绑定在其他组件上时,由组件传入的参数,内容由组件内的具体数据决定

  • 业务参数的数据结构样例参考,可见先胜云 SDK文档的业务参数数据结构描述部分,地址:http://py.deepfos.com/faq.html#id3

  • 如上两种 main 函数写法,只决定了在函数内是否需要获得系统参数,如无需,则以第一种写法即可。

因此,可以正确执行的 Python 脚本应该符合以下签名:

Copy
def main(p1, p2):
    # Your code goes here
    return
Copy
def main(para):
    # Your code goes here
    return

.. note::

  • 如果需要使用返回结果必须要有以下代码:return 变量名

    • 如果返回字符串类型,将不做处理直接返回。

    • 其他类型会转换成 json 类型,转换失败则返回字符串类型。

  • python 文件引用其他模块:支持使用相对引用和绝对引用模块,对于如下目录结构:

    .. code-block::

    Python ├── common | └── log.py └── main.py

    如果想在 main.py 文件中引用 common 目录下的 log 模块,可以

    • 相对引用:from .common import log

    • 绝对引用:from Python.common import log

符合要求的 Python 脚本可以正确运行。

  1. 点击 Python 元素编辑页面右上角的 运行 按钮。


  2. 进入 设置参数 界面,默认包含上文已配置的参数,也可以修改参数及其值。

  3. 可以点击 添加参数 为脚本添加运行参数,参数将以键值对格式作为 业务参数 传入 main 函数。


点击 同步运行 按钮,脚本将以同步方式运行,即编辑界面会等待脚本运行结束,并且将结果展示在页面中。


控制台 将显示运行脚本运行过程中标准输出的内容,错误信息 则展示运行脚本运行过程中标准错误的内容(一般包括警告信息和错误信息)。

  • 如果运行成功,将弹出 运行成功 的提示,并且函数返回值也将展示在此信息中。


  • 如果运行失败,将弹出 运行失败 的提示信息,并且错误栈也将打印在 错误信息 栏中。


点击 异步运行 按钮,则将脚本加入到运行队列,前台看不到该脚本的运行信息,需要通过 作业管理 查看当前任务的运行状态。

作业管理空间管理 界面中可以看到:


元素管理 界面中,找到需要删除的脚本,点击右侧 更多,选择 删除 按钮,点击后出现 确定删除 弹窗,点击确定后即可删除脚本。元素删除会同步平台服务器文件的删除。


回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send