カスタムコネクタを使ったエージェントをそのままエクスポートしようとすると、エラーになる場合があります。しかもエラーメッセージが分かりにくく、解決までに時間がかかったため、ここではその対応方法を解説します。
発生したエラー
ソリューション "ソリューション名 バージョン" がエクスポートに失敗しました: Exporting connection reference 参照接続名 for a custom connector requires the custom connector to be added to a dataverse solution. Please add connector コネクタ名 to a solution and retry.
このエラーメッセージを読み解くと「参照接続で指定されたコネクタが存在しないのでコネクタを追加してやり直してください。」となります。しかし、コネクタ名で指定されたコネクタはいくら探しても見つかりません。そこで参照接続を削除することでエクスポートは可能になります。しかし、エクスポートしたソリューションをインポートするとコネクタが無いとエラーになります。
エラーメッセージだけでは対応方法が分かりません。
対応方法
Copilotエージェントのエクスポートはソリューション単位で行います。調べてみるとカスタムコネクタはソリューションを分離するのがベストプラクティスだと分かりました。
ベストプラクティスは分かりましたが、その実現方法までは書かれていません。
構築手順
1. カスタムコネクタ用のソリューションを作成し、カスタムコネクタを作成する
このソリューションには参照接続を含める必要はありません。

2. エージェント用のソリューションを作成し、参照接続を作成する

作成したカスタムコネクタを指定する

3. エージェントを追加する

4. エージェントにカスタムコネクタを追加する

5. 手動で参照接続を変更する
カスタムコネクタを追加すると自動的に接続参照が追加されてそちらが使われてしまいます。自分で作った接続参照に手動で変更します。

connectionReference
の値を自作の接続参照の件名を入力します。表示名を入力するとエラーになるので注意して下さい。

保存をクリックする前はエラーの表示がありますが、保存をクリックしてエラーにならなければOKです。

6. ソリューションに自動で追加された接続参照を削除する
前の手順で使用する接続参照を手動で切り替えました。自動で追加された接続参照は不要なので削除します。この接続参照が残っているとインポート時にエラーとなるので注意してください。

6. ソリューションをエクスポートする
エクスポートを進めるとコネクタが不足していると表示されます。しかし、接続参照で別のソリューションのコネクタを参照しているので追加は不要です。”ステップをスキップ”で進めることでエクスポートできます。

これでカスタムコネクタを含むソリューションのエクスポートが完了します。

インポート
インポートする際は順番が重要です。インポートの順序を誤ると必ずエラーになります。
- まず カスタムコネクタのソリューション をインポート
- その後、カスタムコネクタを利用するソリューション をインポート
まとめ
カスタムコネクタは「接続参照」を介して利用するのがポイントです。
こうすることで、コネクタとエージェントを疎結合に保ち、管理や修正がしやすくなります。カスタムコネクタを独立したソリューションにしておけば、修正時も他のソリューションに影響を与えません。
この記事を書いた人
