Импорт файла зоны
После создания основной зоны в панели управления вы можете добавить записи вручную или импортировать готовый файл зоны со всеми необходимыми записями.
Особенности импорта
Следующие условия и особенности являются общими для всех способов импорта:
-
Формат и размер файла: Файл для импорта должен быть в формате BIND. Поддерживаемые расширения:
.txt,.bind. Максимальный размер файла: 1 Мб. -
Лимиты аккаунта: Перед импортом система проверяет лимиты вашего аккаунта на количество записей. Если после импорта общее количество записей превысит заданный лимит, система не будет импортировать файл и завершит процедуру ошибкой. Для расширения лимита обратитесь в техническую поддержку или к вашему менеджеру.
-
Обработка SOA-записи:
При импорте файла зоны SOA-запись обрабатывается. Servicepipe импортирует все поля из вашей SOA-записи, но заменяет исходный
serialна собственное значение. Это стандартная практика, необходимая для корректного версионирования зоны на стороне Servicepipe.Если вы попытаетесь повторно импортировать SOA-запись, которая не содержит новых данных (помимо
serial), система вернет ошибку с причиной"Nothing to update: operation aborted".{ "dnsRecord": { "name": "servicepipe.ru.", "rtype": "SOA", "ttl": 600, "data": "ns1.servicepipe.ru. example.mail.ru. 123 1440 3600 2592000 600" }, "reason": "Nothing to update: operation aborted" }В массиве с ошибками отображается оригинальное значение SOA-записи из вашего файла (включая serial), а в массиве успешных операций — значение, сохраненное на стороне Servicepipe, уже с новымserial. -
Поддерживаемые типы записей: Система добавляет только поддерживаемые типы записей и пропускает другие типы, не фиксируя это как ошибку.
-
Исключение дубликатов: Система не добавляет записи с полным совпадением имени, типа и значения уже существующих записей, чтобы не создавать дубликаты.
Способы импорта
Импортировать файл зоны можно двумя способами: через интерфейс панели управления или напрямую через API.
Импорт через интерфейс панели управления
-
Перейдите к управлению записями.
В панели управления Servicepipe выберите раздел DNS → Основные зоны в боковом меню.
На вкладке Основные зоны выберите нужную зону, нажмите на иконку с тремя точками (
…) и выберите пункт меню Редактировать записи.
-
Загрузите файл зоны.
На открывшейся странице управления записями нажмите на кнопку импорта файла зоны:
В диалоговом окне вашего компьютера выберите файл для загрузки:
После выбора файла начнется его сканирование и добавление записей. Дождитесь завершения процедуры.
После завершения импорта система отобразит статус процедуры. Если во время импорта не удалось добавить определённые записи, вы увидите сообщение с деталями.
Импорт через API
Вы можете автоматизировать процесс импорта записей, используя API Servicepipe.
Шаг 1. Авторизация в API
Для доступа к API Servicepipe вам необходим API-токен. Подробнее о типах токенов и их получении читайте в статье Управление API-ключами.
Шаг 2. Выполнение запроса на импорт
Отправьте POST-запрос с файлом зоны, закодированным в base64.
Метод:
POST
URL:
https://api.servicepipe.ru/api/v1/dns/resource/primary/{id}/records/import
Параметры URL:
{id} (обязательный):: Идентификатор вашей DNS-зоны (ресурса).
Заголовки:
Authorization (обязательный):: Bearer {ваш_api_токен}
Content-Type:: application/json
Тело запроса:
Тело запроса должно содержать JSON-объект с одним ключом attachment. Значением для этого ключа является содержимое вашего файла зоны, предварительно закодированное в формат base64 и переданное в виде строки.
Пример тела запроса:
{
"attachment": "ZXhhbXBsZS5ydS4gICAgICAgICAgIDM2MDAgICAgIElOIFNPQSAgbnMxLmV4YW1wbGUucnUuIGV4YW1wbGUucnUuIDQgODY0MDAgOTAwIDY5MTIwMCAzNjAwCmV4YW1wbGUucnUuICAgICAgICAgICAzNjAwICAgICBJTiBBICAgICAgIDEuMS4xLjEKZXhhbXBsZS5ydS4gICAgICAgICAgIDM2MDAgICAgIElOIE5TICAgIG5zMS5leGFtcGxlLnJ1LgpleGFtcGxlLnJ1LiAgICAgICAgICAgMzYwMCAgICAgSU4gTlMgICAgbnMyLmV4YW1wbGUucnUu"
}
Шаг 3. Обработка ответа
При успешном выполнении запроса сервер вернет статус 201 Created и JSON-объект с результатами импорта.
Структура успешного ответа (201):
importedDnsRecords:: Массив объектов, содержащий список успешно импортированных DNS-записей.
failedRecords:: Массив объектов, содержащий список записей, которые не удалось импортировать, и причину сбоя для каждой из них.
Пример ответа:
{
"importedDnsRecords": [
{
"data": "192.168.1.1",
"name": "example.com",
"rtype": "A",
"ttl": 3600
}
],
"failedRecords": [
{
"dnsRecord": {
"data": "192.168.1.1",
"name": "example.com",
"rtype": "A",
"ttl": 3600
},
"reason": "The DNS record with the same parameters already exists in the system"
}
]
}
В случае ошибки в запросе (например, неверный формат данных) сервер вернет статус 400 Bad Request.
Важные проверки после импорта
|
После успешного завершения импорта мы настоятельно рекомендуем выполнить следующие проверки, чтобы убедиться в корректности конфигурации вашей зоны:
|