用途:从已就绪的 PyFlink 代码创建 Python 部署,完成产物上传、部署配置填写并验证保存结果。SQL 或已有部署的启动、停止、更新、状态、日志、指标、删除等操作不在本技能范围,应使用 alibabacloud-flink-workspace-ops;代码开发属于 alibabacloud-flink-python-coding。
环境准备:需 Aliyun CLI >= 3.3.3,可用 aliyun version 校验;首次安装或大版本升级执行 /bin/bash -c "$(curl -fsSL --connect-timeout 10 --max-time 120 https://aliyuncli.alicdn.com/setup.sh)",CLI >= 3.3.5 时可用 aliyun upgrade。Python SDK 依赖:pip3 install alibabacloud_tea_openapi alibabacloud_credentials alibabacloud_tea_util alibabacloud_openapi_util 'alibabacloud_foasconsole20211028==2.2.1'。
认证与权限:可通过环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID 与 ALIBABA_CLOUD_ACCESS_KEY_SECRET 提供凭证,禁止读取、回显或打印 AK/SK,禁止在对话或命令行输入明文凭证,仅用 aliyun configure list 检查凭证状态。所需 RAM 权限包括 stream:DescribeVvpInstances、stream:CreateDeployment、stream:GetDeployment、stream:ListEngineVersionMetadata,以及对用户自管 OSS 的 oss:PutObject、oss:GetObject、oss:ListObjects;权限失败时查阅 references/ram-policies.md 并使用 ram-permission-diagnose 引导申请权限。
创建部署:需先明确 region、workspace 和 namespace,三者缺一即暂停等待。按存储路由发现绑定存储与控制台 URL,上传主产物与依赖并校验文件名和大小。可用 scripts/flink_python_submit.py create-deployment --help 查看参数;将解析出的创建参数(含默认值)一并展示并获批准后再创建。创建后用 get-deployment 回读,比对 Python 产物、依赖、引擎、队列、资源与 flinkConf,返回部署 ID、位置及 VVP 配置链接。
CLI 初始化:每次调用生成新的 32 位小写十六进制会话 ID 并全程复用;首个云 API 调用前读取 manifest.json 并校验 version 为非空无空白字符串,缺失或非法即停止报告。首次非版本类 aliyun 命令前执行 aliyun configure set --auto-plugin-install true 与 aliyun plugin update,云 OpenAPI CLI 命令需带 --user-agent 'AlibabaCloud-Agent-Skills/alibabacloud-flink-python-job-submission/{session-id} skill-version/{version}',SDK 脚本通过环境变量 SKILL_SESSION_ID 传入同一会话 ID。限制:创建完成以保存配置匹配为准,运行时状态不属于本工作流;区域、工作区、命名空间等信息缺失时需用户补充,资料未提供其他收费或平台细节。