CData Python Connector for Dynamics 365 はじめに:インストールから接続まで

Mohsin Turki
Mohsin Turki
Technical Marketing Engineer
CData Python Connector のインストール、ライセンス認証、Dynamics 365 のデータ への接続設定方法を解説します。

このガイドでは、CData Python Connector をインストールし、ライセンスを認証して、 ライブの Dynamics 365 のデータ に接続する方法を解説します。以下の内容を学べます:

  1. コネクタのインストールとライセンスの適用
  2. Dynamics 365 への接続設定
  3. Python アプリケーションでライブの Dynamics 365 のデータ を統合する手順

それでは始めましょう。

前提条件

  1. お使いのマシンに Python(v3.8 以上)がインストールされていること。 こちらからダウンロードしてインストールしてください。
  2. 有効なライセンスを持つ CData Python Connector for Dynamics 365。 こちらからダウンロードしてインストールしてください。
  3. 有効な資格情報を持つアクティブな Dynamics 365 アカウント。

Dynamics 365 データ連携について

CData は、Microsoft Dynamics 365 のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:

  • Sales、Customer Service、Finance & Operations、Marketing など、Dynamics 365 エコシステム全体のデータの読み取りと書き込みができます。
  • カスタマイズ可能なキャッシュと、インテリジェントなクエリ集約・分離により、Dynamics CRM のネイティブ機能を拡張できます。
  • Azure Active Directory、Azure マネージド サービス ID 認証情報、クライアントシークレットまたは証明書を使用した Azure サービスプリンシパルなど、さまざまな方法で Dynamics 365 に安全に認証できます。
  • SQL ストアドプロシージャを使用して、Dynamics 365 エンティティを管理できます。エンティティ間の関連付けの一覧表示、作成、削除などが可能です。

CData のお客様は、データをデータウェアハウスにレプリケートしたい場合(他のデータソースと併せて)や、Microsoft エコシステム内のお気に入りのデータツール(Power BI、Excel など)または外部ツール(Tableau、Looker など)からライブ Dynamics 365 データを分析したい場合など、さまざまな理由で当社の Dynamics 365 接続ソリューションを使用しています。


はじめに


ステップ 1:インストールとライセンス認証


1.1 コネクタのインストール

Python の依存関係について:Python がインストールされていることを確認してください。 CData Python Connector は Python バージョン 3.8、3.9、3.10、3.11、3.12 をサポートしています。 この範囲外のバージョンを使用している場合は、virtualenv で仮想環境を作成する必要がある場合があります。

Windows でのインストール

  1. コネクタ ZIP をダウンロードして解凍し、 目的の場所に配置します。
  2. ターミナルまたはコマンドプロンプトを開き、.whl ファイルがある場所(/win/ ディレクトリ内)に移動します。 例:
    ~\Downloads\Dynamics365PythonConnector\CData.Python.Dynamics365\win\Python312\64
  3. pip を使用して .whl ファイルをインストールします。 Python のバージョンとアーキテクチャに一致するファイルを使用してください。例:
            pip install cdata_dynamics365_connector-24.0.9111-cp312-cp312-win_amd64.whl
            
  4. pip list を実行してインストールを確認します。 cdata-dynamics365-connector が表示されれば、インストールは成功です。

Linux/Mac でのインストール

  1. コネクタ ZIP をダウンロードして解凍し、 目的の場所に配置します。
  2. ターミナルを開き、解凍したインストールディレクトリに移動して、 /unix/ または /mac/ フォルダ内の .tar.gz ファイルを確認します。 例:
    ~/Downloads/Dynamics365PythonConnector/CData.Python.Dynamics365/unix/
    または
    CData.Python.Dynamics365/mac/
  3. pip を使用して .tar.gz ファイルをインストールします。例:
            pip install cdata_dynamics365_connector-24.0.####-python3.tar.gz
            
  4. pip list を実行してインストールを確認します。 cdata-dynamics365-connector が表示されれば、インストールは成功です。

1.2 ライセンスの認証

購入後、CData Orders チームからメールでライセンスキーを受け取っているはずです。 ライセンスキーは次のような 25 文字のコードです:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

Windows でのライセンス認証

  1. ターミナルまたはコマンドプロンプトを開き、Python インストールの site-packages ディレクトリ内の cdata フォルダに移動します。
  2. パスの例:
    C:\Users\Username\AppData\Local\Programs\Python\Python312\Lib\site-packages\cdata\installlic_dynamics365
  3. ライセンスキーを指定して license-installer.exe ファイルを実行します:
            .\license-installer.exe [YOUR LICENSE KEY HERE]
            
  4. プロンプトが表示されたら、登録済みの名前とメールアドレスを入力して認証を完了します。

Linux/macOS でのライセンス認証

  1. ターミナルを開き、Python の site-packages ディレクトリ内の cdata フォルダに移動します。 このディレクトリは通常、以下の場所にあります:
    ~/Library/Python/3.12/lib/python/site-packages/cdata/installlic_dynamics365 または
    /usr/local/lib/python3.12/site-packages/cdata/installlic_dynamics365
  2. Linux/Mac ライセンスインストーラースクリプトを実行します:
            ./install-license.sh [YOUR LICENSE KEY HERE]
            
  3. プロンプトが表示されたら、登録済みの名前とメールアドレスを入力して認証を完了します。

ライセンスに関するよくある質問

ライセンスは複数のマシンで使用できますか?
はい、サブスクリプションプランによります。注文確認メールを確認するか、アカウント担当者にお問い合わせください。 アカウント担当者が不明な場合は、[email protected] までお問い合わせください。

ライセンスキーを紛失しました。どうすれば取得できますか?
注文番号を添えて [email protected] までメールでお問い合わせいただければ、ライセンスキーを再送いたします。

ライセンスを別のマシンに移行できますか?
はい。以下のリンクからライセンス移行リクエストを送信する必要があります:

https://www.cdata.com/lic/transfer/

ライセンス移行リクエストが送信され、処理されると、プロダクトキーに追加のアクティベーションが付与されます。 その後、新しいマシンで正規ライセンスを認証できます。 このプロセスが完了すると、以前のマシンのライセンスは無効になります。

ライセンスに関するその他のご質問は、[email protected] までお問い合わせください。 ライセンスの確認と管理は、セルフサービスポータル portal.cdata.com から行えます。


ステップ 2:接続設定

インストールとライセンス認証が完了したら、CData Python Connector を使用して接続を確立できます。

2.1 接続の確立

CData Python Connector for Dynamics 365 は、標準の import 文でインポートできる Python モジュールとして公開されており、 それを基にアプリケーションコードを構築できます。

コネクタには sys_tablessys_tablecolumns などの 組み込みメタデータツールも含まれており、Dynamics 365 のデータ の 利用可能なテーブル、カラム、構造メタデータを含むスキーマ検出を実行できます。

以下の例では、認証プロパティを使用して Dynamics 365 への接続を確立し、 特定のテーブルからカラム名を取得します。

以下の接続文字列の値を実際の資格情報に置き換え、必要に応じて '[TABLE NAME]' のテーブル名を更新してください。

Dynamics 365 インスタンスで MFA や追加のセキュリティ要件を使用している場合は、 接続文字列に PasscodeSecurityToken などのプロパティを含める必要がある場合があります。 サポートされているプロパティの完全なリストについては、 コネクタヘルプドキュメントConnection String Options セクションを参照してください (コネクタの help ディレクトリ内でも参照可能です)。



import cdata.dynamics365 as mod

# 設定したプロパティを使用して接続を確立
conn = mod.connect(
    "OrganizationUrl=https://myaccount.operations.dynamics.com/;"
    "Edition=Sales;"
)

# 指定したテーブルのカラム名をクエリ
cur = conn.cursor()
cur.execute("SELECT ColumnName FROM sys_tablecolumns WHERE TableName = '[TABLE NAME]'")

print("テーブルのカラム:")
for row in cur.fetchall():
    print(row[0])

cur.close()
conn.close()

このコードは Dynamics 365 に接続し、メタデータカタログをクエリして、 指定したテーブルのすべてのカラム名を出力します。完全な コネクタドキュメント を参照して、追加のスキーマ、テーブル、その他のサポートされているメタデータビューを 探索するための SQL クエリの変更方法を学べます。


2.2 利用可能な接続設定

Dynamics 365 接続プロパティの取得・設定方法

Microsoft Dynamics 365 への接続

Microsoft Dynamics 365 ドライバーは、以下のMicrosoft Dynamics 365 エディションへの接続をサポートしています。

  • CustomerService
  • FieldService
  • FinOpsOnline (デフォルト)
  • FinOpsOnPremise
  • HumanResources
  • Marketing
  • ProjectOperations
  • Sales

Notes:

  • Supply Chain Management はFinance and Operations と同一です。これらのいずれかに接続するには、EditionFinOpsOnline またはFinOpsOnPremise のいずれかに設定します。
  • Microsoft Dynamics 365 Business Central については、個別のMicrosoft Dynamics 365 Business Central ドライバーを使用してください。
サポートされているMicrosoft Dynamics 365 エディションのいずれか接続するには、次のパラメータを設定します。
  • OrganizationURL:お使いのMicrosoft Dynamics 365 組織のURL。例えば、https://orgcb42e1d0.crm.dynamics.com
  • Edition:上記のエディション一覧に示すとおり。

Microsoft Dynamics 365 への認証

Microsoft Dynamics 365 は、Microsoft Entra ID(Azure AD)、Azure サービスプリンシパル、Azure マネージドID(MSI)を経由する認証をサポートします。これらはすべてOAuth 規格に基づきます。 認証方法の詳細は、ヘルプドキュメントを参照してください。


2.3 よくある接続の問題

認証エラー

解決策:UserPassword、および Dynamics 365 で必要な追加の認証プロパティが正しいことを確認してください。 データソースが MFA、SSO、またはパスコードを強制している場合は、 接続文字列に正しいプロパティが含まれていることを確認してください。 サポートされている認証プロパティの完全なリストについては、 コネクタドキュメントを参照するか、 認証設定の検証については [email protected] までお問い合わせください。

サーバーに接続できない

解決策:接続文字列のエンドポイント URL が正しく、 環境からアウトバウンド HTTPS トラフィックが許可されていることを確認してください。 ファイアウォールやプロキシの背後にいる場合は、Python がサービス URL に 到達できることを確認してください。 ネットワーク設定の詳細やポート要件については、 [email protected] までお問い合わせください。

テーブルが見つからない

解決策:SQL クエリの DatabaseSchema、およびテーブル名を確認してください。 sys_tablessys_tablecolumns などのメタデータビューを使用して、 Dynamics 365 のデータ が公開している正確なテーブル名とカラム名を確認してください。 テーブル名が大文字小文字を区別する場合は、クエリで正しい大文字小文字を使用していることを確認してください。

モジュールが見つからない、またはインポートエラー

解決策:Python Connector が正しい環境にインストールされていることを確認してください。 pip list を実行して、コネクタ (cdata-dynamics365-connector)が存在することを確認してください。 仮想環境を使用している場合は、スクリプトを実行する前に正しい環境を有効にしてください。

接続文字列エラー

解決策:プロパティのフォーマットが正しくない、またはセミコロンが欠落していると、 コネクタが接続設定を解析できなくなります。 接続文字列を確認し、各プロパティが正しい Key=Value; 形式に従っていることを確認してください。 Dynamics 365 でサポートされているプロパティ名については、Python Connector ドキュメントを参照してください。

接続に関するその他のトラブルシューティングについては、完全なエラーメッセージを添えて (機密の資格情報をマスクしてから)[email protected] までお問い合わせください。


ステップ 3:次のステップ

コネクタがインストールされ、接続が設定されたら、 Python でライブの Dynamics 365 のデータ を操作できます。以下のリソースを参照して、 統合を拡張し、複雑なワークフローを構築してください。


サポート

ご不明な点がございましたら、お気軽にお問い合わせください:


FAQ

インストールとライセンス

  • コネクタのインストールには管理者権限が必要ですか?
    Python Connector のインストール自体には管理者権限は必要ありませんが、 ライセンスの適用やシステム全体の Python 環境へのインストール時には必要になる場合があります。
  • 複数の Python 環境にコネクタをインストールできますか?
    はい。環境ごと(venv、Conda、システム Python)に一度インストールしてください。 各環境は独自のパッケージを管理し、認証後はマシンライセンスを使用します。

接続

  • 認証情報はどのように提供しますか?
    mod.connect() を呼び出す際に、接続文字列で認証プロパティを渡します。 サポートされているプロパティの完全なリストについては、コネクタヘルプドキュメントを参照してください。
  • テーブルとカラムを検出するにはどうすればよいですか?
    sys_tablessys_tablecolumns などのメタデータビューを使用してください。 例:
    SELECT * FROM sys_tables;
  • プロキシサーバー経由で接続できますか?
    はい。接続文字列に ProxyServerProxyPortProxyUser などの プロキシプロパティを含めてください。 詳細については、ドキュメントの Firewall & Proxy セクションを参照してください。

パフォーマンスとトラブルシューティング

  • クエリが遅いのはなぜですか?
    以下を確認してください:
    • フィルター(WHERE 句)を追加して結果サイズを削減する
    • 頻繁に変更されないデータにはキャッシュを使用する
    • DatabaseSchema の選択情報が正しいことを確認する
    • 最適化のサポートについては [email protected] までお問い合わせください
  • ログを有効にするにはどうすればよいですか?
    接続文字列にログプロパティを直接追加します。例: Logfile=/path/log.txt;Verbosity=5;
    Verbosity はログの詳細レベルを制御します。 サポートを依頼する際は、このログファイルを [email protected] に送信してください。
  • どのポートを開放する必要がありますか?
    ほとんどのクラウドサービスは、ポート 443 でアウトバウンド HTTPS を必要とします。 ソース固有の要件については、 [email protected] までお問い合わせください。
  • インポート時に「Module not found」と表示されるのはなぜですか?
    スクリプトを実行する Python 環境にコネクタがインストールされていることを確認してください。 pip list または pip show を使用してインストールを確認してください。

一般

  • サポートされている SQL 構文はどこで確認できますか?
    コネクタドキュメントの SQL Compliance セクションを参照してください。
  • コネクタはどのくらいの頻度で更新されますか?
    CData はメジャーアップデートを年次でリリースし、定期的なパッチを提供します。 最新バージョンについては、アカウントポータルを確認するか、サポートにお問い合わせください。
  • その他のコード例はどこで確認できますか?
    オンラインドキュメントには、接続、クエリ、フィルタリング、ページング、 メタデータビューの操作に関する例が含まれています。

この FAQ で解決しない場合は、 [email protected] までお問い合わせください。

はじめる準備はできましたか?

Dynamics 365 Connector のコミュニティライセンスをダウンロード:

 ダウンロード

詳細:

Dynamics 365 Icon Dynamics 365 Python Connector お問い合わせ

Dynamics 365 へのデータ連携用のPython Connector ライブラリ。pandas、SQLAlchemy、Dash、petl などの主要なPython ツールにDynamics 365 をシームレスに統合。