ArcGIS Notebooks 10.9.1 以降では、ノートブックを Web ツールとして公開できます。 管理者および Web ツールの公開権限を持つノートブック作成者は、所有しているノートブックを Web ツールとして公開できます。 ノートブックが Web ツールとして公開されると、ArcGIS Notebook Server コンピューター上に非同期ジオプロセシング サービスが作成され、Web ツールとして登録されます。 ノートブックと Web ツールの間には 1 対 1 のリレーションシップがあります。つまり、ノートブックごとに 1 つの Web ツールだけを公開でき、Web ツール アイテムには親ノートブックと同じ共有権限が割り当てられます。 Web ツールは、RESTful 非同期ジオプロセシング サービスを使用できるすべてのクライアント アプリケーションで利用できます。
Web ツールとしてノートブックを公開することは、ランタイム バージョン 6.0 以上のノートブックでサポートされています。 ノートブックのランタイム情報を確認するには、ノートブック エディターの上部のリボンまたはノートブック アイテム ページの [設定] タブで、[情報] ボタンをクリックします。 ノートブック ランタイムの詳細については、「利用可能な Python ライブラリの表示」をご参照ください。
10.9.1 では、ノートブック エディターに、ノートブックの入力パラメーターと出力パラメーターを構成できる新機能が導入されています。 入力パラメーターは、ノートブックが Web ツールとして実行されるときにユーザー入力のために外部化する、ノートブック内の入力変数に相当します。 出力パラメーターは、Web ツールの出力として返す、ノートブック内の出力変数に相当します。 1 つ以上の入力変数または出力変数を登録し、ノートブックを公開すると、対応する Web ツールの入力パラメーターまたは出力パラメーターとしてそれらのパラメーターを使用できるようになります。
注意:
ノートブックを Web ツールとして公開する際に、入力パラメーターも出力パラメーターも定義する必要はありません。 たとえば、あらかじめ定義された入力と出力 (itemId で参照されるフィーチャ レイヤーなど) を持つタスクを実行するノートブックでは、入力パラメーターも出力パラメーターも必要ありません。
注意:
入力パラメーターまたは出力パラメーターとしてサポートされているデータ タイプは、String、Long、Double、Boolean、フィーチャ セット、レコード セット、日付、および距離単位です。 詳細については、ArcGIS Notebook Server REST API ドキュメントの「Geoprocessing services data types」をご参照ください。
Web ツールが実行されると、ArcGIS Notebook Server は、ユーザーの操作なしで新しいコンテナーを開き、ノートブックを実行することで、ノートブック サーバー コンピューター上でノートブックを自動的に実行します。 ノートブック権限を持つユーザー、およびノートブックが共有されているユーザーは、Web ツールにアクセスして実行できます。 必須のノートブック権限に加えて、ノートブックの実行に必要な他の権限も必要となります。
注意:
Web ツールとして共有するノートブックを作成する際に、ノートブックが入力データとしてワークスペース ディレクトリのファイルを参照する場合は、ノートブックまたは Web ツールを共有する他のユーザーはそのファイルにアクセスできません。 ノートブックに入力データとして参照する必要があるファイルがある場合は、Portal for ArcGIS で共有ポータル アイテムを介してファイルを参照するか、ArcGIS Notebook Server に登録されているカスタム データ ディレクトリからファイルをアップロードして参照できます。
デフォルトでは、ArcGIS Notebook Server は、ArcGIS Notebook Server コンピューターごとに最大 10 個の非インタラクティブなノートブックを同時に実行するように構成されています。 これには、Web ツール、スケジュール設定されたタスク、executeNotebook API、および Webhook トリガーによってトリガーされる実行が含まれます。 管理者は、必要に応じてこの制限を増やすことができます。
注意:
ノートブック エディターに [パラメーター] オプションまたは [公開] オプションが表示されない場合は、Web ツールの公開権限を持っていないか、ノートブックの所有者ではありません。 新しく作成されたノートブックでは、ノートブックが保存されるまで、[パラメーター] オプションおよび [公開] オプションが表示されません。
入力パラメーターの構成
入力パラメーターは、ノートブックが Web ツールとして実行されるときに外部化される、ノートブック内の入力変数に相当します。 ノートブック エディターの [パラメーター] ウィンドウを使用して、入力パラメーターを構成し、変数としてノートブックに追加できます。
- ノートブック エディターで、[パラメーター] をクリックします。
- [追加] をクリックします。
- [方向] で入力を選択します。
- [変数名] に名前を指定します。
注意:
この名前は、ノートブック コード内にある変数名、またはノートブックにすでに構成されている変数名と一致する必要があります。 - [表示名] に Web ツール パラメーターの名前を入力します。
- [データ タイプ] ドロップダウン メニューから、入力パラメーターのデータ タイプを選択します。
- Default value に入力パラメーターの値を指定します。 サポートされているデータ タイプのデフォルト値の構文については、「Geoprocessing services data types」をご参照ください。
- Description に入力パラメーターの説明を入力します。
- [保存] をクリックして、入力パラメーターを保存します。
- 入力パラメーターをさらに追加するには、ステップ 1 ~ 9 を繰り返します。
- すべての入力パラメーターを追加したら、パラメーターを挿入するノートブック内のセルを選択し、[変数として追加] をクリックします。
- [保存] をクリックして、ノートブックを保存します。
出力パラメーターの構成
ノートブック エディターの [パラメーター] ウィンドウから出力パラメーターを構成して、Web ツールとして公開されるノートブックの出力を構成できます。
- ノートブック エディターで、[パラメーター] をクリックします。
- [追加] をクリックします。
- [Direction] パラメーターで出力を選択します。
- Variable name に名前を指定します。
注意:
この名前は、ノートブック コード内にある変数名、またはノートブックにすでに構成されている変数名と一致する必要があります。 - Display name に Web ツール パラメーターの名前を入力します。
- [Data type] ドロップダウン メニューから、出力パラメーターのデータ タイプを選択します。
- Default value に出力パラメーターの値を入力します。 サポートされているデータ タイプのデフォルト値の構文については、「Geoprocessing services data types」をご参照ください。
- [Description] に、出力パラメーターの説明を入力します。
- [保存] をクリックして、出力パラメーターを保存します。
- ノートブックでセルを選択します。 [追加] ボタンをクリックし、Web ツールの出力を書き込むための Python コード スニペットを追加します。
出力が作成されるセルの下、ノートブックの下部近くのセルを選択することをお勧めします。
- 追加されたコード スニペットを調べ、出力変数名がノートブックに定義されている出力と一致することを確認して、コード スニペットをさらに調整します。
- 出力パラメーターをさらに追加するには、ステップ 1 ~ 11 を繰り返します。
- [保存] をクリックして、ノートブックを保存します。
Web ツールの公開
ノートブック エディターの [公開] ウィンドウから、ノートブックを Web ツールとして公開できます。
- ノートブックを保存して、ノートブックの最新のコピーが公開されるようにします。
- ノートブックのセルを手動で対話的に実行して、エラーがないことを確認します。
- ノートブック エディターのリボンで [公開] をクリックします。
- [公開] ウィンドウの Title フィールドと Description フィールドに Web ツールのタイトルと説明を入力します。
- 入力パラメーターと出力パラメーターをすべて確認します。
- [公開] をクリックして、ノートブックを Web ツールとして公開します。
- Web ツールを正常に公開したら、[詳細の表示] をクリックして、Web ツールのアイテム詳細ページを表示します。
注意:
出力パラメーターのコード スニペットを含むセルは、対話モードで実行されないためスキップします。Web ツールの削除
Web ツール アイテムを削除することで、ノートブックから公開されたジオプロセシング サービスを削除できます。
- ノートブック エディターの上部リボンで、[公開] をクリックします。
- [詳細の表示] をクリックして、Web ツールのアイテム詳細ページを表示します。
- [設定] をクリックします。
- [アイテムの削除] をクリックし、ArcGIS Notebook Server 上で公開されている Web ツール アイテムとジオプロセシング サービスを削除することを確認します。
既存の入力パラメーターまたは出力パラメーターの編集
ノートブック エディターの [パラメーター] ウィンドウから、既存の入力パラメーターまたは出力パラメーターに変更を加えることができます。
注意:
ノートブックが Web ツールとしてすでに公開されている場合は、パラメーターに変更を加える前に、[パラメーター] ウィンドウで [編集の有効化] 切り替えボタンをクリックする必要があります。 ノートブックが Web ツールとして公開された後に、パラメーターに変更を加える場合は注意してください。その変更によって、その Web ツールを使用する Web アプリが破損する可能性があります。
- ノートブック エディターの上部リボンで、[パラメーター] をクリックします。
- パラメーターの横にあるオプション ボタンをクリックし、[編集] をクリックします。
- パラメーターを更新し、[保存] をクリックします。
- 入力パラメーターが更新された場合は、その入力変数を持つ既存のセルを手動で消去または削除し、ノートブックに変数として入力パラメーターを挿入する手順を繰り返します。
- 出力パラメーターが更新された場合は、その出力変数に対応するコード スニペットを手動で消去し、ノートブックに出力パラメーターのコード スニペットを追加する手順を繰り返します。
- [保存] をクリックして、ノートブックを保存します。
既存の入力パラメーターまたは出力パラメーターの削除
[パラメーター] ウィンドウから、既存の入力パラメーターまたは出力パラメーターを削除できます。
- ノートブック エディターの上部リボンで、[パラメーター] をクリックします。
- パラメーターの横にあるオプション ボタンをクリックし、[削除] をクリックします。
- [削除] をクリックして、パラメーターを完全に削除します。
- ノートブック内の入力変数または出力コード スニペットを手動で消去または削除します。
- [保存] をクリックして、ノートブックを保存します。
マップ範囲の使用
Map Viewer Classic で Web ツールを実行すると、以下に示すように、マップ範囲が context という名前の Python 変数として、他の入力パラメーターとともにノートブックに渡されます。
context = {
"extent": {
"ymin": -25203428.462408017,
"xmin": -46101923.491795965,
"ymax": 25203428.462407943,
"xmax": 46101923.491795965,
"spatialReference": {
"wkt": "PROJCS[\"WGS_1984_Web_Mercator_Auxiliary_Sphere\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator_Auxiliary_Sphere\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0],PARAMETER[\"Standard_Parallel_1\",0.0],PARAMETER[\"Auxiliary_Sphere_Type\",0.0],UNIT[\"Meter\",1.0]]"
},
}
}
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 ツールが失敗する場合は、ノートブック エディターでノートブックが正常に実行されることを確認します。