В ArcGIS Server версии 10.7 администраторы могут изменять расположение каталога заданий сервиса геообработки (или нескольких сервисов геообработки) с местоположения на диске на местоположение в облачном хранилище Microsoft Azure, не изменяя расположений других каталогов сервера. Если производительность сервисов геообработки стабильно большая, то вы можете использовать эту опцию для экономии ресурсов для хранения.
Примечание:
Если опция Просматривать выходные данные в слое изображений карты была включена во время публикации веб-инструмента, то вы не сможете использовать облачное хранилище в качестве каталога заданий для созданного сервиса геообработки. Этот сервис будет поврежден сразу, как только в этот рабочий процесс будут внесены изменения.
Подготовка среды Azure
Вам понадобится учетная запись Microsoft Azure для создания учетной записи хранилища, а также контейнеров и таблиц Blob.
Создание учетной записи хранилища Azure
Учетная запись хранилища должна удовлетворять следующим требованиям:
- Необходима учетная запись хранилища стандартной производительности.
- Эта учетная запись может быть Общего назначения v2 (рекомендуется) или Общего назначения v1. Учетные записи хранилищ Blob, Block Blob и Azure Files не поддерживаются.
- Рекомендуется уровень горячего доступа.
- Другие, дополнительные параметры учетной записи хранилища могут настраиваться с учетом потребностей организации.
Когда учетная запись хранилища будет создана, скопируйте key1 ключей доступа учетной записи хранилища, которая понадобится при регистрации учетной записи в качестве облачного хранилища в ArcGIS Server.
Создание контейнера Blob и таблицы
Создайте контейнер Blob и таблицу в той же учетной записи хранилища. Сервис геообработки не сможет отличить их, если они будут в разных учетных записях хранилищ.
Запомните точное имя создаваемой таблицы; оно понадобится позднее в ArcGIS Server.
Перемещение каталога заданий в Azure
Как только контейнер Azure Blob и таблица будут развернуты, зарегистрируйте этот Blob контейнер в ArcGIS Server и измените свойства сервиса соответственно.
- Войдите в ArcGIS Server Manager и зарегистрируйте Blob контейнер вашей учетной записи хранилища на сервере.
- Когда Blob контейнер будет зарегистрирован в качестве облачного хранилища, привяжите его к таблице Azure, используя REST API. Войдите в ArcGIS Server Administrator Directory по адресу https://gisserver.domain.com:6443/arcgis/admin.
- Перейдите data > items > /CloudStores, найдите свой новый BLOB контейнер и щелкните редактировать, чтобы открыть конечную точку элемента Редактирование данных.
- В представлении JSON этого элемента добавьте следующую ключевую пару с именем вашей таблицы Azure:
"tableStore":"<name of Azure table>"
- Для подтверждения щелкните Обновить.
- Вернитесь на главную страницу каталога Administrator Directory и щелкните Сервисы.
- Найдите сервис геообработки (или один из сервисов), который вы хотели бы настроить на использование контейнера Azure Blob, щелкните имя сервиса и выберите команду редактировать.
- В представлении JSON этого сервиса найдите и измените следующую ключевую пару с именем облачного хранилища:
"jobsDirectory":"/cloudStores/<name of your cloud store>"
Подсказка:
Имя облачного хранилища будет в конце конечной точки URL этого элемента данных в каталоге Administrator Directory.
- Щелкните Сохранить изменения.
- При настройке нескольких сервисов геообработки для использования контейнера Azure Blob в качестве каталога заданий повторите шаги 4–9 для каждого сервиса.
Пример JSON
В данном примере учетная запись Azure содержит учетную запись хранилища под именем mystorageaccount, а в учетной записи этого хранилища контейнер Blob с именем myblob и таблицу mytable. key1 mystorageaccount есть thisisafakekey12345. Вам надо, чтобы сервис геообработки, myGPService1, использовал хранилище Azure для своего каталога заданий.
Во время процесса регистрации Имя облачного хранилища – azureblob.
Когда вы измените свойства облачного хранилища, JSON тоже изменится, в конец будет добавлен "tableStore": "mytable": Отредактируйте элемент данных.{
"path": "/cloudStores/azureblob",
"type": "cloudStore",
"id": "31245-abcde...",
"provider": "azure",
"info": {
"isManaged": false,
"connectionString": "abc/def/ghi/jkl/lmn/opq",
"objectStore": "myblob",
"tableStore": "mytable"
}
}
Затем, измените JSON свойств сервиса вашего сервиса геообработки , добавив "jobsDirectory": "/cloudStores/azureblob", после "virtualOutputDir": "/rest/directories/arcgisoutput",.
Отредактируйте GPServer.
{
"serviceName": "myGPService1", <... removed to save space ...>
"resultMapServer": "false", "maximumRecords": "1000", "virtualOutputDir": "/rest/directories/arcgisoutput", "jobsDirectory": "/cloudStores/azureblob", "portalURL": "https://domain/webadaptor/", "toolbox": <... removed to save space ...>
}, "portalProperties": < ...removed to save space... >, "extensions": < ...removed to save space... >, "frameworkProperties": {}, "datasets": []
}