본문으로 건너뛰기
cccskills
무료GitHub에 공개

data-migration

CSV / JSON などの既存データを Dataverse / Azure Databricks / Microsoft Fabric Lakehouse へ移行する。

ソースのプロファイル → マッピング契約の生成とレビュー → 検証と hash 承認 → 冪等な投入(upsert / MERGE / 全件ロード)→ 件数・キー・列値の照合までをスクリプトで行う。投入先の作成は dataverse / data-platform スキルが担当する。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구SharePointAzure
설치 방법 보기

포함된 파일(17)

  • SKILL.md5.9 KB
  • references/.env.example814 B
  • references/design.md4.3 KB
  • references/mapping-contract.md2.8 KB
  • references/samples/cold-chain/freezers.csv149 B
  • references/samples/cold-chain/stores.csv117 B
  • references/samples/cold-chain/telemetry.csv610 B
  • references/samples/cold-chain/work_orders.csv187 B
  • references/test-plan.md4.6 KB
  • references/troubleshooting.md3.1 KB
  • scripts/build_mapping.py6.5 KB
  • scripts/migrate_data.py21.2 KB
  • scripts/profile_source.py3.5 KB
  • scripts/source_reader.py4.7 KB
  • tests/test_build_mapping.py2.4 KB
  • tests/test_migrate_data.py9.9 KB
  • tests/test_profile_source.py2.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

データ移行スキル

既存データを、選定済みのデータ基盤へ 安全に・何度実行しても同じ結果になるように投入する。

原則内容
契約を正とする列・型・業務キー・参照関係を mapping.json に固定し、スクリプトはそれだけを読む
業務キー必須各テーブルに一意の業務キーを持たせ、upsert / MERGE で冪等に投入する
先に全件検証キー重複・必須 NULL・型変換・長さ・参照整合性を投入前にすべて検出する
変更は hash 承認plan の planHash を利用者が承認してから apply。ソースが変われば hash も変わる
読み戻して照合件数・キー集合・列値を投入先から読み戻して比較する。削除は行わない
パラメーター化SQL・URL に値を埋め込まない。識別子は正規表現で検証する

サブリファレンス

リファレンス内容
設計責務分担、処理の流れ、投入方式、安全モデル
マッピング契約mapping.json の仕様と型対応
テスト計画Unit / Live の ID と合格基準
サンプル(cold-chain)4 表・22 行。data-platform の基準質問の正解が 1 行に決まる
.env サンプル本スキルのパラメータ
異常系・トラブルシュート実際に踏んだ失敗と恒久対策

ワークフロー(正常系)

$dm = ".github/skills/data-migration/scripts"

Step 1: 投入先と権限を確認する

Code Apps 開発で SharePoint URL を受け取った場合、直接接続・継続利用の明示がなければ 投入先は Dataverse とする。移行か直接接続かを毎回聞き直さず、URL は移行元の参照情報として扱う。 URL を渡されたことだけを読み取り・書き込みの承認とせず、取得範囲と読み取り権限を確認する。 既存の承認済みエクスポートを再利用するか、読み取り権限内で CSV / JSON を取得し、Step 2 に渡す。 取得できなければ所有者へエクスポートを依頼し、SharePoint 直接接続へ黙って切り替えない。 元の SharePoint データは変更・削除せず、移行後の常時同期も明示依頼なしには構築しない。

それ以外は選定済みの投入先(Dataverse / Databricks / Fabric Lakehouse)を再利用する。 AskUserQuestion では不足している書き込み承認、個人情報の扱い、既存データの上書き可否だけを確認する。 投入先が未作成なら先に作るが、Code Apps の初回 push は移行完了を待たせない。 全件検証・hash 承認・投入後の照合は省略しない。

投入先事前に必要なもの担当
Dataverseテーブル・列・Lookup・業務キー列の代替キーdataverse
Databricksworkspace・SQL warehouse・catalog(schema は自動作成)data-platform
Fabric Lakehousecapacity(Active)・workspace・Lakehousedata-platform

Step 2: ソースをプロファイルする

python $dm/profile_source.py --source-dir data/ --out spec/profile.json

型・NULL 数・一意性・キー候補・外部キー候補を確認する。キー候補が無いテーブルは、業務キーを利用者と決める。

Step 3: マッピング契約を作り、レビューする

python $dm/build_mapping.py --profile spec/profile.json --target databricks --catalog <catalog> --schema <schema> --out spec/mapping.json

出力の review を 1 件ずつ解消する(Dataverse は entitySet・代替キー・navigationProperty を dataverse スキルの定義と一致させる)。 確定した mapping.json を利用者に提示して合意を得る。

Step 4: 検証して計画を作る

python $dm/migrate_data.py plan --mapping spec/mapping.json --source-dir data/ --out .data-migration/plan.json

終了コード 2 なら errors を修正して再実行する。成功したら planHash・ロード順・件数を提示し、明示承認を得る。

Step 5: 投入する

python $dm/migrate_data.py apply --plan .data-migration/plan.json --approve-hash <planHash>

blocked(例: Dataverse の代替キー未定義)は前提を整えてから再実行する。途中で失敗しても、同じ plan の再実行で冪等に回復する。

Step 6: 照合する

python $dm/migrate_data.py verify --plan .data-migration/plan.json --out .data-migration/reconcile.json

全テーブルが verified になったら完了。missingKeys / extraKeys / mismatched を報告し、 続けて data-platform の Step 6(セマンティック層)と Step 7(runtime 検証)へ進む。

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

admin

무료

Power Platform のテナント / 環境ガバナンスを確認・設定する。通常開発では事前チェックせず、環境チェックの明示依頼時または開発・デプロイ障害時だけ診断する。依頼者の現在有効な委任権限と対象範囲を確認し、権限内の最小診断・承認済み修復・限定リトライ、権限不足なら管理者への依頼へ分岐する。環境・DLP・ACP・環境グループ・テナント戦略の確認と dry-run 付き管理操作を提供する。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

geekfujiwara/CodeAppsDevelopmentStandard742026년 10월 19일 업데이트

Copilot Studio 新 UI の Agent flows / Workflows を構築・公開・検証する。Dataverse レコード作成/更新トリガーから既存の発行済み Copilot Studio v2 を Agent ノードで呼ぶ標準経路、Code Apps との非同期要求/結果連携、および手動 Start + inline Agent の API ライフサイクル検証を扱う。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

geekfujiwara/CodeAppsDevelopmentStandard742026년 10월 19일 업데이트

株主総会の想定問答を、IR 抜粋(決算短信・説明資料・招集通知など)を根拠に下書きし、利用者の確認後に Dataverse の想定問答テーブルへ「下書き」として登録するスキル。 Use when ユーザーが「配当について想定問答を作って」「この論点の想定問答を 3 件追加して」「招集通知から想定問答を作って」「想定問答を登録して」と依頼したとき。 Dataverse MCP コネクタ(describe / read_query / search_data / create_record / update_record)を使用する。削除・テーブル変更のツールは使わない。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

geekfujiwara/CodeAppsDevelopmentStandard742026년 10월 19일 업데이트

株主総会の想定問答を点検し、根拠の IR 抜粋に無い数値・存在しない根拠 ID・回答者や注意事項の抜け・趣旨の重複・下書きのまま残っているものを一覧にするスキル(書き込みはしない)。 Use when ユーザーが「想定問答を点検して」「根拠の無い数値が無いか確認して」「下書きの想定問答を一覧にして」と依頼したとき。 Dataverse MCP コネクタ(describe / read_query / search_data)を使用する。書き込み・削除のツールは使わない。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

geekfujiwara/CodeAppsDevelopmentStandard742026년 10월 19일 업데이트

株主総会の質疑応答のリハーサル台本(議長・株主・回答役員の読み上げ原稿)を、承認済みの想定問答から作り、Dataverse のリハーサル台本テーブルへ登録するスキル。 Use when ユーザーが「リハーサルの台本を作って」「QA-001〜QA-010 で読み上げ原稿を作って」「番号を言わない株主も入れた台本を作って」と依頼したとき。 Dataverse MCP コネクタ(describe / read_query / search_data / create_record / update_record)を使用する。削除・テーブル変更のツールは使わない。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

geekfujiwara/CodeAppsDevelopmentStandard742026년 10월 19일 업데이트

AI Builder の AI プロンプト(GPT Dynamic Prompt)を Dataverse API で作成し、Copilot Studio エージェントにツール(アクション)として追加する。Power Automate フローとの統合パターンも含む。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

geekfujiwara/CodeAppsDevelopmentStandard742026년 10월 19일 업데이트

geekfujiwara의 스킬 모두 보기

이 스킬의 문제 신고