dataverse-python-advanced-patterns は何をしますか?
Dataverse SDKを使用した本番コードを、高度なパターン、エラーハンドリング、最適化技法を用いて生成します。
概要
このスキルは、PythonアプリケーションでMicrosoft Dataverse(旧Common Data Service)と連携するための、高度で実践的なコードパターンを提供します。単純なデータアクセスを超えて、エンタープライズレベルの堅牢性、パフォーマンス、保守性を実現するためのベストプラクティスに焦点を当てています。
主な機能
- バルク操作: 大量のデータを効率的に処理するためのCreate/Update/Deleteの最適化
- トランザクション管理: 複数の操作をアトミックに実行するトランザクションパターン
- 楽観的同時実行制御: データの競合を検出し、競合解決戦略を実装
- 高度なクエリ: フィルタリング、並べ替え、ページネーション、およびリンクエンティティクエリの最適化
- エラーハンドリング: 再試行ロジック、特定のHTTPステータスコード(429、503など)への対応、包括的な例外処理
- 非同期処理:
asyncioを使用した非同期操作の実装 - 型安全性: Pythonの型ヒントを活用した、型安全なコードの生成
対象プラットフォーム
- Microsoft Power Platform Dataverse
- Python 3.8以上
- パッケージ:
Microsoft.PowerPlatform.Dataverse.Client(pacpythonとしても知られる)
使用方法
以下のコマンドでスキルを呼び出します:
dataverse-python-advanced-patterns create <pattern-name> [options]
利用可能なパターン:
| パターン名 | 説明 |
|---|---|
bulk-operations | バルク作成/更新/削除のテンプレート |
optimistic-concurrency | 楽観的同時実行制御の実装 |
retry-policy | 指数バックオフと再試行ロジック |
transaction-scope | トランザクションラッパー |
async-client | 非同期Dataverseクライアント |
例:
dataverse-python-advanced-patterns create bulk-operations --connection-string "AuthType=ClientSecret;Url=https://yourorg.crm.dynamics.com;ClientId=xxx;ClientSecret=yyy"
注意事項
- 接続文字列は安全に管理し、コードにハードコードしないでください(環境変数またはAzure Key Vaultの使用を推奨)。
- 生成されたコードはベストプラクティスに従いますが、特定のユースケースに合わせて調整が必要な場合があります。
- このパッケージは、Dataverse ServiceClientの上に構築されています。詳細については公式ドキュメントを参照してください。
ライセンス
このプロジェクトはMITライセンスの下で公開されています。