Создать базу геоданных в облачном сервисе баз данных PostgreSQL

AllSource 1.4    |

ArcGIS поддерживает несколько облачных предложений, где базы данных используются как сервис на основе PostgreSQL. Вы можете создать многопользовательскую базу геоданных в большинстве облачных сервисов баз данных PostgreSQL, которые поддерживают Esri .

Если вы создадите базу геоданных из ArcGIS AllSource версии 3.5, версия этой базы геоданных будет 11.5.0.x.

Выполните необходимые условия

Прежде чем создать базу геоданных, необходимо создать экземпляр базы данных в своей облачной учетной записи, настроить его на получение подключений, создать пользователя sde и схему и предоставить пользователю sde права для создания базы геоданных.

Следуйте инструкциям, предоставленным вашим облачным провайдером, чтобы выполнить эти шаги.

Также надо скопировать файл авторизации с кодом ключа ArcGIS Server на облачный компьютер, где установлен клиент ArcGIS, который будет использоваться для создания базы геоданных.

Перед созданием базы геоданных выполните следующие обязательные шаги:

  1. Убедитесь, что используемые вами версии ArcGIS поддерживают тип и версию сервиса облачных баз данных, которые вы хотите использовать.
  2. Создайте экземпляр сервиса баз данных на выбранной вами облачной платформе.
  3. Создайте логин пользователя с именем sde для экземпляра базы данных.
  4. Предоставьте пользователю sde права, необходимые для создания базы геоданных для используемого вами типа сервиса баз данных.
  5. Создайте схему с именем sde в экземпляре базы данных и предоставьте пользователю sde права доступа к схеме.
  6. Установите клиентское приложение ArcGIS—ArcGIS AllSource или ArcGIS Server—, которое будет использоваться для создания базы геоданных.

    Установите клиентское приложение ArcGIS на той же облачной платформе и в том же регионе, где запущен сервис базы данных.

  7. Убедитесь, что экземпляр базы данных настроен таким образом, чтобы разрешать подключения из клиента ArcGIS.
  8. С помощью клиента ArcGIS, который был установлен на шаге 6, создайте подключение к базе данных с экземпляром базы данных, подключившись как пользователь sde.

    Примеры строк экземпляра смотрите в разделе Подключения к базе данных в ArcGIS AllSource.

    Если пользователь sde является пользователем, прошедшим аутентификацию в базе данных, вы должны сохранить пароль пользователя sde в соединении с базой данных.

  9. Получите файл ключей ArcGIS Server и поместите его в такое место, где он будет доступен для клиента ArcGIS, который будет использоваться для создания базы геоданных.

Теперь вы можете создать базу геоданных в экземпляре базы данных в облаке.

Создайте базу геоданных в экземпляре сервиса базы данных

Если ArcGIS AllSource установлен в том же облачном регионе, что и сервис базы данных, можно запустить инструмент геообработки Включить многопользовательскую базу геоданных для создания базы геоданных в экземпляре базы данных, как описано в первом разделе ниже.

Либо можно запустить функцию EnableEnterpriseGeodatabase ArcPy в окне Python или запустить скрипт Python из установки ArcGIS AllSource или ArcGIS Server в облаке.

Запустите инструмент Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase)

Следуйте приведенным шагам по созданию базы геоданных с помощью инструмента Включить многопользовательскую базу геоданных в ArcGIS AllSource:

  1. Войдите в виртуальную машину в облачной среде и запустите ArcGIS AllSource.
  2. Откройте инструмент Включить многопользовательскую базу геоданных.

    Для основной информации об открытии инструментов геообработки см. Поиск инструмента геообработки.

  3. В качестве параметра Входное подключение к базе данных укажите файл подключения к базе данных, который вы создали в рамках выполнения необходимых шагов.
  4. Чтобы указать Файл авторизации, выберите файл keycodes, который был создан при авторизации ArcGIS Server (Enterprise).

    Этот файл записывается в \\Program Files\ESRI\License<release#>\sysgen при установке ArcGIS Server на Windows и в /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen при установке ArcGIS Server на Linux.

  5. Щелкните Запустить.

Теперь у вас есть база геоданных в экземпляре базы данных.

Вы можете найти сообщения, относящиеся к созданию базы геоданных, в файле sde_setup.log, который создается в каталоге, указанном для переменной TEMP, на том компьютере, где запущен этот скрипт. При наличии проблем с созданием базы геоданных посмотрите этот файл журнала для их устранения.

Затем администратор базы данных может создать роли для входа и соответствующие схемы для пользователей, которые будут создавать, редактировать и просматривать данные, а также создать роли входа для редакторов и вьюеров данных и предоставьте этим пользователям соответствующие права.

Запустите функцию ArcPy EnableEnterpriseGeodatabase

Чтобы запустить функции ArcPy , подключитесь к одному из клиентских компьютеров ArcGIS в облаке и запустите функцию из окна Python.

  1. Войдите в виртуальную машину в облачной среде, на которой установлен ArcGIS AllSource или ArcGIS Server.
  2. Откройте окно Python.

    Смотрите следующее для получения информации о доступе к Python из установок ArcGIS:

    • Окно Python — информация об открытии окна из ArcGIS AllSource
    • ArcGIS Server и ArcPy—Информация о доступе к окну Python при установке ArcGIS Server

  3. Запустите функцию EnableEnterpriseGeodatabase ArcPy из окна Python.

    Используйте созданный вами файл подключения к базе данных и ссылайтесь на файл авторизации ArcGIS Server, который вы разместили в доступном месте, как часть необходимых шагов.

    В следующем примере функция EnableEnterpriseGeodatabase запускается из установки ArcGIS AllSource. Файл подключения к базе данных (postresdbaas.sde) хранится в папке проекта ArcGIS AllSource (C:\proprojects\pg_proj), а файл авторизации (keycodes) хранится в C:\authcodes.

    arcpy.management.EnableEnterpriseGeodatabase(r"C:\proprojects\pg_proj\postresdbaas.sde",r"C:\authcodes\keyfile")

    В следующем примере функция запускается из установки ArcGIS Server на компьютере с Linux. Файл подключения к базе данных (postresdbaas.sde) хранится в /usr/connectionfiles, а файл кодов ключей находится в расположении ArcGIS Server по умолчанию.

    arcpy.management.EnableEnterpriseGeodatabase("/usr/connectionfiles/postresdbaas.sde","/usr/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License/sysgen/keycodes")

Теперь у вас есть база геоданных в экземпляре базы данных.

Вы можете найти сообщения, относящиеся к созданию базы геоданных, в файле sde_setup.log, который создается в каталоге, указанном для переменной TEMP, на том компьютере, где запущена эта функция. При наличии проблем с созданием базы геоданных посмотрите этот файл журнала для их устранения.

Затем администратор базы данных может создать роли для входа и соответствующие схемы для пользователей, которые будут создавать, редактировать и просматривать данные, а также создать роли входа для редакторов и вьюеров данных и предоставьте этим пользователям соответствующие права.

Запуск скрипта Python из клиента ArcGIS

Вы можете использовать этот скрипт, чтобы создать базу геоданных, запустив скрипт из ArcGIS AllSource (Desktop Standard или Desktop Advanced) или на компьютере с ArcGIS Server.

Подсказка:

Для получения дополнительной информации о запуске Python на компьютере ArcGIS Server см. ArcGIS Server и ArcPy.

Выполните следующие шаги, чтобы запустить скрипт Python, который вызывает функции CreateDatabaseConnection и EnableEnterpriseGeodatabase ArcPy для подключения к базе данных и создания базы геоданных в сервисе баз данных PostgreSQL:

  1. Сохраните файл с расширением .py.
  2. Запустите скрипт, предоставив параметры и информацию, специфичные для вашего экземпляра.

    В следующих примерах файл enable_gdb.py запускается с виртуальной машины в том же облачном регионе, что и сервис базы данных.

    В этом примере скрипт запускается из установки ArcGIS Server на компьютере Linux: Он подключается к базе данных с именем myauroradb в экземпляре Amazon Aurora PostgreSQL в регионе us-west-2 (database-1-instance-1.zyxjtlpj9fer.us-west-2.rds.amazonaws.com). Файл с кодами ключей был помещен в /usr/arcgis/auth на компьютере с ArcGIS Server.

    ./enable_gdb.py --DBMS POSTGRESQL -i database-1-instance-1.zyxjtlpj9fer.us-west-2.rds.amazonaws.com --auth DATABASE_AUTH 
    -u sde -p sdeP@ss -D myauroradb -l '/usr/arcgis/auth/keycodes'

    В следующем примере скрипт запускается с компьютера Microsoft Windows в Azure. Он подключается к базе данных с именем azure pdf в экземпляре Microsoft Azure Database for PostgreSQL (гибкий сервер) в my-pg-flex.postgres.database.azure.com. Файл кодов ключей находится в расположении ArcGIS Server по умолчанию.

    enable_gdb.py --DBMS POSTGRESQL -i my-pg-flex.postgres.database.azure.com --auth DATABASE_AUTH 
    -u sde -p EsDeeEpass -D azurepgf -l '\\Program Files\ESRI\License\sysgen\keycodes'

    В следующем примере скрипт запускается с компьютера, на котором установлен ArcGIS AllSource и в который был помещен файл кодов ключей в Users\MyUser\Documents\AuthFiles\keycodes. Скрипт подключается к базе данных (gcspostgres) в экземпляре Google Cloud SQL for PostgreSQL, доступ к которому осуществляется через общедоступный IP-адрес 98.765.43.210.

    enable_gdb.py --DBMS POSTGRESQL -i 98.765.43.210 --auth DATABASE_AUTH 
    -u sde -p Zpassw0rd -D gcspostgres -l '\\Users\MyUser\Documents\AuthFiles\keycodes'

    Подсказка:

    Введите -h или --help в командной строке для получения справки по синтаксису для этого скрипта.

Теперь у вас есть база геоданных в экземпляре базы данных.

Вы можете найти сообщения, относящиеся к созданию базы геоданных, в файле sde_setup.log, который создается в каталоге, указанном для вашей переменной TEMP или TMP на той виртуальной машине, где запущен этот скрипт. При наличии проблем с созданием базы геоданных посмотрите этот файл журнала для их устранения.

Затем администратор базы данных может создать роли для входа и соответствующие схемы для пользователей, которые будут создавать, редактировать и просматривать данные, а также создать роли входа для редакторов и вьюеров данных и предоставьте этим пользователям соответствующие права.