alibabacloud-cms-dataset について
`aliyun` CLI で Alibaba Cloud CloudMonitor(CMS)のデータセットを管理するエージェントスキルです。データセットのライフサイクル操作と SQL クエリに対応し、ワークスペース、スキーマ、権限も確認します。
主な機能
- 01データセットの一覧表示と確認
- 02データセットの作成と削除
- 03データセットの説明の更新
- 04データセットへの SQL クエリ実行
- 05クエリ生成前のスキーマ確認
活用シーン
- 01CMS ワークスペース内のデータセット確認
- 02指定したスキーマでのデータセット作成
- 03データセットの説明変更
- 04実際のフィールドに基づくデータ検索
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aliyun/ alibabacloud-aiops-skills --skill alibabacloud-cms-datasetインストール後、Claude Code で/alibabacloud-cms-datasetを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/acceptance-criteria.mdcli-installation-guide.mdram-policies.mdrelated-commands.mdverification-method.md詳細
CMS データセットのライフサイクル管理とクエリ
aliyun CLI を使用して、CloudMonitor(CMS)のデータセットリソースを管理します。データセットの一覧表示、確認、作成、更新、削除、およびデータセットレベルのクエリを実行できます。
アーキテクチャ:CMS Workspace + Dataset (Schema + Fields) + ExecuteQuery
インストール
Aliyun CLI をインストールする
aliyun version を実行して、バージョンが 3.3.3 以降であることを確認します。インストールされていない場合や古いバージョンの場合は、references/cli-installation-guide.md の手順に従ってインストールまたは更新してください。
プラグインを最新の状態にする
[MUST] 自動プラグインインストールを有効にするため、
aliyun configure set --auto-plugin-install trueを実行してください。 [MUST] 既存のプラグインを常に最新の状態にするため、aliyun plugin updateを実行してください。
AI モードのライフサイクル
コアワークフローの開始時(CLI を呼び出す前): [MUST] AI モードを有効にする — エージェントスキルの実行には AI モードが必要です。
aliyun configure ai-mode enable aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-cms-dataset"
[MUST] あらゆる終了時点で AI モードを無効にする — どのような理由であっても、最終応答を返す前に必ず AI モードを無効にしてください。これは、ワークフローの成功、ワークフローの失敗、エラー/例外、ユーザーによるキャンセル、セッションの終了、その他 CLI コマンドをこれ以上実行しないあらゆる状況を含む、すべての終了パスに適用されます。
aliyun configure ai-mode disable
認証
事前確認:Alibaba Cloud の認証情報が必要です
セキュリティルール:
- AK/SK の値を読み取ったり、エコーしたり、出力したりすることは絶対にしないでください(例:
echo $ALIBABA_CLOUD_ACCESS_KEY_IDは禁止です)- 会話中またはコマンドラインで、ユーザーに AK/SK を直接入力するよう絶対に求めないでください
- リテラルの認証情報を指定して
aliyun configure setを使用することは絶対にしないでください- 認証情報の状態を確認する場合は、
aliyun configure listのみを使用してくださいaliyun configure list出力を確認し、有効なプロファイル(AK、STS、または OAuth ID)があることを確かめます。
有効なプロファイルがない場合は、ここで停止してください。
- Alibaba Cloud Console から認証情報を取得します
- このセッションの外で認証情報を設定します(ターミナルで
aliyun configureを実行するか、シェルプロファイルの環境変数を使用します)aliyun configure listに有効なプロファイルが表示されたら、戻って再実行します
RAM ポリシー
必要な権限の全一覧については、references/ram-policies.md を参照してください。
最低限必要なアクション:cms:ListDatasets、cms:GetDataset、cms:CreateDataset、cms:UpdateDataset、cms:DeleteDataset、cms:ExecuteQuery。
[MUST] 権限エラーへの対応: 実行中のいずれかの時点で、権限エラーによりコマンドまたは API 呼び出しが失敗した場合は、次の手順に従ってください。
references/ram-policies.mdを読み、この SKILL に必要な権限の全一覧を確認しますram-permission-diagnoseスキルを使用して、必要な権限を申請する手順をユーザーに案内します- 必要な権限が付与されたことをユーザーが確認するまで待機します
パラメーターの確認
IMPORTANT: パラメーターの確認 — コマンドや API 呼び出しを実行する前に、 ユーザーがカスタマイズできるすべてのパラメーター(例:RegionId、インスタンス名、CIDR ブロック、 パスワード、ドメイン名、リソース仕様など)を、必ずユーザーに確認してください。 明示的な承認なしに、デフォルト値を推測したり使用したりしないでください。
| パラメーター | 必須/任意 | 説明 | デフォルト値 |
|---|---|---|---|
workspace | 必須 | CMS ワークスペース ID | — |
dataset-name | 必須(ListDatasets を除く) | データセット名(4~63 文字) | — |
region | 任意 | リージョン ID | CLI プロファイルのリージョン |
schema | 必須(CreateDataset) | スキーマ JSON オブジェクト | — |
description | 任意 | データセットの説明 | — |
query | 必須(ExecuteQuery) | クエリテキスト | — |
type | 自動入力(ExecuteQuery) | クエリタイプのプレースホルダー。常に SQL です。ユーザーに尋ねないでください | SQL |
max-results | 任意(ListDatasets) | ページあたりの最大結果数 | — |
next-token | 任意(ListDatasets) | 次のページのページネーショントークン | — |
命名規則
データセット名とスキーマのフィールド名は、次の条件を満たす必要があります。
- 長さ:4~63 文字
- 小文字で始まる
- 小文字、数字、アンダースコアのみ使用可能
- 先頭または末尾のアンダースコア、および連続するアンダースコアは使用不可
正規表現:^[a-z](?!.*__)[a-z0-9_]{2,61}[a-z0-9]$
無効な名前を黙って正規化してはいけません。ユーザーに有効な名前を提示するよう求めてください。
コアワークフロー
[CRITICAL] 製品の固定: このスキルのデータセット操作では、
cms製品のみを使用します。 正しいコマンドの形式はaliyun cms <action> --api-version 2024-03-30です。 データセット操作に他の製品を使用してはいけません。 このシナリオでは、dataworks、adb、sls、maxcompute、opensearch、pai、dashvector、その他のサービスは誤りです。 コマンドが失敗した場合は、パラメーターと権限を確認してください。別の製品に切り替えてはいけません。
すべてのコマンドで --api-version 2024-03-30 を使用します。デフォルトでは --endpoint を渡さないでください。リージョンを指定する際は、--region-id ではなく --region を使用します。
0. ワークスペースの存在を確認する
[MUST] データセット操作を実行する前に、
get-workspaceを呼び出してワークスペースが存在することを確認してください。この手順を省略したり、ListDatasets からワークスペースの存在を推測したりしてはいけません。
aliyun cms get-workspace --api-version 2024-03-30 \
--workspace <workspace>
ワークスペースが存在しない場合(エラーが返される場合)は、put-workspace を使用して作成します。
aliyun cms put-workspace --api-version 2024-03-30 \
--workspace-name <workspace> \
--sls-project <sls-project>
--sls-project は必須です。ユーザーが指定しない場合は、ワークスペース名と同じ値を使用します。
1. データセットの一覧表示
aliyun cms list-datasets --api-version 2024-03-30 \
--workspace <workspace> \
[--dataset-name <filter>] \
[--max-results <n>] \
[--next-token <token>]
2. データセットの取得
aliyun cms get-dataset --api-version 2024-03-30 \
--workspace <workspace> \
--dataset-name <dataset-name>
3. データセットの作成
安全性: 作成前に ListDatasets を使用して、データセットがすでに存在するか確認してください。すでに存在する場合はユーザーに伝え、続行するか確認してください(API は重複に対してエラーを返します)。ユーザーが作成を依頼した場合は、必ず CreateDataset を呼び出してください。黙ってスキップしてはいけません。
スキーマ JSON は、単一引用符で囲んだ文字列として直接渡します。
aliyun cms create-dataset --api-version 2024-03-30 \
--workspace <workspace> \
--dataset-name <dataset-name> \
--schema '{"message_text":{"type":"text","chn":true,"embedding":"text-embedding-v4"},"service_name":{"type":"text","chn":false}}' \
[--description "<description>"]
スキーマの規則:
--schemaの値はフィールド定義オブジェクトそのものです(API ボディでラップしません)。- 各トップレベルキーはフィールド名です。各値には
type、任意でchn、任意でembedding、任意でjsonKeysを指定します。 embeddingを有効にできるのはtype: "text"のフィールドのみです。テキスト以外のフィールドでの embedding は拒否してください。jsonKeysは、ネストされた JSON キー構造を定義します。ネストされたキーで指定できるのはtypeとchnのみです(embeddingは指定できません)。
{
"event_data": {
"type": "text",
"chn": false,
"jsonKeys": {
"source": {
"type": "text",
"chn": false
},
"message": {
"type": "text",
"chn": true
}
}
}
}
4. データセットの更新
安全性: 更新前に現在の説明を読み取り、表示してください。
制限: UpdateDataset で変更できるのは説明のみです。この API ではスキーマを更新できません。スキーマを変更する必要がある場合は、データセットを削除して再作成する必要があります。
# Show current state
aliyun cms get-dataset --api-version 2024-03-30 \
--workspace <workspace> --dataset-name <dataset-name>
# Update after user confirms
aliyun cms update-dataset --api-version 2024-03-30 \
--workspace <workspace> \
--dataset-name <dataset-name> \
--description "<new-description>"
5. データセットの削除
安全性: データセットを読み取って表示した後、削除する前に、ワークスペース名とデータセット名を明示してユーザーに確認してください。
# Show dataset to confirm
aliyun cms get-dataset --api-version 2024-03-30 \
--workspace <workspace> --dataset-name <dataset-name>
# Delete after explicit confirmation
aliyun cms delete-dataset --api-version 2024-03-30 \
--workspace <workspace> \
--dataset-name <dataset-name>
6. クエリを実行する
安全性: 可能な場合は、まず GetDataset でデータセットのスキーマを確認し、フィールド名を実際のスキーマに基づいて指定します。
aliyun cms execute-query --api-version 2024-03-30 \
--workspace <workspace> \
--dataset-name <dataset-name> \
--type SQL \
--query '<query>'
--typeは必須のプレースホルダーです。必ずSQLを渡してください。- ユーザーが完全なクエリを指定した場合は、安全なシェルクォートを除き、そのまま保持してください。
- 自然言語からクエリを生成する場合: ユーザーがクエリを提示せず、自然言語で分析の意図を説明した場合は、まず GetDataset を呼び出して実際のスキーマとフィールド名を取得し、そのフィールド名に基づいてクエリを生成してください。スキーマを確認せずにフィールド名を推測してはいけません。
- 完全な JSON レスポンスを最初に提示し、その後、進捗状況、返された行数、影響を受けた行数、経過時間を要約してください。
成功の確認
各操作の確認コマンドについては、手順を追って説明した references/verification-method.md を参照してください。
クリーンアップ
このセッション中に作成したデータセットを削除するには:
aliyun cms delete-dataset --api-version 2024-03-30 \
--workspace <workspace> \
--dataset-name <dataset-name>
出力の要件
- API レスポンスは、必ず完全な JSON を最初に表示してください。
- その後、人が読みやすい簡潔な要約を提示してください。
- 書き込みのプレビューには、ワークスペース、データセット名、リージョン、説明、スキーマ全体を含めてください。
- クエリ結果には、進捗状況、行数、影響を受けた行数、経過時間を含めてください。
コマンド一覧
コマンドの完全なリファレンスについては、references/related-commands.md を参照してください。
| コマンド | 説明 |
|---|---|
aliyun cms get-workspace | ワークスペースが存在することを確認する |
aliyun cms put-workspace | ワークスペースを作成または更新する |
aliyun cms list-datasets | ワークスペース内のデータセットを一覧表示する |
aliyun cms get-dataset | データセットの詳細とスキーマを取得する |
aliyun cms create-dataset | スキーマを指定して新しいデータセットを作成する |
aliyun cms update-dataset | データセットの説明を更新する |
aliyun cms delete-dataset | データセットを削除する |
aliyun cms execute-query | データセットに対してクエリを実行する |
ベストプラクティス
- 常に
--api-version 2024-03-30を指定してください。デフォルトの CMS バージョン(2019-01-01)はデータセット操作に対応していません。 - CreateDataset を呼び出す前に、データセット名とフィールド名が命名規則の正規表現に適合していることを検証してください。
- クエリを生成する前に GetDataset でスキーマを確認し、推測ではなく実際のフィールド名を使用してください。
- シェルのクォートによる問題を避けるため、スキーマ JSON は単一引用符で囲んだ文字列として直接渡してください。
- 書き込み操作(Create、Update、Delete)は、実行前に必ずユーザーに確認してください。
- 重複を避けるため、作成前にデータセットが存在するか確認してください。
- リージョンを明示的に指定する場合は、
--region(--region-idではなく)を使用してください。 - 明示的に必要とされない限り
--endpointは渡さないでください。必要な場合はcms.<region>.aliyuncs.comを使用してください。 - ExecuteQuery では、必須のプレースホルダーとして必ず
--type SQLを渡してください。 - 一時ファイルの管理を避けるため、
--schemaにはインライン JSON を使用してください。 - 製品を切り替えてはいけません。
cmsコマンドが失敗した場合は、パラメーターや権限を調査してください。dataworks、adb、sls、maxcompute、その他の製品を試してはいけません。このスキルでいう「ワークスペース」は CMS ワークスペースであり、DataWorks/SLS/MaxCompute のプロジェクトではありません。 - タイムアウトを明示的に設定してください。 メタデータ操作(list/get/create/update/delete)には
--read-timeout 30 --connect-timeout 10を使用してください。クエリに時間がかかることがあるため、ExecuteQuery には--read-timeout 120 --connect-timeout 10を使用してください。
参考リンク
| 参考資料 | 説明 |
|---|---|
| references/ram-policies.md | RAM 権限の要件 |
| references/related-commands.md | CLI コマンドの完全なリファレンス |
| references/verification-method.md | 成功の確認手順 |
| references/acceptance-criteria.md | 正しい例と誤った例 |
| references/cli-installation-guide.md | CLI のインストールガイド |