mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-11-21 17:56:56 +02:00
S3: Список объектов и список версий в бакете
This commit is contained in:
parent
da12185959
commit
fcbce08ae3
File diff suppressed because it is too large
Load Diff
@ -464,7 +464,7 @@
|
||||
//
|
||||
// Параметры:
|
||||
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - basic
|
||||
// Префикс - Строка - Отбор по началу имени, если необходимо - prefix
|
||||
// Префикс - Строка - Отбор по префиксу, если необходимо - prefix
|
||||
// Регион - Строка - Отбор по региону бакета, если необходимо - region
|
||||
// ТокенСтраницы - Строка - Токен страницы, если используется пагинация - ctoken
|
||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||
@ -778,6 +778,84 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список объектов
|
||||
// Получает список объектов в выбранном бакете
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации AWS: [ListObjectsV2](@docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)
|
||||
//
|
||||
// Параметры:
|
||||
// Бакет - Строка - Наименование бакета - bucket
|
||||
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - basic
|
||||
// Префикс - Строка - Отбор по префиксу, если необходимо - prefix
|
||||
// ТокенСтраницы - Строка - Токен страницы, если используется пагинация - ctoken
|
||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
Функция ПолучитьСписокОбъектов(Знач Бакет
|
||||
, Знач ОсновныеДанные
|
||||
, Знач Префикс = ""
|
||||
, Знач ТокенСтраницы = ""
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
|
||||
Параметры = Новый Соответствие;
|
||||
OPI_Инструменты.ДобавитьПоле("list-type" , 2 , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("max-keys" , 250 , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("continuation-token", ТокенСтраницы, "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("prefix" , Префикс , "Строка", Параметры);
|
||||
|
||||
URL = URL + OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры);
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список версий объектов
|
||||
// Получает список всех версий объектов в выбранном бакете
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации AWS: [ListObjectVersions](@docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html)
|
||||
//
|
||||
// Параметры:
|
||||
// Бакет - Строка - Наименование бакета - bucket
|
||||
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - basic
|
||||
// Префикс - Строка - Отбор по префиксу, если необходимо - prefix
|
||||
// Версия - Строка - ID версии начала списка - ver
|
||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
Функция ПолучитьСписокВерсийОбъектов(Знач Бакет
|
||||
, Знач ОсновныеДанные
|
||||
, Знач Префикс = ""
|
||||
, Знач Версия = ""
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
URL = URL + "?versions";
|
||||
|
||||
Параметры = Новый Соответствие;
|
||||
OPI_Инструменты.ДобавитьПоле("max-keys" , 250 , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("version-id-marker", Версия , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("prefix" , Префикс, "Строка", Параметры);
|
||||
|
||||
URL = URL + OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры, , Ложь);
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2153,6 +2153,8 @@
|
||||
S3_УстановитьТегиОбъекта(ПараметрыТеста);
|
||||
S3_ПолучитьТегиОбъекта(ПараметрыТеста);
|
||||
S3_УдалитьТегиОбъекта(ПараметрыТеста);
|
||||
S3_ПолучитьСписокОбъектов(ПараметрыТеста);
|
||||
S3_ПолучитьСписокВерсийОбъектов(ПараметрыТеста);
|
||||
S3_УдалитьОбъект(ПараметрыТеста);
|
||||
S3_УдалитьБакет(ПараметрыТеста);
|
||||
|
||||
@ -15191,6 +15193,45 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура S3_ПолучитьСписокОбъектов(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["S3_URL"];
|
||||
AccessKey = ПараметрыФункции["S3_AccessKey"];
|
||||
SecretKey = ПараметрыФункции["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Бакет = "opi-gpbucket3";
|
||||
Результат = OPI_S3.ПолучитьСписокОбъектов(Бакет, ОсновныеДанные);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОбъектов", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура S3_ПолучитьСписокВерсийОбъектов(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["S3_URL"];
|
||||
AccessKey = ПараметрыФункции["S3_AccessKey"];
|
||||
SecretKey = ПараметрыФункции["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Бакет = "opi-gpbucket3";
|
||||
Префикс = "pic";
|
||||
Результат = OPI_S3.ПолучитьСписокВерсийОбъектов(Бакет, ОсновныеДанные, Префикс);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокВерсийОбъектов", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2040,9 +2040,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -344,13 +344,13 @@
|
||||
|
||||
#Область Служебные
|
||||
|
||||
Функция ПараметрыЗапросаВСтроку(Знач Параметры, Знач ОтдельныеЭлементыМассивов = Ложь) Экспорт
|
||||
Функция ПараметрыЗапросаВСтроку(Знач Параметры, Знач ОтдельныеЭлементыМассивов = Ложь, Знач Начало = Истина) Экспорт
|
||||
|
||||
Если Параметры.Количество() = 0 Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаПараметров = "?";
|
||||
СтрокаПараметров = ?(Начало, "?", "&");
|
||||
|
||||
Для Каждого Параметр Из Параметры Цикл
|
||||
|
||||
|
@ -464,7 +464,7 @@
|
||||
//
|
||||
// Параметры:
|
||||
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - basic
|
||||
// Префикс - Строка - Отбор по началу имени, если необходимо - prefix
|
||||
// Префикс - Строка - Отбор по префиксу, если необходимо - prefix
|
||||
// Регион - Строка - Отбор по региону бакета, если необходимо - region
|
||||
// ТокенСтраницы - Строка - Токен страницы, если используется пагинация - ctoken
|
||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||
@ -778,6 +778,84 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список объектов
|
||||
// Получает список объектов в выбранном бакете
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации AWS: [ListObjectsV2](@docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)
|
||||
//
|
||||
// Параметры:
|
||||
// Бакет - Строка - Наименование бакета - bucket
|
||||
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - basic
|
||||
// Префикс - Строка - Отбор по префиксу, если необходимо - prefix
|
||||
// ТокенСтраницы - Строка - Токен страницы, если используется пагинация - ctoken
|
||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
Функция ПолучитьСписокОбъектов(Знач Бакет
|
||||
, Знач ОсновныеДанные
|
||||
, Знач Префикс = ""
|
||||
, Знач ТокенСтраницы = ""
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
|
||||
Параметры = Новый Соответствие;
|
||||
OPI_Инструменты.ДобавитьПоле("list-type" , 2 , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("max-keys" , 250 , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("continuation-token", ТокенСтраницы, "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("prefix" , Префикс , "Строка", Параметры);
|
||||
|
||||
URL = URL + OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры);
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список версий объектов
|
||||
// Получает список всех версий объектов в выбранном бакете
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации AWS: [ListObjectVersions](@docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html)
|
||||
//
|
||||
// Параметры:
|
||||
// Бакет - Строка - Наименование бакета - bucket
|
||||
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - basic
|
||||
// Префикс - Строка - Отбор по префиксу, если необходимо - prefix
|
||||
// Версия - Строка - ID версии начала списка - ver
|
||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
Функция ПолучитьСписокВерсийОбъектов(Знач Бакет
|
||||
, Знач ОсновныеДанные
|
||||
, Знач Префикс = ""
|
||||
, Знач Версия = ""
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||
URL = URL + "?versions";
|
||||
|
||||
Параметры = Новый Соответствие;
|
||||
OPI_Инструменты.ДобавитьПоле("max-keys" , 250 , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("version-id-marker", Версия , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("prefix" , Префикс, "Строка", Параметры);
|
||||
|
||||
URL = URL + OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры, , Ложь);
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -344,13 +344,13 @@
|
||||
|
||||
#Область Служебные
|
||||
|
||||
Функция ПараметрыЗапросаВСтроку(Знач Параметры, Знач ОтдельныеЭлементыМассивов = Ложь) Экспорт
|
||||
Функция ПараметрыЗапросаВСтроку(Знач Параметры, Знач ОтдельныеЭлементыМассивов = Ложь, Знач Начало = Истина) Экспорт
|
||||
|
||||
Если Параметры.Количество() = 0 Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаПараметров = "?";
|
||||
СтрокаПараметров = ?(Начало, "?", "&");
|
||||
|
||||
Для Каждого Параметр Из Параметры Цикл
|
||||
|
||||
|
@ -2153,6 +2153,8 @@
|
||||
S3_УстановитьТегиОбъекта(ПараметрыТеста);
|
||||
S3_ПолучитьТегиОбъекта(ПараметрыТеста);
|
||||
S3_УдалитьТегиОбъекта(ПараметрыТеста);
|
||||
S3_ПолучитьСписокОбъектов(ПараметрыТеста);
|
||||
S3_ПолучитьСписокВерсийОбъектов(ПараметрыТеста);
|
||||
S3_УдалитьОбъект(ПараметрыТеста);
|
||||
S3_УдалитьБакет(ПараметрыТеста);
|
||||
|
||||
@ -15191,6 +15193,45 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура S3_ПолучитьСписокОбъектов(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["S3_URL"];
|
||||
AccessKey = ПараметрыФункции["S3_AccessKey"];
|
||||
SecretKey = ПараметрыФункции["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Бакет = "opi-gpbucket3";
|
||||
Результат = OPI_S3.ПолучитьСписокОбъектов(Бакет, ОсновныеДанные);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОбъектов", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура S3_ПолучитьСписокВерсийОбъектов(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["S3_URL"];
|
||||
AccessKey = ПараметрыФункции["S3_AccessKey"];
|
||||
SecretKey = ПараметрыФункции["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Бакет = "opi-gpbucket3";
|
||||
Префикс = "pic";
|
||||
Результат = OPI_S3.ПолучитьСписокВерсийОбъектов(Бакет, ОсновныеДанные, Префикс);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокВерсийОбъектов", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
Loading…
Reference in New Issue
Block a user