В ArcGIS Server версии 10.7 администраторы могут изменять расположение каталога заданий сервиса геообработки (или нескольких сервисов геообработки) с местоположения на диске на местоположение в облачном хранилище Microsoft Azure. Если производительность сервисов геообработки стабильно большая, то вы можете использовать эту опцию для экономии ресурсов для хранения.
Примечание:
Если опция Просматривать выходные данные в слое изображений карты была включена во время публикации веб-инструмента, то вы не сможете использовать облачное хранилище в качестве каталога заданий для созданного сервиса геообработки. Этот сервис будет поврежден сразу, как только в этот рабочий процесс будут внесены изменения.
Подготовка среды Azure
Вам понадобится учетная запись Microsoft Azure для создания учетной записи хранилища, а также контейнеров и таблиц Blob.
Создание учетной записи хранилища Azure
Учетная запись хранилища должна удовлетворять следующим требованиям:
- Необходима учетная запись хранилища стандартной производительности.
- Эта учетная запись может быть Общего назначения v2 (рекомендуется) или Общего назначения v1. Учетные записи хранилищ Blob, Block Blob и Azure Files не поддерживаются.
- Рекомендуется уровень горячего доступа.
- Другие, дополнительные параметры учетной записи хранилища могут настраиваться с учетом потребностей организации.
Когда учетная запись хранилища будет создана, скопируйте key1 из ключей доступа учетной записи хранилища, который понадобится при регистрации учетной записи в качестве облачного хранилища в ArcGIS Server.
Создание контейнера Blob и таблицы
Создайте контейнер Blob и таблицу в той же учетной записи хранилища. Сервис геообработки не сможет отличить их, если они будут в разных учетных записях хранилищ.
Вам также необходимо создать уникальную очередь для каждого асинхронного сервиса геообработки. Добавьте "jobsStoreQueue":"<name of the queue>" к serviceProperties для каждого сервиса.
Запишите точное имя контейнера, таблицы и дополнительных очередей, которые вы создаете; вы будете использовать их в следующих шагах.
Перемещение каталога заданий в Azure
Как только контейнер Azure Blob и таблица будут развернуты, зарегистрируйте этот Blob контейнер в ArcGIS Server и измените свойства сервиса соответственно.
- Войдите в ArcGIS Server Administrator Directory и перейдите к опции Зарегистрировать элемент
- Предоставьте информацию о подключении вашего контейнера Azure BLOB и таблицы в формате JSON. Ссылка на образец ниже.
- Вернитесь на главную страницу каталога Administrator Directory и щелкните Сервисы.
- Найдите сервис геообработки, который вы хотели бы настроить на использование контейнера 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>",
Подсказка:
Имя облачного хранилища будет в конце конечной точки URL этого элемента данных в каталоге Administrator Directory.
- Щелкните Сохранить изменения. Сервис геообработки автоматически перезапустится, что займет некоторое время.
- При настройке нескольких сервисов геообработки для использования контейнера Azure Blob в качестве каталога заданий повторите шаги с 4 по 6 для каждого сервиса.
Пример JSON
В этом примере замените 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"
}
}
Измените JSON свойств сервиса геообработки, добавив пары ключ-значение, необходимые на шаге 5 выше.
Отредактируйте GPServer.
{
"serviceName": "myGPService1",
<... removed to save space ...>
"resultMapServer": "false",
"maximumRecords": "1000",
"virtualOutputDir": "/rest/directories/arcgisoutput",
<... below is the new key-values needed ...>
"serviceId": "this_is_a_unique_serviceid",
"jobQueueStore":"/cloudStores/azure",
"jobTableStore": "/cloudStores/azure",
"outputStore": "/cloudStores/azure",
"jobObjectStore": "/cloudStores/azure",
"jobsStoreQueue": "this_is_a_unique_queue_name",
<... end of new key-values needed ...>
"portalURL": "https://domain/webadaptor/",
"toolbox": <... removed to save space ...>
},
"portalProperties": < ...removed to save space... >,
"extensions": < ...removed to save space... >,
"frameworkProperties": {},
"datasets": []
}