ArcGIS Notebooks 允许您将笔记本发布为 Web 工具。 具有发布 Web 工具权限的管理员和笔记本作者可以将他们拥有的笔记本发布为 Web 工具。 将笔记本发布为 Web 工具时,将在 ArcGIS Notebook Server 上创建异步地理处理服务并将其注册为 Web 工具。 笔记本和 web 工具之间是一对一的关系,即针对每个笔记本只能发布一个 web 工具,且系统将为网络工具项目分配与父笔记本相同的共享权限。 任何可以使用 RESTful 异步地理处理服务的客户端应用程序都可以使用 Web 工具。
运行时版本为 6.0 或更高版本的笔记本支持将笔记本发布为 web 工具。 要检查笔记本的运行时信息,请单击笔记本编辑器顶部功能区或笔记本项目页面上的设置选项卡中的信息按钮。 有关笔记本运行时的详细信息,请参阅查看可用 Python 库。
通过 notebook 编辑器,您可以为 notebook 配置输入和输出参数。 输入参数对应于笔记本中的输入变量,当笔记本作为 Web 工具运行时,您希望将这些输入变量具体化以供用户输入。 输出参数表示您希望作为 Web 工具输出返回的笔记本中的输出变量。 当您注册一个或多个输入或输出变量并发布笔记本时,这些参数将可用作相应 Web 工具的输入或输出参数。
注:
将笔记本发布为 Web 工具时,不需要定义输入或输出参数。 例如,使用预定义的输入和输出(例如由 itemId 引用的要素图层)执行任务的笔记本可能不需要输入或输出参数。
注:
支持以下数据类型作为输入或输出参数:字符串型、长整型、双精度型。布尔型、要素集、记录集、栅格数据图层、日期和线性单位。 有关详细信息,请参阅 ArcGIS Notebook Server REST API 文档中的地理处理服务数据类型。
当 Web 工具运行时,ArcGIS Notebook Server 打开一个新容器并在没有用户交互的情况下运行 Notebook,从而在 Notebook 服务器计算机上自动运行 Notebook。 具有运行 web 工具权限并与其共享笔记本的用户能够访问和运行 Web 工具。 除了所需的运行 web 工具权限外,还需要运行笔记本所需的所有其他权限。 有关权限的详细信息,请参阅用户类型、角色和权限主题。
注:
在创作要作为 Web 工具共享的笔记本时,如果笔记本从您的工作区目录中引用文件作为输入数据,则与之共享笔记本或 Web 工具的其他人不可以访问这些文件。 如果您有需要在笔记本中作为输入数据引用的文件,您可以通过 Portal for ArcGIS 中的共享门户项目引用该文件,或者从注册到 ArcGIS Notebook Server 的自定义数据目录上传和引用该文件。
默认情况下,ArcGIS Notebook Server 配置为可在每台 ArcGIS Notebook Server 计算机上最多同时运行 10 个非交互式笔记本。 包括由 Web 工具、计划任务、executeNotebook API 和 webhook 触发器触发的运行。 如有必要,管理员可以增加此限制。
注:
如果您在笔记本编辑器中没有看到参数或发布选项,则您可能不具有发布 Web 工具的权限,或者并非笔记本的所有者。 如果您在新创建的笔记本中,则在保存笔记本之前不会显示参数和发布选项。
配置输入参数
输入参数表示笔记本中的输入变量,当笔记本作为 Web 工具运行时,这些变量将被具体化。 使用笔记本编辑器中的参数窗格,您可以配置输入参数并将其作为变量添加到笔记本中。
- 在笔记本编辑器中,单击参数。
- 单击添加。
- 选择方向的输入。
- 为变量名称输入名称。
注:
此名称必须与笔记本代码中或已在笔记本中配置的变量名称匹配。 - 为 Web 工具参数输入显示名称。
- 从数据类型下拉菜单中,选择输入参数的数据类型。
- 为输入参数输入默认值的值。 有关支持的数据类型默认值的语法,请参阅地理处理服务数据类型。
- 对于描述,输入输入参数的描述。
- 单击保存以保存输入参数。
- 要添加更多输入参数,请重复步骤 1 到 9。
- 添加所有输入参数后,在笔记本中选择要插入参数的单元格,然后单击插入为变量。
- 单击保存以保存笔记本。
配置输出参数
您可以通过从笔记本编辑器的参数窗格中配置输出参数来配置发布为 Web 工具的笔记本的输出。
- 在笔记本编辑器中,单击参数。
- 单击添加。
- 选择方向参数的输出。
- 为变量名称输入名称。
注:
此名称必须与笔记本代码中或已在笔记本中配置的变量名称匹配。 - 为 Web 工具参数输入显示名称。
- 从数据类型下拉菜单中,选择输出参数的数据类型。
- 为输出参数输入默认值的值。 有关支持的数据类型默认值的语法,请参阅地理处理服务数据类型。
- 对于描述,输入输出参数的描述。
- 单击保存以保存输出参数。
- 在笔记本中选择一个单元格。 单击添加按钮添加 Python 代码片段,以编写 Web 工具的输出。
建议您选择笔记本底部附近的单元格,在创建输出的单元格下方。
- 检查添加的代码片段以确保输出变量名称与笔记本中定义的输出匹配,并对代码片段进行任意其他调整。
- 对所有其他输出参数重复步骤 1 到 11。
- 单击保存以保存笔记本。
发布 Web 工具
您可以从笔记本编辑器的发布窗格将笔记本发布为 Web 工具。
- 保存您的笔记本以确保发布了该笔记本的最新副本。
- 以交互方式手动运行笔记本的单元格以确保不存在错误。
- 在笔记本编辑器功能区上,单击发布。
- 在发布窗格的 Title 和 Description 字段中输入 Web 工具的标题和描述。
- 验证所有输入和输出参数。
- 单击发布以将笔记本发布为 Web 工具。
- 成功发布 Web 工具后,单击查看详细信息以查看 Web 工具的项目详细信息页面。
- 单击共享以打开共享窗口。
- 选择组织将 web 工具与组织的所有用户共享。
- 单击编辑群组共享与特定群组共享 Web 工具。
- 选择您想要共享的群组。
- 单击确定。
- 单击保存。
注:
跳过包含输出参数代码片段的单元格,因为它们不在交互模式下运行。共享 Web 工具
要与您的组织或组织中的特定群组共享或更新现有笔记本 Web 工具的共享设置,请按照以下步骤操作。
注:
共享 Web 工具的用户必须具有运行 Web 工具权限以及运行笔记本所需的任何其他权限,才能运行共享的 Web 工具。
注:
在 11.2 中引入,您现在可以将笔记本 Web 工具共享到与笔记本发布时所在级别不同的级别。 例如,即使 notebook 本身未与组织共享,notebook Web 工具也可以与组织共享。 为了确保先前版本中发布的 Web 工具能够利用此更改,请覆盖 Web 工具。
- 验证您是否已登录 Portal for ArcGIS,以及是否具备与您的组织共享内容的足够权限。
- 单击内容。
- 选中要共享的 Web 工具标题旁的框。
- 单击共享。
- 选择组织将 web 工具与组织的所有用户共享。
- 单击编辑群组共享与特定群组共享 Web 工具。
- 选择您想要共享的群组。
- 单击确定。
- 单击保存。
覆盖 Web 工具
覆盖 Web 工具将更新 Web 工具以使用该 Notebook 的最新快照。 您可以在 Notebook 编辑器的发布窗格中覆盖 Notebook Web 工具。
- 如果需要更新现有输入或输出参数,请按照本主题的编辑现有输入或输出参数部分中的步骤进行操作。
- 如果要添加新输入或输出参数,请按照本主题的配置输入参数或配置输出参数部分中的步骤进行操作。
- 单击保存以确保发布了该 Notebook 的最新副本。
- 手动运行 Notebook 中的各单元格以确保不存在错误。
注:
不要运行包含输出参数代码片段的单元格,因为它们不会在交互模式下运行。 - 单击发布。
- 单击覆盖以覆盖 Web 工具。
删除 Web 工具
您可以通过删除 Web 工具项目来删除从笔记本发布的地理处理服务。
- 在笔记本编辑器的顶部功能区上,单击发布。
- 单击查看详细信息以查看 Web 工具的项目详细信息页面。
- 单击设置。
- 单击删除项目并确认您想要移除发布在 ArcGIS Notebook Server 上的 Web 工具项目和地理处理服务。
编辑现有输入或输出参数
您可以从笔记本编辑器的参数窗格更改现有输入或输出参数。
注:
如果笔记本已作为 Web 工具发布,则必须先打开参数窗格中的启用编辑切换按钮,然后才能更改参数。 在将笔记本发布为 Web 工具后,更改参数时要格外谨慎,因为这些更改可能会破坏某些使用 Web 工具的 Web 应用程序。
- 在笔记本编辑器的顶部功能区上,单击参数。
- 单击参数旁边的选项按钮,然后单击编辑。
- 更新参数并单击保存。
- 如果输入参数已更新,请手动清除或移除包含输入变量的现有单元格,然后重复该步骤以将输入参数作为变量插入笔记本中。
- 如果输入参数已更新,请手动清除与输出变量对应的代码片段,然后重复步骤以将输出参数的代码片段添加到笔记本中。
- 单击保存以保存笔记本。
删除现有输入或输出参数
您可以从参数窗格中删除现有的输入或输出参数。
- 在笔记本编辑器的顶部功能区上,单击参数。
- 单击参数旁边的选项按钮,然后单击删除。
- 单击删除以永久移除参数。
- 手动清除或移除笔记本中的输入变量或输出代码片段。
- 单击保存以保存笔记本。
使用地图范围
当在 Map Viewer 经典版 中运行 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 服务目录运行任务以验证 Web 工具是否成功运行。
- 在 Web 浏览器中,打开 ArcGIS Notebook Server 服务目录 https://notebookserver.domain.com/webadaptorcontext/rest/services。
- 以 Web 工具所有者身份登录。
- 识别服务并浏览到任务页面。
- 单击提交作业。
- 输入任意输入参数然后单击提交作业。
- 或者,单击再次检查作业详细信息链接以检查作业的状态。
如果 Web工具成功完成,则会提供指向输出的链接。 对于成功和失败的运行,笔记本运行的 HTML 预览都会默认作为输出提供。
- 下载并查看 Notebook 的 HTML 预览,以验证 Web 工具的运行是否存在任何问题。
- 如果 Web 工具失败,请确认笔记本在笔记本编辑器中可成功运行。