1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-07-17 01:42:25 +02:00

Интересный факт: Знач - это только для простых типов >:(

This commit is contained in:
Anton
2024-11-19 22:12:44 +03:00
parent 9e20dbfe02
commit b9e352d16f
3 changed files with 190 additions and 118 deletions

View File

@ -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);
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@ -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

View File

@ -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.ПолучитьОбъект(Наименование, Бакет, ОсновныеДанные);