ПараметрыДоступаВнешнегоХранилищаДвоичныхДанных

Типы · BinaryDataExternalStorageAccessParameters

Параметры доступа внешнего хранилища двоичных данных.

Примеры платформы

пд = Новый ПараметрыДоступаВнешнегоХранилищаДвоичныхДанных();
пд.ИдентификаторДоступа = "EXAMPLE";
пд.СекретныйКлюч = "SecretKey";
пд.Регион = "US";
Полное описание, параметры и ограничения

ПараметрыДоступаВнешнегоХранилищаДвоичныхДанных (BinaryDataExternalStorageAccessParameters)

ПараметрыДоступаВнешнегоХранилищаДвоичныхДанных (BinaryDataExternalStorageAccessParameters)

Доступен, начиная с версии 8.3.24.

Свойства:
ИдентификаторДоступа (AccessID)
Регион (Region)
СекретныйКлюч (SecretKey)

Описание:

Параметры доступа внешнего хранилища двоичных данных.

Доступность:

Сервер.

Пример:

пд = Новый ПараметрыДоступаВнешнегоХранилищаДвоичныхДанных();
пд.ИдентификаторДоступа = "EXAMPLE";
пд.СекретныйКлюч = "SecretKey";
пд.Регион = "US";

См. также:
МенеджерВнешнегоХранилищаДвоичныхДанных

Использование в версии:

Доступен, начиная с версии 8.3.24.

Методическая информация

Практические примеры

Проверить описание только своего внешнего хранилища без вывода ключей

Выбираем заранее подготовленное GUIDE_S3, читаем его параметры и проверяем заполненность доступа. Никакие ключи, URL и регионы не выводятся открытым текстом.

Где и как запускать

Полный серверный модуль собственной учебной конфигурации 8.5.1.1343. Нет применения настроек или удаления данных хранилища.

Подготовка

  1. Только отдельная учебная база и серверный общий модуль. Если нужен непустой результат, администратор заранее вручную настраивает собственное тестовое S3-хранилище с уникальным именем GUIDE_S3 и выделенным учебным bucket.

  2. Если такого собственного сервиса нет, запускайте только для понятного сообщения отсутствия. Этот пример его не создаёт и не просит вводить секреты в текст кода.

  3. Не передавайте код чужому рабочему хранилищу и не добавляйте вывод объектов ПараметрыДоступа целиком. Код только читает описание собственной настройки.

Процедура ВыполнитьПример() Экспорт
    Настройка = Новый Структура("Тип,Имя", ТипХранилищаДвоичныхДанных.Внешнее, "GUIDE_S3");
    Если Настройка.Тип = ТипХранилищаДвоичныхДанных.Встроенное Тогда
        Сообщить("Для встроенного типа нужна отдельная диагностика ХранилищеДвоичныхДанных");
        Возврат;
    КонецЕсли;
    Если Настройка.Тип <> ТипХранилищаДвоичныхДанных.Внешнее Тогда
        ВызватьИсключение "Неизвестный тип учебной настройки";
    КонецЕсли;
    Попытка
        Сообщить("Внешних описаний в базе: " + Строка(ВнешниеХранилищаДвоичныхДанных.Количество()));
        Хранилище = ВнешниеХранилищаДвоичныхДанных.Найти(Настройка.Имя);
    Исключение
        Сообщить("Чтение реестра недоступно; проверьте права и причину: " + ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    Если Хранилище = Неопределено Тогда
        Сообщить("Собственное GUIDE_S3 не подготовлено; регистрация и сетевой запрос не выполняются");
        Возврат;
    КонецЕсли;
    Сообщить(Хранилище.Имя = "GUIDE_S3");
    Сообщить("Дата очистки задана: " + Строка(Хранилище.ДатаПоследнейОчистки <> Неопределено));
    Сообщить("Минимальный размер в байтах: " + Строка(Хранилище.МинимальныйРазмерЗаписываемыхДанных));
    Сообщить("Хранилище по умолчанию: " + Строка(Хранилище.ХранилищеПоУмолчанию));
    Сообщить("Режим чтения/записи: " + Строка(Хранилище.РежимЧтенияЗаписи));
    Сообщить("Правил состава: " + Строка(Хранилище.СоставХранимыхДанных.Количество()));
    Подключение = Хранилище.ПараметрыПодключения;
    Сообщить("URL заполнен: " + Строка(НЕ ПустаяСтрока(Подключение.URL)));
    Сообщить("Подкаталог задан: " + Строка(НЕ ПустаяСтрока(Подключение.Каталог)));
    Сообщить("Тип URL: " + Строка(Подключение.ТипURL));
    Доступ = Хранилище.ПараметрыДоступа;
    Сообщить("Идентификатор доступа заполнен: " + Строка(НЕ ПустаяСтрока(Доступ.ИдентификаторДоступа)));
    Сообщить("Секретный ключ заполнен: " + Строка(НЕ ПустаяСтрока(Доступ.СекретныйКлюч)));
    Сообщить("Регион задан: " + Строка(НЕ ПустаяСтрока(Доступ.Регион)));
    Сообщить("Проверена заполненность описания, не успешная авторизация S3");
КонецПроцедуры

Разбор по шагам

  1. Тип учебной настройки — системное значение Внешнее. Для Встроенное выбран другой менеджер, а не поиск по имени в реестре S3.

  2. Ищем только известное собственное имя GUIDE_S3. Отсутствие — нормальный понятный выход; код не регистрирует сервис по фиктивным реквизитам.

  3. Менеджер хранит описание: минимальный размер, дату последней очистки, режим, признак по умолчанию и состав. Это не доказательство доступности bucket.

  4. ПараметрыПодключения и ПараметрыДоступа — два разных объекта. URL, каталог, идентификатор, регион и секрет проверяются на заполненность без вывода самих строк.

  5. ПараметрыДоступа получают от зарегистрированного менеджера; у этого типа нет документированного конструктора Новый. Не выдумываем его.

  6. Нет Записать, Добавить, Удалить, очистки, установки монопольного режима или отправки S3-запроса. Проверка заполненности не равна успешной авторизации.

Как проверить результат

  1. Если GUIDE_S3 нет — выход без регистрации. Если оно подготовлено — истинная проверка имени и фактические неперсональные признаки.

  2. В сообщениях не появляются значения ключа, идентификатора доступа, URL или региона. Ни одно свойство менеджера не присваивается.

Ожидаемый результат

Собственное описание S3 исследовано с сохранением секретов и без изменения рабочей настройки.

На что обратить внимание

  1. Не тестируйте пример на произвольных рабочих хранилищах только потому, что они есть в реестре.

  2. Наличие ключа не проверяет правильность подписи, срок доступа или политики bucket.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.