[comment]: # ({579805a5-3e219327})
# プラグインインターフェース

このセクションでは、利用可能なプラグインインターフェースについて説明します。

[comment]: # ({/579805a5-3e219327})

[comment]: # ({e3b2749e-bd74c36c})

### plugin.Exporter

*Exporter*は、ポーリングを実行して値 (複数可)、何も返さない、またはエラーを返す最もシンプルなインターフェースです。
これは、事前に解析されたアイテムキー、パラメーター、およびコンテキストを受け入れます。
他のすべてのプラグインインターフェースへのアクセスは排他的であり、プラグインがすでにタスクを実行している場合はメソッドを呼び出すことはできません。
また、プラグインごとに最大100回の同時*Export()*呼び出しの制限がありますが、これは各プラグインの要件に応じて減らすことができます。

[comment]: # ({/e3b2749e-bd74c36c})

[comment]: # ({68794123-a9e7836a})

### plugin.Configurator

*Configurator*インターフェースは、Zabbixエージェント2の設定ファイルからプラグイン設定パラメーターを提供します。

[comment]: # ({/68794123-a9e7836a})

[comment]: # ({6c39575d-d6cfe5ec})

### plugin.Runner

*Runner*インターフェースは、プラグインの開始時(アクティブ化)に初期化を実行し、プラグインの停止時(非アクティブ化)に非初期化を実行する手段を提供します。
たとえば、プラグインはRunnerインターフェースを実装することで、バックグラウンドの*goroutine*を開始/停止できます。

[comment]: # ({/6c39575d-d6cfe5ec})

