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

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

Если вы создадите базу геоданных с помощью ArcGIS Pro версии 3.6, версия этой базы геоданных будет 12.0.0.x.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Войдите в виртуальную машину в облачной среде и запустите ArcGIS Pro.
  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 Pro или ArcGIS Server.
  2. Откройте окно Python.

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

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

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

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

    В следующем примере функция EnableEnterpriseGeodatabase запускается из установки ArcGIS Pro. Файл подключения к базе данных (postresdbaas.sde) хранится в папке проекта ArcGIS Pro (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 Pro (Standard или 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 Pro и в который был помещен файл кодов ключей в 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 на той виртуальной машине, где запущен этот скрипт. При наличии проблем с созданием базы геоданных посмотрите этот файл журнала для их устранения.

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