ArcGIS Notebooks では、ノートブックを Web ツールとして公開することができます。 管理者および [Web ツールの公開] 権限を持つノートブック作成者は、所有しているノートブックを Web ツールとして公開できます。 ノートブックが Web ツールとして公開されると、ArcGIS Notebook Server 上に非同期ジオプロセシング サービスが作成され、Web ツールとして登録されます。 ノートブックと Web ツールの間には 1 対 1 のリレーションシップがあります。つまり、ノートブックごとに Web ツールを 1 つだけ公開できます。 Web ツールは、RESTful 非同期ジオプロセシング サービスを使用できるすべてのクライアント アプリケーションで利用できます。
Web ツールとしてノートブックを公開することは、ランタイム バージョン 6.0 以降のノートブックでサポートされています。 ノートブックのランタイム情報を確認するには、ノートブック エディターの上部のリボンまたはノートブック アイテム ページの [設定] タブで、[情報] ボタンをクリックします。 ノートブック ランタイムの詳細については、「利用可能な Python ライブラリの表示」をご参照ください。
ノートブック エディターを使用すると、ノートブックの入力パラメーターと出力パラメーターを構成できます。 入力パラメーターは、ノートブックが Web ツールとして実行されるときにユーザー入力のために外部化する、ノートブック内の入力変数に相当します。 出力パラメーターは、Web ツールの出力として返す、ノートブック内の出力変数に相当します。 1 つ以上の入力変数または出力変数を登録し、ノートブックを公開すると、対応する Web ツールの入力パラメーターまたは出力パラメーターとしてそれらのパラメーターを使用できるようになります。
注意:
ノートブックを Web ツールとして公開する際に、入力パラメーターも出力パラメーターも定義する必要はありません。 たとえば、あらかじめ定義された入力と出力 (itemId で参照されるフィーチャ レイヤーなど) を持つタスクを実行するノートブックでは、入力パラメーターも出力パラメーターも必要ありません。
注意:
入力パラメーターまたは出力パラメーターとしてサポートされているデータ タイプは、String、Long、Double、Boolean、フィーチャ セット、レコード セット、日付、距離単位、ラスター データ レイヤー、およびファイルです。 詳細については、ArcGIS REST API ドキュメントの「Geoprocessing services data types」をご参照ください。
Web ツールが実行されると、ArcGIS Notebook Server は、ユーザーの操作なしで新しいコンテナーを開き、ノートブックを実行することで、ノートブック サーバー コンピューター上でノートブックの自動実行を実現します。 Web ツールの実行権限を持つユーザー、および Web ツールが共有されているユーザーは、Web ツールにアクセスして実行できます。 必須の Web ツールの実行権限に加えて、ノートブックの実行に必要な他の権限も必要となります。 権限の詳細については、「ユーザー タイプ、ロール、権限」をご参照ください。
注意:
Web ツールとして共有するノートブックを作成する際に、ノートブックが入力データとしてワークスペース ディレクトリのファイルを参照する場合は、ノートブックまたは Web ツールを共有する他のユーザーはそのファイルにアクセスできません。 ノートブックに入力データとして参照する必要があるファイルがある場合は、ArcGIS コンテンツの共有アイテムを介してファイルを参照するか、ArcGIS Notebook Server に登録されているカスタム データ ディレクトリからファイルをアップロードして参照できます。
デフォルトでは、ArcGIS Notebook Server は、ArcGIS Notebook Server コンピューターごとに最大 10 個の非インタラクティブなノートブックを同時に実行するように構成されています。 これには、Web ツール、スケジュール設定されたタスク、executeNotebook API、および Webhook トリガーによってトリガーされる実行が含まれます。 管理者は、必要に応じてこの制限を増やすことができます。
注意:
ノートブック エディターに [パラメーター] オプションまたは [公開] オプションが表示されない場合は、[Web ツールの公開] 権限を持っていないか、ノートブックの所有者ではありません。 新しく作成されたノートブックでは、ノートブックが保存されるまで、[パラメーター] オプションおよび [公開] オプションが表示されません。
入力パラメーターの構成
入力パラメーターは、ノートブックが Web ツールとして実行されるときに外部化される、ノートブック内の入力変数に相当します。 ノートブック エディターの [パラメーター] ウィンドウを使用して、入力パラメーターを構成し、変数としてノートブックに追加できます。
- ノートブック エディターで、[パラメーター] をクリックします。
- [追加] をクリックします。
- [方向] で入力を選択します。
- [変数名] に名前を入力します。
注意:
この名前は、ノートブック コード内にある変数名、またはノートブックにすでに構成されている変数名と一致する必要があります。 - [表示名] に Web ツール パラメーターの名前を入力します。
- [データ タイプ] ドロップダウン メニューから、入力パラメーターのデータ タイプを選択します。
- [デフォルト値] に入力パラメーターの値を入力します。 サポートされているデータ タイプのデフォルト値の構文については、「Geoprocessing services data types」をご参照ください。
- [説明] に、入力パラメーターの説明を入力します。
- [保存] をクリックして、入力パラメーターを保存します。
- 入力パラメーターをさらに追加するには、ステップ 1 ~ 9 を繰り返します。
- すべての入力パラメーターを追加したら、パラメーターを挿入するノートブック内のセルを選択し、[変数として追加] をクリックします。
- [保存] をクリックして、ノートブックを保存します。
出力パラメーターの構成
ノートブック エディターの [パラメーター] ウィンドウから出力パラメーターを構成して、Web ツールとして公開されるノートブックの出力を構成できます。
- ノートブック エディターで、[パラメーター] をクリックします。
- [追加] をクリックします。
- [方向] パラメーターで出力を選択します。
- [変数名] に名前を入力します。
注意:
この名前は、ノートブック コード内にある変数名、またはノートブックにすでに構成されている変数名と一致する必要があります。 - [表示名] に Web ツール パラメーターの名前を入力します。
- [データ タイプ] ドロップダウン メニューから、出力パラメーターのデータ タイプを選択します。
- [デフォルト値] に出力パラメーターの値を入力します。 サポートされているデータ タイプのデフォルト値の構文については、「Geoprocessing services data types」をご参照ください。
- [説明] に、出力パラメーターの説明を入力します。
- [保存] をクリックして、出力パラメーターを保存します。
- ノートブックでセルを選択します。 [追加] ボタンをクリックし、Web ツールの出力を書き込むための Python コード スニペットを追加します。
出力が作成されるセルの下、ノートブックの下部近くのセルを選択することをお勧めします。
- 追加されたコード スニペットを調べ、出力変数名がノートブックに定義されている出力と一致することを確認して、コード スニペットをさらに調整します。
- 出力パラメーターをさらに追加するには、ステップ 1 ~ 11 を繰り返します。
- [保存] をクリックして、ノートブックを保存します。
Web ツールの公開
ノートブック エディターの [公開] ウィンドウから、ノートブックを Web ツールとして公開できます。
- ノートブックを保存して、ノートブックの最新のコピーが公開されるようにします。
- ノートブックのセルを手動で対話的に実行して、エラーがないことを確認します。
- ノートブック エディターのリボンで [公開] をクリックします。
- [公開] ウィンドウの [タイトル] フィールドと [説明] フィールドに Web ツールのタイトルと説明を入力します。
- 入力パラメーターと出力パラメーターをすべて確認します。
- [公開] をクリックして、ノートブックを Web ツールとして公開します。
- Web ツールを正常に公開したら、[詳細の表示] をクリックして、Web ツールのアイテム詳細ページを表示します。
- [共有] をクリックして [共有] ウィンドウを開きます。
- [組織] を選択して、Web ツールを組織のすべてのユーザーと共有します。
- [グループ共有の編集] をクリックして、Web ツールを特定のグループと共有します。
- 共有するグループを選択します。
- [OK] をクリックします。
- [保存] をクリックします。
注意:
出力パラメーターのコード スニペットを含むセルは、対話モードで実行されないためスキップします。Web ツールの共有
既存のノートブック Web ツールの共有設定を、組織または組織内の特定グループと共有または更新するには、次の手順を実行します。
注意:
Web ツールの共有対象のユーザーが、共有された Web ツールをノートブックで実行するには、Web ツールの実行権限および追加の権限が必要です。
注意:
11.2 では、ノートブックの Web ツールを、ノートブックが公開されたレベルと異なるレベルで共有できるようになりました。 たとえば、ノートブック自体を組織と共有していない場合でも、ノートブックの Web ツールを組織と共有できます。 以前のリリースで公開された Web ツールでこの変更を使用できるようにするには、Web ツールを上書きします。
- Portal for ArcGIS にサイン インしていることと、コンテンツを組織と共有する十分な権限を持っていることを確認します。
- [コンテンツ] をクリックします。
- 共有する Web ツールのタイトルの横にあるボックスをオンにします。
- [共有] をクリックします。
- [組織] を選択して、Web ツールを組織のすべてのユーザーと共有します。
- [グループ共有の編集] をクリックして、Web ツールを特定のグループと共有します。
- 共有するグループを選択します。
- [OK] をクリックします。
- [保存] をクリックします。
Web ツールの上書き
Web ツールを上書きすると、Web ツールはそのノートブックの最新のスナップショットを使用するよう更新されます。 ノートブック Web ツールは、ノートブック エディターの [公開] ウィンドウから上書きできます。
- 既存の入力パラメーターまたは出力パラメーターを更新する必要がある場合は、このトピックの「既存の入力パラメーターまたは出力パラメーターの編集」セクションの手順に従います。
- 新しい入力パラメーターまたは出力パラメーターを追加する場合は、このトピックの「入力パラメーターの構成」または「出力パラメーターの構成」セクションの手順に従います。
- ノートブックの最新のコピーが公開されるようにするには、[保存] をクリックします。
- ノートブックの各セルを手動で実行し、エラーがないことを確認します。
注意:
出力パラメーターのコード スニペットを含むセルは対話モードで実行されないため、実行しないでください。 - [公開] をクリックします。
- [上書き] をクリックし、Web ツールを上書きします。
Web ツールの削除
Web ツール アイテムを削除することで、ノートブックから公開された Web ツールを削除できます。
- ノートブック エディターの上部リボンで、[公開] をクリックします。
- [詳細の表示] をクリックして、Web ツールのアイテム詳細ページを表示します。
- [設定] をクリックします。
- [アイテムの削除] をクリックし、ArcGIS Notebook Server 上で公開されている Web ツール アイテムとジオプロセシング サービスを削除することを確認します。
注意:
Web ツールの公開元であるノートブック アイテムが削除されると、Web ツール アイテムも削除されます。
既存の入力パラメーターまたは出力パラメーターの編集
ノートブック エディターの [パラメーター] ウィンドウから、既存の入力パラメーターまたは出力パラメーターに変更を加えることができます。
注意:
ノートブックが Web ツールとしてすでに公開されている場合は、パラメーターに変更を加える前に、[パラメーター] ウィンドウで [編集の有効化] 切り替えボタンをオンにする必要があります。 ノートブックが Web ツールとして公開された後に、パラメーターに変更を加える場合は注意してください。その変更によって、その Web ツールを使用する Web アプリが破損する可能性があります。
- ノートブック エディターの上部リボンで、[パラメーター] をクリックします。
- パラメーターの横にあるオプション ボタンをクリックし、[編集] をクリックします。
- パラメーターを更新し、[保存] をクリックします。
- 入力パラメーターが更新された場合は、その入力変数を持つ既存のセルを手動で消去または削除し、ノートブックに変数として入力パラメーターを挿入する手順を繰り返します。
- 出力パラメーターが更新された場合は、その出力変数に対応するコード スニペットを手動で消去し、ノートブックに出力パラメーターのコード スニペットを追加する手順を繰り返します。
- [保存] をクリックして、ノートブックを保存します。
既存の入力パラメーターまたは出力パラメーターの削除
[パラメーター] ウィンドウから、既存の入力パラメーターまたは出力パラメーターを削除できます。
- ノートブック エディターの上部リボンで、[パラメーター] をクリックします。
- パラメーターの横にあるオプション ボタンをクリックし、[削除] をクリックします。
- 削除をクリックして、パラメーターを完全に削除します。
- ノートブック内の入力変数または出力コード スニペットを手動で消去または削除します。
- [保存] をクリックして、ノートブックを保存します。
マップ範囲の使用
Map Viewer で Web ツールを実行すると、処理範囲と出力座標系が変更された場合、context という名前の Python 変数として、他の入力パラメーターとともにノートブックに渡されます (下記を参照)。
context = {
"extent": {
"ymin": 1759249.9654418486,
"xmin": 6481923.176042713,
"ymax": 1795442.256243616,
"xmax": 6531137.243576055,
"spatialReference": {"latestWkid": 2229, "wkid": 102645},
},
"outSR": {"latestWkid": 4269},
}
context 変数の値を使用して、ノートブックで空間解析ワークフローの範囲と出力座標系を設定できます。 ノートブックを Web ツールとして公開する前に空間解析ワークフローをテストするには、context 変数をデフォルト値とともに宣言します。
公開する準備が整ったら、context 変数を宣言したセルの後に、入力パラメーターを変数として挿入します。
Web ツール実行のトラブルシューティング
ノートブックを Web ツールとして公開した後、ArcGIS Notebook Server Services Directory からタスクを実行することで、Web ツールが正常に実行されるかどうかを検証できます。
- Web ブラウザーで、ArcGIS Notebook Server Services Directory (https://notebookserver.domain.com/webadaptorcontext/rest/services) を開きます。
- Web ツールの所有者としてサイン インします。
- サービスを特定し、タスク ページを参照します。
- [ジョブの送信] をクリックします。
- 入力パラメーターを入力し、[ジョブの送信] をクリックします。
- 必要に応じて、[ジョブの詳細を再度チェックする] リンクをクリックし、ジョブのステータスを確認します。
Web ツールが正常に終了すると、出力ヘのリンクが表示されます。 デフォルトでは、正常な実行でも失敗した実行でも、ノートブック実行の HTML プレビューが出力として提供されます。
- ノートブックの HTML プレビューをダウンロードして表示し、Web ツールの実行に問題があったかどうかを確認します。
- Web ツールが失敗する場合は、ノートブック エディターでノートブックが正常に実行されることを確認します。