You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-07-17 01:42:25 +02:00
Интересный факт: Знач - это только для простых типов >:(
This commit is contained in:
@ -216,16 +216,18 @@
|
||||
, Знач Каталог = Ложь
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(XMLКонфигурация, Истина);
|
||||
XMLКонфигурация = ПолучитьДвоичныеДанныеИзСтроки(XMLКонфигурация);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Наименование, Каталог);
|
||||
URL = URL + "?encryption";
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросСТелом("PUT", ОсновныеДанные, XMLКонфигурация, , Заголовки);
|
||||
Ответ = ОтправитьЗапросСТелом("PUT", ОсновныеДанные_, XMLКонфигурация, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -250,14 +252,16 @@
|
||||
, Знач Каталог = Ложь
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Наименование, Каталог);
|
||||
|
||||
URL = URL + "?encryption";
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, , Заголовки);
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные_, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -282,14 +286,16 @@
|
||||
, Знач Каталог = Ложь
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Наименование, Каталог);
|
||||
|
||||
URL = URL + "?encryption";
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("DELETE", ОсновныеДанные, , Заголовки);
|
||||
Ответ = ОтправитьЗапросБезТела("DELETE", ОсновныеДанные_, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -317,17 +323,19 @@
|
||||
, Знач Каталог = Ложь
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
Теги = СформироватьСтруктуруТегов(Теги);
|
||||
ТегиXML = OPI_Инструменты.ПолучитьXML(Теги, "http://s3.amazonaws.com/doc/2006-03-01/");
|
||||
ТегиXML = ПолучитьДвоичныеДанныеИзСтроки(ТегиXML);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Наименование, Каталог);
|
||||
URL = URL + "?tagging";
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросСТелом("PUT", ОсновныеДанные, ТегиXML, , Заголовки);
|
||||
Ответ = ОтправитьЗапросСТелом("PUT", ОсновныеДанные_, ТегиXML, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -352,13 +360,15 @@
|
||||
, Знач Каталог = Ложь
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Наименование, Каталог);
|
||||
URL = URL + "?tagging";
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, , Заголовки);
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные_, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -383,13 +393,15 @@
|
||||
, Знач Каталог = Ложь
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Наименование, Каталог);
|
||||
URL = URL + "?tagging";
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("DELETE", ОсновныеДанные, , Заголовки);
|
||||
Ответ = ОтправитьЗапросБезТела("DELETE", ОсновныеДанные_, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -418,17 +430,19 @@
|
||||
, Знач Каталог = Ложь
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
Теги = СформироватьСтруктуруНастроекВерсионирования(Статус, УдалениеMFA);
|
||||
ТегиXML = OPI_Инструменты.ПолучитьXML(Теги, "http://s3.amazonaws.com/doc/2006-03-01/");
|
||||
ТегиXML = ПолучитьДвоичныеДанныеИзСтроки(ТегиXML);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Наименование, Каталог);
|
||||
URL = URL + "?versioning";
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросСТелом("PUT", ОсновныеДанные, ТегиXML, , Заголовки);
|
||||
Ответ = ОтправитьЗапросСТелом("PUT", ОсновныеДанные_, ТегиXML, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -453,13 +467,15 @@
|
||||
, Знач Каталог = Ложь
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Наименование, Каталог);
|
||||
URL = URL + "?versioning";
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, , Заголовки);
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные_, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -486,18 +502,20 @@
|
||||
, Знач ТокенСтраницы = ""
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
Параметры = Новый Соответствие;
|
||||
OPI_Инструменты.ДобавитьПоле("bucket-region" , Регион , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("continuation-token", ТокенСтраницы, "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("max-buckets" , 250 , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("prefix" , Префикс , "Строка", Параметры);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = URL + OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры);
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, , Заголовки);
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные_, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -528,15 +546,17 @@
|
||||
, Знач ОсновныеДанные
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
URL = URL + Наименование;
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапрос("PUT", ОсновныеДанные, Содержимое, , Заголовки);
|
||||
Ответ = ОтправитьЗапрос("PUT", ОсновныеДанные_, Содержимое, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -564,22 +584,10 @@
|
||||
, Знач Версия = Неопределено
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
URL = URL + Наименование;
|
||||
|
||||
Если ЗначениеЗаполнено(Версия) Тогда
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Версия);
|
||||
URL = URL + "?versionId=" + Версия;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("HEAD", ОсновныеДанные, , Заголовки);
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
ЗаполнитьURLОбъекта(ОсновныеДанные_, Наименование, Бакет, Версия);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("HEAD", ОсновныеДанные_, , Заголовки);
|
||||
Ответ["response"] = Новый Структура;
|
||||
|
||||
Возврат Ответ;
|
||||
@ -612,28 +620,35 @@
|
||||
, Знач Заголовки = Неопределено
|
||||
, Знач ПутьСохранения = "") Экспорт
|
||||
|
||||
Если OPI_Инструменты.ПолеКоллекцииСуществует(ОсновныеДанные, "ChunkSize") Тогда
|
||||
МаксимальныйРазмер = ОсновныеДанные["ChunkSize"];
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
ИнформацияОбъекта = ПолучитьОписаниеОбъекта(Наименование, Бакет, ОсновныеДанные_, Версия);
|
||||
|
||||
Если OPI_Инструменты.ПолеКоллекцииСуществует(ОсновныеДанные_, "ChunkSize") Тогда
|
||||
МаксимальныйРазмер = ОсновныеДанные_["ChunkSize"];
|
||||
Иначе
|
||||
МаксимальныйРазмер = 20000000;
|
||||
КонецЕсли;
|
||||
|
||||
ИнформацияОбъекта = ПолучитьОписаниеОбъекта(Наименование, Бакет, ОсновныеДанные, Версия);
|
||||
|
||||
Если Не OPI_Инструменты.ПолеКоллекцииСуществует(ИнформацияОбъекта, "headers.Content-Length") Тогда
|
||||
Возврат ИнформацияОбъекта;
|
||||
КонецЕсли;
|
||||
|
||||
РазмерОбъекта = ИнформацияОбъекта["headers"]["Content-Length"];
|
||||
РазмерОбъекта = ИнформацияОбъекта["headers"]["Content-Length"];
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(МаксимальныйРазмер);
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(РазмерОбъекта);
|
||||
ЗаполнитьURLОбъекта(ОсновныеДанные_, Наименование, Бакет, Версия);
|
||||
|
||||
Если РазмерОбъекта > МаксимальныйРазмер Тогда
|
||||
|
||||
Размеры = Новый Структура("object,chunk", РазмерОбъекта, МаксимальныйРазмер);
|
||||
Ответ = ПолучитьОбъектЧастями(ОсновныеДанные, Заголовки, ПутьСохранения, Размеры);
|
||||
Ответ = ПолучитьОбъектЧастями(ОсновныеДанные_, Заголовки, ПутьСохранения, Размеры);
|
||||
|
||||
Иначе
|
||||
Ответ = ПолучитьОбъектЦеликом(ОсновныеДанные, Заголовки, ПутьСохранения);
|
||||
|
||||
Ответ = ПолучитьОбъектЦеликом(ОсновныеДанные_, Заголовки, ПутьСохранения);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ответ;
|
||||
@ -661,9 +676,11 @@
|
||||
, Знач Версия = Неопределено
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
URL = URL + Наименование;
|
||||
|
||||
@ -674,9 +691,9 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("DELETE", ОсновныеДанные, , Заголовки);
|
||||
Ответ = ОтправитьЗапросБезТела("DELETE", ОсновныеДанные_, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -705,6 +722,8 @@
|
||||
, Знач ОсновныеДанные
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ПутьИсточник);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(БакетИсточник);
|
||||
|
||||
@ -715,7 +734,7 @@
|
||||
ЗаголовокИсточника.Вставить("x-amz-copy-source", Источник);
|
||||
ДобавитьДополнительныеЗаголовки(Заголовки, ЗаголовокИсточника);
|
||||
|
||||
Ответ = ЗагрузитьОбъект(ПутьПриемник, БакетПриемник, Неопределено, ОсновныеДанные, Заголовки);
|
||||
Ответ = ЗагрузитьОбъект(ПутьПриемник, БакетПриемник, Неопределено, ОсновныеДанные_, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -743,19 +762,21 @@
|
||||
, Знач Теги
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||
|
||||
Теги = СформироватьСтруктуруТегов(Теги);
|
||||
ТегиXML = OPI_Инструменты.ПолучитьXML(Теги, "http://s3.amazonaws.com/doc/2006-03-01/");
|
||||
ТегиXML = ПолучитьДвоичныеДанныеИзСтроки(ТегиXML);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
URL = URL + Наименование + "?tagging";
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросСТелом("PUT", ОсновныеДанные, ТегиXML, , Заголовки);
|
||||
Ответ = ОтправитьЗапросСТелом("PUT", ОсновныеДанные_, ТегиXML, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -782,10 +803,12 @@
|
||||
, Знач Версия = ""
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Версия);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
URL = URL + Наименование + "?tagging";
|
||||
|
||||
@ -793,9 +816,9 @@
|
||||
URL = URL + "&versionId=" + Версия;
|
||||
КонецЕсли;
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, , Заголовки);
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные_, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -822,10 +845,12 @@
|
||||
, Знач Версия = ""
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Версия);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
URL = URL + Наименование + "?tagging";
|
||||
|
||||
@ -833,9 +858,9 @@
|
||||
URL = URL + "&versionId=" + Версия;
|
||||
КонецЕсли;
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("DELETE", ОсновныеДанные, , Заголовки);
|
||||
Ответ = ОтправитьЗапросБезТела("DELETE", ОсновныеДанные_, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -862,7 +887,9 @@
|
||||
, Знач ТокенСтраницы = ""
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
|
||||
Параметры = Новый Соответствие;
|
||||
@ -872,9 +899,9 @@
|
||||
OPI_Инструменты.ДобавитьПоле("prefix" , Префикс , "Строка", Параметры);
|
||||
|
||||
URL = URL + OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры);
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, , Заголовки);
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные_, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -901,7 +928,9 @@
|
||||
, Знач Версия = ""
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
URL = URL + "?versions";
|
||||
|
||||
@ -911,9 +940,9 @@
|
||||
OPI_Инструменты.ДобавитьПоле("prefix" , Префикс, "Строка", Параметры);
|
||||
|
||||
URL = URL + OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры, , Ложь);
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, , Заголовки);
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные_, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -1209,9 +1238,10 @@
|
||||
, Знач ОжидаютсяДвоичные = Ложь
|
||||
, Знач Заголовки = Неопределено)
|
||||
|
||||
ПроверитьОсновныеДанные(ОсновныеДанные);
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
ПроверитьОсновныеДанные(ОсновныеДанные_);
|
||||
|
||||
URL = ОсновныеДанные["URL"];
|
||||
URL = ОсновныеДанные_["URL"];
|
||||
|
||||
СтруктураURL = OPI_Инструменты.РазбитьURL(URL);
|
||||
Сервер = СтруктураURL["Сервер"];
|
||||
@ -1227,7 +1257,7 @@
|
||||
|
||||
ДобавитьДополнительныеЗаголовки(Запрос, Заголовки);
|
||||
|
||||
ЗаголовокАвторизации = СоздатьЗаголовокАвторизации(ОсновныеДанные, Запрос, Соединение, Метод);
|
||||
ЗаголовокАвторизации = СоздатьЗаголовокАвторизации(ОсновныеДанные_, Запрос, Соединение, Метод);
|
||||
Запрос.Заголовки.Вставить("Authorization", ЗаголовокАвторизации);
|
||||
|
||||
Ответ = OPI_Инструменты.ВыполнитьЗапрос(Запрос, Соединение, Метод, , Истина);
|
||||
@ -1239,12 +1269,14 @@
|
||||
|
||||
Функция УправлениеБакетом(Знач Имя, Знач ОсновныеДанные, Знач Каталог, Знач Метод, Знач Заголовки)
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные_);
|
||||
URL = СформироватьURLБакета(URL, Имя, Каталог);
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
ОсновныеДанные_.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела(Метод, ОсновныеДанные, , Заголовки);
|
||||
Ответ = ОтправитьЗапросБезТела(Метод, ОсновныеДанные_, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -1535,6 +1567,25 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаполнитьURLОбъекта(ОсновныеДанные, Наименование, Бакет, Версия)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
URL = URL + Наименование;
|
||||
|
||||
Если ЗначениеЗаполнено(Версия) Тогда
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Версия);
|
||||
URL = URL + "?versionId=" + Версия;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -752,9 +752,38 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПодходящийТипУзла(Знач ТипУзла)
|
||||
|
||||
Возврат ТипУзла = ТипУзлаXML.НачалоЭлемента Или ТипУзла = ТипУзлаXML.КонецЭлемента Или ТипУзла = ТипУзлаXML.Текст;
|
||||
Функция КопироватьКоллекцию(Знач Коллекция) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Коллекция);
|
||||
|
||||
ТипКоллекции = ТипЗнч(Коллекция);
|
||||
ЭтоСтруктура = ТипКоллекции = Тип("Структура");
|
||||
ЭтоСоответствие = ТипКоллекции = Тип("Соответствие");
|
||||
ЭтоМассив = ТипКоллекции = Тип("Массив");
|
||||
|
||||
Если ЭтоСтруктура Или ЭтоСоответствие Тогда
|
||||
|
||||
Коллекция_ = ?(ЭтоСтруктура, Новый Структура, Новый Соответствие);
|
||||
|
||||
Для Каждого ПолеКоллекции Из Коллекция Цикл
|
||||
Коллекция_.Вставить(ПолеКоллекции.Ключ, ПолеКоллекции.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
ИначеЕсли ЭтоМассив Тогда
|
||||
|
||||
Коллекция_ = Новый Массив;
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
Коллекция_.Добавить(ЭлементКоллекции);
|
||||
КонецЦикла;
|
||||
|
||||
Иначе
|
||||
|
||||
Коллекция_ = Коллекция;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Коллекция_;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -1112,6 +1141,33 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НачалоФормированияXML(Значение, ЗаписьXML)
|
||||
|
||||
ЭтоВход = Ложь;
|
||||
|
||||
Если ЗаписьXML = Неопределено Тогда
|
||||
|
||||
ТекстОшибки = "Ошибка получения коллекции для формирования XML";
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Значение, ТекстОшибки);
|
||||
|
||||
ЗаписьXML = Новый ЗаписьXML;
|
||||
ЗаписьXML.УстановитьСтроку();
|
||||
ЗаписьXML.ЗаписатьОбъявлениеXML();
|
||||
|
||||
ЭтоВход = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЭтоВход;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПодходящийТипУзла(Знач ТипУзла)
|
||||
|
||||
Возврат ТипУзла = ТипУзлаXML.НачалоЭлемента Или ТипУзла = ТипУзлаXML.КонецЭлемента Или ТипУзла = ТипУзлаXML.Текст;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура УстановитьТелоЗапроса(Запрос, Знач Параметры, Знач JSON)
|
||||
|
||||
Коллекция = ТипЗнч(Параметры) = Тип("Структура") Или ТипЗнч(Параметры) = Тип("Соответствие") Или ТипЗнч(Параметры)
|
||||
@ -1327,27 +1383,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НачалоФормированияXML(Значение, ЗаписьXML)
|
||||
|
||||
ЭтоВход = Ложь;
|
||||
|
||||
Если ЗаписьXML = Неопределено Тогда
|
||||
|
||||
ТекстОшибки = "Ошибка получения коллекции для формирования XML";
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Значение, ТекстОшибки);
|
||||
|
||||
ЗаписьXML = Новый ЗаписьXML;
|
||||
ЗаписьXML.УстановитьСтроку();
|
||||
ЗаписьXML.ЗаписатьОбъявлениеXML();
|
||||
|
||||
ЭтоВход = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЭтоВход;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область GZip
|
||||
|
||||
// Описание структур см. здесь https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
|
||||
|
@ -14726,7 +14726,6 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБакет (DB)", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]); // SKIP
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
@ -14756,7 +14755,6 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБакет (DB)", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]); // SKIP
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
@ -14801,7 +14799,6 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступностьБакета", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]); // SKIP
|
||||
|
||||
Результат = OPI_S3.ПроверитьДоступностьБакета(Наименование, ОсновныеДанные, , "1234");
|
||||
|
||||
@ -14893,7 +14890,6 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТегиБакета (DB)", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]); // SKIP
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
@ -14927,7 +14923,6 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьТегиБакета (DB)", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]); // SKIP
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
@ -14957,7 +14952,6 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТегиБакета (DB)", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]); // SKIP
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
@ -14990,7 +14984,6 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкийВерсионированияБакета (DB)", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]); // SKIP
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
@ -15021,7 +15014,6 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьНастройкиВерсионированияБакета (DB)", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]); // SKIP
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
@ -15054,14 +15046,12 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьОбъект", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]);
|
||||
|
||||
Бакет = "opi-dirbucket3";
|
||||
Результат = OPI_S3.ЗагрузитьОбъект(Наименование, Бакет, Содержимое, ОсновныеДанные);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьОбъект (DB)", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]);
|
||||
|
||||
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
|
||||
|
||||
@ -15131,7 +15121,6 @@
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "КопироватьОбъект", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]);
|
||||
OPI_S3.УдалитьОбъект(ПутьПриемник, БакетПриемник, ОсновныеДанные);
|
||||
|
||||
КонецПроцедуры
|
||||
@ -15263,7 +15252,6 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОбъект", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ДвоичныеДанные(Результат, НеобходимыйРазмер); // SKIP
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]); // SKIP
|
||||
|
||||
ВременныйФайл = ПолучитьИмяВременногоФайла();
|
||||
ОсновныеДанные.Вставить("ChunkSize", 200000);
|
||||
@ -15273,9 +15261,8 @@
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОбъект (файл)", "S3");
|
||||
ФайлРез = Новый Файл(Результат["file"]);
|
||||
ФайлРез = Новый Файл(Результат);
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ФайлРез.Размер() = НеобходимыйРазмер);
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]);
|
||||
УдалитьФайлы(ВременныйФайл);
|
||||
|
||||
Наименование = "bigfile.exe";
|
||||
@ -15283,11 +15270,10 @@
|
||||
|
||||
ВременныйФайлБольшой = ПолучитьИмяВременногоФайла();
|
||||
Результат = OPI_S3.ПолучитьОбъект(Наименование, Бакет, ОсновныеДанные, , , ВременныйФайлБольшой);
|
||||
ФайлРез = Новый Файл(Результат["file"]);
|
||||
ФайлРез = Новый Файл(Результат);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОбъект (большой, файл)", "S3");
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ФайлРез.Размер() = 34432400);
|
||||
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]);
|
||||
УдалитьФайлы(ВременныйФайлБольшой);
|
||||
|
||||
Результат = OPI_S3.ПолучитьОбъект(Наименование, Бакет, ОсновныеДанные);
|
||||
|
Reference in New Issue
Block a user