Cette rubrique explique comment utiliser Alibaba Cloud Flink Agent Skills pour gérer les instances et les espaces de travail Realtime Compute for Apache Flink en langage naturel sur les principales plateformes AI Agent.
Présentation des Skills
Realtime Compute for Apache Flink met à disposition trois Agent Skills sur Alibaba Cloud Skill Hub. Ces Skills couvrent trois catégories de scénarios à haute fréquence : la gestion du cycle de vie des instances, les opérations sur les espaces de travail et l'expertise Flink. Une fois intégrés, ils vous permettent de créer, interroger, déployer, opérer et déboguer les ressources Flink via le langage naturel dans les clients prenant en charge le protocole Agent Skills, tels que Claude Code, OpenClaw, Qoder, Cursor et Gemini CLI. Aucun appel manuel aux API ou opération via la console n'est requis.
|
Nom du Skill |
Scénario |
Fonctionnalités principales |
|
Gestion du cycle de vie des instances et des namespaces |
Interroger les régions et zones disponibles, créer des instances, consulter le statut des instances, créer et interroger des namespaces, consulter les tags de ressources |
|
|
Opérations quotidiennes sur les espaces de travail |
Créer et valider des brouillons SQL, déployer et démarrer ou arrêter des jobs, gérer le cycle de vie complet des Session Clusters, diagnostiquer les jobs, interroger les tables de données, gérer les membres et les variables |
|
|
Expertise Flink |
Consulter les paramètres produit et les versions, les informations de facturation, générer du Flink SQL (DDL, CDAS pour la synchronisation de base de données complète, scénarios de contrôle des risques), guidance sur la restauration des checkpoints et savepoints, dépannage des jobs |
Ces trois Skills appellent directement l'API Flink via le SDK Python officiel d'Alibaba Cloud. Par défaut, les identifiants sont chargés grâce à la chaîne de fournisseurs d'identifiants par défaut. Les identifiants ne sont jamais transmis en tant qu'arguments de ligne de commande.
Prérequis
Installer Node.js et Python
Les Skills s'installent via l'interface CLI npx skills, qui requiert Node.js 18 ou une version ultérieure. Les scripts internes sont implémentés en Python et nécessitent Python 3.6 ou une version ultérieure.
node --version # Requires >= 18
python3 --version # Requires >= 3.6
S'ils ne sont pas installés, choisissez la méthode d'installation adaptée à votre système d'exploitation :
# 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
Configurer les identifiants Alibaba Cloud
Les Skills obtiennent les identifiants AccessKey d'Alibaba Cloud via la chaîne de fournisseurs d'identifiants par défaut. Nous vous recommandons d'utiliser des variables d'environnement pour injecter les identifiants, ce qui évite de les coder en dur dans les lignes de commande ou les scripts.
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"
Pour les environnements de production, nous vous conseillons d'utiliser des rôles RAM ou des identifiants temporaires STS afin de prévenir la fuite d'AccessKey à long terme.
Préparer les permissions RAM
Accordez les permissions minimales requises à l'utilisateur RAM utilisé par les Skills. N'utilisez pas directement l'AccessKey de votre compte Alibaba Cloud.
Permissions requises par 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/*"
]
}
]
}
Permissions requises par alibabacloud-flink-workspace-ops
Les opérations au niveau de l'espace de travail, telles que le déploiement de jobs, la gestion des Session Clusters et la validation SQL, nécessitent d'attribuer à l'utilisateur RAM un rôle de développeur ou d'administrateur pour l'espace de travail correspondant via la gestion des membres dans la console. Pour plus d'informations sur les permissions des rôles, consultez la rubrique Gérer les membres de l'espace de travail.
Installer et utiliser les Skills dans Claude Code
Cette rubrique utilise Claude Code à titre d'exemple. Pour connaître la prise en charge par d'autres plateformes Agent, consultez le guide d'installation sur la page du Skill correspondant dans le portail Alibaba Cloud Skills.
Installer les Skills
# Install to the current project (recommended for project-level sharing)
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
# Or install globally (append -g for all projects)
npx skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-flink-instance-manage --agent claude-code -y --full-depth -g
Chemin d'installation au niveau du projet : <project>/.claude/skills/. Chemin d'installation global : ~/.claude/skills/.
Si la commande npx skills add expire en raison de problèmes réseau lors du clonage du dépôt, vous pouvez cloner le dépôt manuellement et installer depuis le chemin local :
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
Installer les dépendances Python pour les Skills
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 ne nécessite aucune dépendance Python supplémentaire. Ce Skill s'exécute sur une base de connaissances intégrée.
Si pip signale une erreur PEP 668 sur macOS, utilisez un environnement virtuel ou ajoutez le paramètre --break-system-packages.
Vérifier l'installation
Redémarrez Claude Code et consultez la liste des Skills disponibles pour confirmer que les trois Skills Flink sont bien reconnus.
/skills
La sortie doit inclure alibabacloud-flink-instance-manage, alibabacloud-flink-workspace-ops et alibabacloud-flink-knowledge.
Exemples d'utilisation
Décrivez votre intention en langage naturel directement dans la conversation. Claude Code associe automatiquement le Skill correspondant et exécute l'opération.
Gestion des instances (alibabacloud-flink-instance-manage)
# Query all Flink instances in the China (Beijing) region
Query my Flink instances in cn-beijing
# Create a Flink instance
Create a Flink instance named demo-vvp in cn-beijing
# Query available zones
Which zones are available in cn-hangzhou?
Opérations sur les espaces de travail (alibabacloud-flink-workspace-ops)
# Create a SQL draft
Create a SQL draft named hello-flink in workspace my-workspace with the content SELECT 1
# Deploy and start a job
Deploy the draft I just created and start the job
# Diagnose a job
Diagnose the recently failed job in workspace my-workspace
# Manage Session Clusters
Create a Session Cluster named dev-cluster in workspace my-workspace
Requêtes de connaissances (alibabacloud-flink-knowledge)
# Query product parameters
What engine versions does Realtime Compute for Apache Flink support?
# Generate Flink SQL
Generate a CDAS SQL statement for full-database sync from MySQL CDC to Paimon
# Checkpoint restore guidance
How do I restore a job from a savepoint after an upgrade? What should I be aware of?
# Troubleshooting
What could cause a checkpoint timeout? How do I troubleshoot it?
Pour les opérations modifiant les ressources, telles que la création, le déploiement, le démarrage, l'arrêt et la suppression, le Skill ajoute automatiquement le paramètre de confirmation de sécurité --confirm. Pour les opérations irréversibles comme la suppression, vous devez exprimer explicitement l'intention de supprimer en langage naturel avant que le Skill n'exécute l'opération.
FAQ
Q1 : Le Skill ne prend pas effet après l'installation
Vérifiez que le répertoire du Skill a bien été créé (le fichier .claude/skills/alibabacloud-flink-instance-manage/SKILL.md existe) et que le client a été redémarré pour charger les Skills.
Q2 : Erreur ModuleNotFoundError lors de l'exécution d'une commande
Les dépendances Python ne sont pas installées. Accédez au répertoire du Skill et exécutez pip3 install -r assets/requirements.txt.
Q3 : Erreur NoPermission ou Forbidden lors de l'exécution d'une commande
Vérifiez si l'utilisateur RAM dispose de la stratégie de permissions minimale indiquée dans les prérequis, et si la chaîne de fournisseurs d'identifiants par défaut charge bien l'AccessKey correct pour cet utilisateur RAM.
Q4 : Le statut de l'instance ne passe pas à RUNNING après la création
Le Skill interroge le statut par intervalles de 30 secondes, avec un temps d'attente maximal de 10 minutes. En cas de dépassement du délai, vérifiez manuellement le statut de l'instance dans la console. Si les ressources sont insuffisantes, augmentez-les dans la console avant de réessayer.
Q5 : Puis-je soumettre des jobs JAR Flink via les Skills ?
Non. Les Skills couvrent actuellement uniquement le cycle de vie complet des jobs SQL au sein des espaces de travail. La soumission et le déploiement des jobs JAR doivent être effectués via la console ou en utilisant l'API.
Q6 : Les informations de paramètres renvoyées par Knowledge Skill sont-elles toujours exactes et à jour ?
Knowledge Skill récupère les dernières informations de paramètres depuis la documentation en ligne chaque fois que possible. Si la récupération de la documentation échoue, le Skill renvoie un avis de sécurité et vous oriente vers la console pour vérification. Pour les paramètres critiques tels que la facturation et les versions du moteur, l'affichage réel dans la console fait foi.
Q7 : Quels types de Flink SQL Knowledge Skill peut-il générer ?
Le Skill prend en charge la génération d'instructions DDL, d'instructions de synchronisation CDC de base de données complète (syntaxe CDAS) et de SQL de surveillance pour le contrôle des risques. Le SQL généré inclut des annotations -- TODO: pour indiquer les informations de connexion que vous devez remplacer par des valeurs réelles.