nizamov school: Amazon S3 + 1С. Часть 4. Выгрузка файлов в облако - видео HD

nizamov school: Amazon S3 + 1С. Часть 4. Выгрузка файлов в облако - видео
00:14:54
Обнаружено блокирование рекламы на сайте

Для существования нашего сайта необходим показ рекламы. Просим отнестись с пониманием и добавить сайт в список исключений вашей программы для блокировки рекламы (AdBlock и другие).

nizamov school 191 ролик

Образовательное сообщество для программистов 1С. Записаться на занятие — https://nizamov.school/courses/integration1s/1s-python?utm_source=12n-ru

Amazon S3 + 1С. Часть 4. Выгрузка файлов в облако - видео.

Всем привет, с вами Низамов Илья и сегодня четвертая часть по написанию обработки взаимодействия с облаком Amazon S3. В данной части я разберу отправку файлов в облако Amazon S3 используя POST запрос multipart form data и немного доработаю код для большей универсальности.

Купить готовую обработку: nizamov.studio/product/p00001

Подписывайтесь на обновления:
Telegram: t.me/nizamov_studio_1c
VK: vk.com/nizamov.studio

Ссылка на видео: www.youtube.com/watch?v=IHGBS9FEDjE
Сайт: nizamov.studio
Выполненные работы: nizamov.studio/#portfolios

Mail: pr.nizamov@mail.ru
Skype: Region102102
МТС, WhatsApp, Viber: 9174490997
RSS
Sergey Limanchuk
10:24
Илья, добрый день! Очень медленно идет отправка через POST-запрос, на каждый файл не менее 20 секунд. Попробовал PUT, но скорость не выросла. Есть ли еще какие-то варианты ускориться?
getz723
13:39
Илья, добрый день. Ссылка на материалы битая. На Вашем сайте доступны только 1-3 части, 4-й нет.
Ростислав Кабалин
10:05
Привет, уроки отличные, взял у тебя структуру формирования Http-запроса.
Можешь посоветовать литературу по 1С?
Александр Жданов
08:04
Хочу приобрести, но хочу уточнить один момент.

В последней версии сервера взаимодействия появилась возможность прикреплять файлы к сообщению.

Разработчики 1с как всегда мутные в документации и пишут следующее:
При отправке сообщения с вложенными файлами эти файлы помещаются по внешнее файловое хранилище на сервере взаимодействия.

Файлы, прикрепленные к сообщениям, хранятся на сервере взаимодействия, во внешнем хранилище.
Поддерживаются хранилища Amazon S3, Google Cloud, OpenStack Swift и другие хранилища, реализующие протокол Amazon S3.

Скажите мне подойдет эта обработка для того чтобы сервер взаимодействия понял что у меня есть внешнее хранилище?
Или быть может вы выпустите специальное видео и сделаете спеициальную обработку по интеграции Amazon и Сервера взаимодействия. Сервер взаимодействия набирает обороты думаю это будет очень востребовано. Спасибо!
Айсылу Зигангареева
23:16
Здравствуйте! Мы купили вашу обработку Amazon s3.epf для выгрузки файлов из 1С ЗУП в хранилище s3 нашего заказчика. Нам были даны параметры этого хранилища: aws_access_key_id, aws_secret_access_key, region, folder. Но было заявлено, что их хранилище создано по адресу -endpoint-url=https://s3-private.mds.yandex.net, без bucket. Каким образом нам настроить параметры вашей обработки, чтобы соединиться с этим хранилищем?
Валерий Ильин
22:29
Использую вашу обработку. Загрузка проходит — ок. При выгрузке файлов в s3 выходит ошибка Access Denied. Получение бакета на s3 делал как у вас в видео. Никаких дополнительных permisson не выставлял. В обработке изменил адрес .s3.amazonaws.com на .s3.eu-west-3.amazonaws.com как потребовал amazon при ваших настройках. Если расчет сигнатуры поставить JS сервер, то выдается сообщение «The request signature we calculated does not match the signature you provided. Check your key and signing method.» Есть соображения куда копать?
Валерий Ильин
21:17
Здравствуйте! Выгрузку файлов удалось сделать через вашу обработку только при открытии public доступа к бакету. Что, как я понимаю, не совсем правильно. Т.к. при public доступе файлы в бакете можно смотреть и без ключей доступа через браузер. Обработка куплена. Загрузка файлов через обработку работает и без public доступа. Возможно ли загружать файлы в бакет без public доступа через вашу обработку?
argentum1010
17:51
Ситуация по выгрузке такая, не хотело загружаться, писало что нет доступа, ошибка в конструкции starts-with и именем папки, только когда я убрал имя папки из конструкции начало грузить, для адекватных имён файлов и возможности грузить в папки так же отредактировал при формировании текста запроса key на папку и имя самого файла, мало ли, кому пригодится
Александр Щетинин
20:38
Илья, добрый вечер. Написал выгрузку файлов по вашему уроку, выгрузку произвожу в yandex cloud. Файл в облако загружается полностью. Проверяю его через файловый менеджер. Но вот ответ об успешной загрузке не возвращается, а 1С возвращает ошибку «Ошибка работы с Интернет: Превышено время ожидания». Логично увеличить время ожидания, но ошибка сохраняется почти такой же «Ошибка работы с Интернет: Failure when receiving data from the peer». Антивирус или файрвол на компьютере не установлены, брандмауэр отключен, то есть даже не знаю на что ещё можно грешить при работе с интернетом и что отключать. Может быть есть варианты на что посмотреть для выхода из сложившейся ситуации?
Евгений Перов
09:56
Добрый день.
Данная обработка корректно передает только текстовые файлы, другие файлы при передаче увеличиваются в размере и уже не открываются.

Похоже, что дело в методе ПолучитьДвоичныеДанныеВСтрокуБезКодирования, который преобразует двоичные данные в текст.

Есть идеи, как передавать любые бинарные файлы?

&НаСервере
Функция СформироватьБлокContent(filename, filedata, ТекстДляОтправки, Boundary, ФайлВыгрузки)
ТекстДляОтправки = ТекстДляОтправки+"--"+Boundary+Символы.ВК+Символы.ПС;
ТекстДляОтправки = ТекстДляОтправки+«Content-Disposition: form-data; name=»«file»"; filename = """+filename+""""+Символы.ВК+Символы.ПС;
ТекстДляОтправки = ТекстДляОтправки+«Content-Type: application/x-zip-compressed»+Символы.ВК+Символы.ПС+Символы.ВК+Символы.ПС;
filedataPOST = ПолучитьДвоичныеДанныеВСтрокуБезКодирования(ФайлВыгрузки);
ТекстДляОтправки = ТекстДляОтправки+filedataPOST+Символы.ВК+Символы.ПС;
КонецФункции

&НаСервере
Функция ПолучитьДвоичныеДанныеВСтрокуБезКодирования(ПутьКФайлу)
ТД = Новый ТекстовыйДокумент;
ТД.Прочитать(ПутьКФайлу, КодировкаТекста.ANSI, Символы.ПС);
Возврат ТД.ПолучитьТекст();
КонецФункции