在 ArcGIS Server 10.7 中,管理员可以将地理处理服务(或多个地理处理服务)的作业目录从磁盘位置更改为 Microsoft Azure 云存储位置。 如果地理处理服务始终具有较大的输出,则可以使用此选项来扩展存储资源。 使用此配置,您的服务可能会变慢。
注:
输出地图图像图层选项在此配置中不可用。
注:
警告:JSON 模式文件、helpURL、文件和栅格输出将具有对任何有权访问该服务的人可见的文件签名。 尽管该签名会在几个小时后过期,但用户可以在何处使用该签名没有限制。 请确保您的整个 Blob store 不包含敏感数据。 评估此配置是否符合您组织的安全策略。
准备 Azure 环境
您需要一个 Microsoft Azure 帐户来创建存储帐户以及 Blob 容器和表。
创建 Azure 存储帐户
所有存储帐户必须满足以下要求:
- 需要标准性能存储帐户。
- 此帐户需要常规用途 v2 帐户。 所有其他类型的存储帐户都没有完成此配置所需的基本存储服务。 如果您仍在使用常规用途 v1 帐户,则可能仍然可以使用。
- 建议使用热访问层。
- 可以根据组织的需要调整存储帐户的其他高级设置。
部署存储帐户后,请复制存储帐户访问键的 key1,以便在将帐户注册为 ArcGIS Server 云存储时使用。
创建 Blob 容器、表和队列
为所有地理处理服务创建一个 Blob 容器,以及一个用于异步地理处理服务的额外表和队列。 它们必须位于同一个存储帐户中。
- 创建一个 Blob 容器。
- 如果您正在配置异步地理处理服务,则可能还需要创建一个表。 否则,ArcGIS Server 将为您创建一个。
- 还可以为每个异步地理处理服务创建唯一队列。 为每个服务将 "jobsStoreQueue":"<name of the queue>" 添加到 serviceProperties。
请注意您创建的容器、表和可选队列的确切名称;稍后您将会在以下步骤中使用它们。
将作业目录移动到 Azure
部署 Azure Blob 容器和表后,请在 ArcGIS Server 中注册 Blob 容器并相应地更改服务属性。
- 登录 ArcGIS Server 管理员目录,然后浏览到注册项目
- 以 JSON 形式提供 Azure Blob 容器和表的连接信息。 请参阅下面的示例。
注册项目
在本示例中,您还可以使用您自己的伪影替换 dataname、myaccountkey、storageaccountname、containername、optionalfoldername 和 tablename。
{ "path": "/cloudStores/dataname", "type": "cloudStore", "provider": "azure", "info": { "isManaged": false, "connectionString": { "accountKey":"myaccontkey", "accountName":"mystorageaccountname", "defaultEndpointsProtocol":"https", "accountEndpoint":"core.windows.net", "credentialType":"accessKey" }, "objectStore": "containername/optionalfoldername", "tableStore":"tablename" } }
- 返回管理员目录的主页,然后单击服务。
- 找到要配置为使用 Azure Blob 容器的地理处理服务,单击服务名称,然后单击编辑。
- 在服务的 JSON 表示中,添加具有新的唯一 serviceId、云存储名称和服务队列的以下密钥对:
异步地理处理配置
{ "serviceId": "<a unique service ID>", "jobQueueStore":"/cloudStores/<name of your cloud store>", "jobTableStore": "/cloudStores/<name of your cloud store>", "outputStore": "/cloudStores/<name of your cloud store>", "jobObjectStore": "/cloudStores/<name of your cloud store>", "jobsStoreQueue": "<name of the queue>" }
同步地理处理配置
{ "serviceId": "<a unique service ID>", "outputStore": "/cloudStores/<name of your cloud store>", "jobObjectStore": "/cloudStores/<name of your cloud store>" }
提示:
<name of the cloud store> 将位于管理员目录中其数据项目 URL 端点的末尾。
- 单击保存编辑内容确认。 地理处理服务将自动重启,这需要一些时间。
- 如果要配置多个地理处理服务以将 Azure Blob 容器用作其作业目录,请对每个服务重复执行步骤 4 - 6。
JSON 示例
通过在上面的步骤 5 中添加键值对更改地理处理服务的服务属性 JSON。
编辑 GPServer。 以下是异步地理处理服务配置的缩略 JSON。
{
"serviceName": "myGPService1",
"resultMapServer": "false",
"maximumRecords": "1000",
"virtualOutputDir": "/rest/directories/arcgisoutput",
"serviceId": "<this_is_a_unique_serviceid>",
"jobQueueStore":"/cloudStores/<name of your cloud store>",
"jobTableStore": "/cloudStores/<name of your cloud store>",
"outputStore": "/cloudStores/<name of your cloud store>",
"jobObjectStore": "/cloudStores/<name of your cloud store>",
"jobsStoreQueue": "<this_is_a_unique_queue_name>",
"portalURL": "https://domain/webadaptor/",
"toolbox": "<... removed to save space ...>"
},
"portalProperties": "",
"extensions": "",
"frameworkProperties": {},
"datasets": []
}