このトピックでは、Alibaba Cloud Flink Agent Skills を使用して、主要な AI Agent プラットフォーム上で自然言語で Realtime Compute for Apache Flink のインスタンスとワークスペースを管理する方法を説明します。
スキルの概要
Realtime Compute for Apache Flink は、Alibaba Cloud Skill Hub で 3 つの Agent Skills を提供しています。これらのスキルは、インスタンスライフサイクル管理、ワークスペース操作、Flink エキスパートナレッジという 3 つのカテゴリの高頻度シナリオをカバーしています。統合後、Claude Code、OpenClaw、Qoder、Cursor、Gemini CLI など、Agent Skills プロトコルをサポートするクライアントで、自然言語を使用して Flink リソースの作成、クエリ、デプロイ、操作、トラブルシューティングを行うことができます。手動での OpenAPI の呼び出しやコンソール操作は不要です。
|
スキル名 |
シナリオ |
コア機能 |
|
インスタンスと名前空間のライフサイクル管理 |
利用可能なリージョンとゾーンのクエリ、インスタンスの作成、インスタンスステータスのクエリ、名前空間の作成とクエリ、リソースタグのクエリ |
|
|
日常的なワークスペース操作 |
SQL ドラフトの作成と検証、ジョブのデプロイと開始/停止、セッションクラスターのライフサイクル全体の管理、ジョブの診断、データテーブルのクエリ、メンバーと変数の管理 |
|
|
Flink エキスパートナレッジ |
製品パラメーターとバージョンのクエリ、課金情報のクエリ、Flink SQL の生成 (DDL、CDAS による全データベース同期、リスクコントロールシナリオ)、チェックポイントとセーブポイントの復元ガイダンス、ジョブのトラブルシューティング |
3 つのスキルはすべて、Alibaba Cloud の公式 Python SDK を介して Flink OpenAPI を直接呼び出します。デフォルトでは、認証情報は デフォルトの認証情報プロバイダーチェーン を介して読み込まれます。認証情報がコマンドライン引数として渡されることはありません。
コンソール内の AI インテリジェントアシスタントも、ドラフト開発、デプロイ管理、ジョブ診断などのシナリオをカバーする組み込みスキルを提供します。詳細については、「Intelligent Assistant」をご参照ください。
前提条件
Node.js と Python のインストール
スキルは npx skills CLI を通じてインストールされ、Node.js 18 以降が必要です。内部スクリプトは Python で実装されており、Python 3.6 以降が必要です。
node --version # 18 以上が必要
python3 --version # 3.6 以上が必要
インストールされていない場合は、お使いのオペレーティングシステムに応じたインストール方法を選択してください:
# macOS
brew install node python@3.9
# Ubuntu/Debian
sudo apt-get install nodejs npm python3 python3-pip
# CentOS/RHEL
sudo yum install nodejs python3 python3-pip
Alibaba Cloud 認証情報の設定
スキルは、デフォルトの認証情報プロバイダーチェーンを通じて Alibaba Cloud AccessKey の認証情報を取得します。環境変数を使用して認証情報を設定することを推奨します。これにより、コマンドラインやスクリプトに認証情報をハードコーディングすることを回避できます。
export ALIBABA_CLOUD_ACCESS_KEY_ID="your-access-key-id"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="your-access-key-secret"
export ALIBABA_CLOUD_REGION_ID="cn-beijing"
本番環境では、長期的な AccessKey の漏洩を防ぐために、RAM ロールまたは STS 一時認証情報を使用することを推奨します。
RAM 権限の準備
スキルが使用する RAM ユーザーに、必要最小限の権限を付与してください。Alibaba Cloud アカウントの AccessKey を直接使用しないでください。
alibabacloud-flink-instance-manage に必要な権限
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"stream:CreateVvpInstance",
"stream:DescribeVvpInstances",
"stream:CreateVvpNamespace",
"stream:DescribeVvpNamespaces",
"stream:QueryTagVvpResources"
],
"Resource": [
"acs:stream:*:*:vvpinstance/*",
"acs:stream:*:*:vvpinstance/*/vvpnamespace/*"
]
}
]
}
alibabacloud-flink-workspace-ops に必要な権限
ジョブのデプロイ、セッションクラスターの管理、SQL 検証などのワークスペースレベルの操作では、コンソールのメンバー管理を通じて、対応するワークスペースの開発者または管理者ロールを RAM ユーザーに付与する必要があります。ロールの権限の詳細については、「ワークスペースメンバーの管理」をご参照ください。
Claude Code でのスキルのインストールと使用
このトピックでは Claude Code を例として使用します。他の Agent プラットフォームのサポートについては、Alibaba Cloud Skills ポータルの対応するスキルページのインストールガイドをご参照ください。
スキルのインストール
# 現在のプロジェクトにインストール (プロジェクトレベルでの共有を推奨)
npx skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-flink-instance-manage --agent claude-code -y --full-depth
npx skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-flink-workspace-ops --agent claude-code -y --full-depth
npx skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-flink-knowledge --agent claude-code -y --full-depth
# またはグローバルにインストール (すべてのプロジェクトに -g を付加)
npx skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-flink-instance-manage --agent claude-code -y --full-depth -g
プロジェクトレベルのインストールパス: <project>/.claude/skills/。グローバルインストールパス: ~/.claude/skills/。
リポジトリをクローンする際にネットワークの問題で npx skills add がタイムアウトする場合は、リポジトリを手動でクローンし、ローカルパスからインストールできます:
git clone https://github.com/aliyun/alibabacloud-aiops-skills.git ~/.agents/alibabacloud-aiops-skills
npx skills add ~/.agents/alibabacloud-aiops-skills/skills/analyticscomputing/sc/alibabacloud-flink-instance-manage --agent claude-code -y
npx skills add ~/.agents/alibabacloud-aiops-skills/skills/analyticscomputing/sc/alibabacloud-flink-workspace-ops --agent claude-code -y
npx skills add ~/.agents/alibabacloud-aiops-skills/skills/analyticscomputing/sc/alibabacloud-flink-knowledge --agent claude-code -y
スキルの Python 依存関係のインストール
cd .claude/skills/alibabacloud-flink-instance-manage
pip3 install -r assets/requirements.txt
cd ../alibabacloud-flink-workspace-ops
pip3 install -r assets/requirements.txt
alibabacloud-flink-knowledge は追加の Python 依存関係を必要としません。このスキルは、組み込みのナレッジベースを使用します。
macOS で pip が PEP 668 エラーを出力する場合は、仮想環境を使用するか、--break-system-packages パラメーターを追加してください。
インストールの確認
Claude Code を再起動し、利用可能なスキルリストを表示して、3 つすべての Flink スキルが認識されていることを確認してください。
/skills
出力には alibabacloud-flink-instance-manage、alibabacloud-flink-workspace-ops、alibabacloud-flink-knowledge が含まれている必要があります。
使用例
会話の中で直接、自然言語で意図を記述してください。Claude Code は対応するスキルを自動的に照合し、操作を実行します。
インスタンス管理 (alibabacloud-flink-instance-manage)
# 中国 (北京) リージョン内のすべての Flink インスタンスをクエリ
Query my Flink instances in cn-beijing
# Flink インスタンスの作成
Create a Flink instance named demo-vvp in cn-beijing
# 利用可能なゾーンのクエリ
Which zones are available in cn-hangzhou?
ワークスペース操作 (alibabacloud-flink-workspace-ops)
# SQL ドラフトの作成
Create a SQL draft named hello-flink in workspace my-workspace with the content SELECT 1
# ジョブのデプロイと開始
Deploy the draft I just created and start the job
# ジョブの診断
Diagnose the recently failed job in workspace my-workspace
# セッションクラスターの管理
Create a Session Cluster named dev-cluster in workspace my-workspace
ナレッジクエリ (alibabacloud-flink-knowledge)
# 製品パラメーターのクエリ
What engine versions does Realtime Compute for Apache Flink support?
# Flink SQL の生成
Generate a CDAS SQL statement for full-database sync from MySQL CDC to Paimon
# チェックポイント復元のガイダンス
How do I restore a job from a savepoint after an upgrade? What should I be aware of?
# トラブルシューティング
What could cause a checkpoint timeout? How do I troubleshoot it?
作成、デプロイ、開始、停止、削除など、リソースを変更する操作の場合、スキルは安全確認パラメーターである --confirm を自動的に追加します。削除などの不可逆的な操作の場合、スキルが操作を実行する前に、自然言語で削除の意図を明示的に表現する必要があります。
よくある質問
Q1: インストール後にスキルが有効にならない
スキルディレクトリが作成されていること (.claude/skills/alibabacloud-flink-instance-manage/SKILL.md が存在すること)、およびクライアントを再起動してスキルがロードされたことを確認してください。
Q2: コマンド実行時の ModuleNotFoundError
Python の依存関係がインストールされていません。スキルディレクトリに移動し、pip3 install -r assets/requirements.txt を実行してください。
Q3: コマンド実行時の NoPermission または Forbidden エラー
RAM ユーザーに前提条件に記載されている最小権限ポリシーが付与されているか、また、デフォルトの認証情報プロバイダーチェーンがその RAM ユーザーの正しい AccessKey をロードしているかを確認してください。
Q4: 作成後にインスタンスのステータスが RUNNING に変わらない
スキルはデフォルトで 30 秒間隔でポーリングし、最大待機時間は 10 分です。タイムアウトした場合は、コンソールで手動でインスタンスのステータスを確認してください。リソースが不足している場合は、コンソールでリソースを拡張してから再試行してください。
Q5: Knowledge Skill が返すパラメーター情報は常に正確で最新ですか?
Knowledge Skill は、可能な限りオンラインドキュメントから最新のパラメーター情報を取得します。ドキュメントの取得に失敗した場合、スキルは安全に関する通知を返し、コンソールでの確認を促します。課金やエンジンバージョンなどの重要なパラメーターについては、コンソールの実際の表示が優先されます。
Q6: Knowledge Skill はどのような種類の Flink SQL を生成できますか?
このスキルは、DDL ステートメント、全データベース CDC 同期ステートメント (CDAS 構文)、およびリスクコントロールモニタリング SQL の生成をサポートしています。生成された SQL には、実際の値に置き換える必要がある接続情報を示す -- TODO: アノテーションが含まれています。