You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2026-05-22 10:05:29 +02:00
S3: Помещение и удаление объекта, заголовки в выводе
This commit is contained in:
@@ -58,13 +58,15 @@ This library uses its own response format to provide data received from the serv
|
|||||||
|
|
||||||
{
|
{
|
||||||
"status": 200,
|
"status": 200,
|
||||||
"response": {}
|
"response": {},
|
||||||
|
"headers": {}
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
+ The **status** field contains the HTTP response status code
|
+ The **status** field contains the HTTP response status code
|
||||||
+ The **response** field contains the body of the original S3 response, previously converted from XML to JSON
|
+ The **response** field contains the body of the original S3 response, previously converted from XML to JSON
|
||||||
|
+ The **headers** field contains the headers from the original response
|
||||||
|
|
||||||
|
|
||||||
The response was modified to JSON to simplify its usage, as the original XML format was more complex to work with
|
The response was modified to JSON to simplify its usage, as the original XML format was more complex to work with
|
||||||
|
|||||||
@@ -58,12 +58,14 @@ sidebar_class_name: S3
|
|||||||
|
|
||||||
{
|
{
|
||||||
"status": 200,
|
"status": 200,
|
||||||
"response": {}
|
"response": {},
|
||||||
|
"headers": {}
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
+ В поле **status** записывается код состояния HTTP-ответа
|
+ В поле **status** записывается код состояния HTTP-ответа
|
||||||
+ В поле **response** помещается тело оригинального ответа S3, предварительно преобразованное из XML в JSON
|
+ В поле **response** помещается тело оригинального ответа S3, предварительно преобразованное из XML в JSON
|
||||||
|
+ В поле **headers** помещаются заголовки из оригинального ответа
|
||||||
|
|
||||||
Это сделано для упрощения работы с библиотекой, так как формат XML более громоздок и сложен в работе, по сравнению с JSON
|
Это сделано для упрощения работы с библиотекой, так как формат XML более громоздок и сложен в работе, по сравнению с JSON
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 200,
|
|
||||||
"response": {
|
|
||||||
"VersioningConfiguration": {
|
|
||||||
"Status": "Enabled"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 200,
|
|
||||||
"response": {
|
|
||||||
"VersioningConfiguration": {
|
|
||||||
"Status": "Enabled"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 200,
|
|
||||||
"response": {
|
|
||||||
"ListAllMyBucketsResult": {
|
|
||||||
"Owner": {
|
|
||||||
"ID": "02d6176db174dc93cb1b899f7c6078f08654445fe8cf1b6ce98d8855f66bdbf4",
|
|
||||||
"DisplayName": "minio"
|
|
||||||
},
|
|
||||||
"Buckets": {
|
|
||||||
"Bucket": [
|
|
||||||
{
|
|
||||||
"Name": "newbucket2",
|
|
||||||
"CreationDate": "2024-11-13T18:59:09.139Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "opi-dirbucket3",
|
|
||||||
"CreationDate": "2024-11-15T11:13:55.166Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "opi-gpbucket3",
|
|
||||||
"CreationDate": "2024-11-15T11:13:57.731Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "opi-newbucket2",
|
|
||||||
"CreationDate": "2024-11-14T06:04:12.769Z"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"URL": "storage-155.s3hoster.by",
|
|
||||||
"AccessKey": "BRN5RKJE67YCVDZRRQVI",
|
|
||||||
"SecretKey": "***",
|
|
||||||
"Region": "BTC",
|
|
||||||
"Service": "s3"
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 200,
|
|
||||||
"response": {
|
|
||||||
"Tagging": {
|
|
||||||
"TagSet": {
|
|
||||||
"Tag": [
|
|
||||||
{
|
|
||||||
"Key": "MyTag2",
|
|
||||||
"Value": "AnotherOne"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Key": "MyTag1",
|
|
||||||
"Value": "SomeValue"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 200,
|
|
||||||
"response": {
|
|
||||||
"Tagging": {
|
|
||||||
"TagSet": {
|
|
||||||
"Tag": [
|
|
||||||
{
|
|
||||||
"Key": "MyTag1",
|
|
||||||
"Value": "SomeValue"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Key": "MyTag2",
|
|
||||||
"Value": "AnotherOne"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 404,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 200,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 200,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 200,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 204,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 204,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 204,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
НЕ JSON: Соответствие
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 204,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 204,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 200,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 200,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 200,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": 200,
|
|
||||||
"response": {}
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
|
|
||||||
+3059
-3041
File diff suppressed because it is too large
Load Diff
@@ -37,6 +37,7 @@
|
|||||||
//@skip-check module-structure-method-in-regions
|
//@skip-check module-structure-method-in-regions
|
||||||
//@skip-check wrong-string-literal-content
|
//@skip-check wrong-string-literal-content
|
||||||
//@skip-check method-too-many-params
|
//@skip-check method-too-many-params
|
||||||
|
//@skip-check constructor-function-return-section
|
||||||
|
|
||||||
// Раскомментировать, если выполняется OneScript
|
// Раскомментировать, если выполняется OneScript
|
||||||
#Использовать "../../tools"
|
#Использовать "../../tools"
|
||||||
@@ -79,7 +80,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ОтправитьЗапросБезТела(Знач Метод, Знач ОсновныеДанные, Знач Заголовки = Неопределено) Экспорт
|
Функция ОтправитьЗапросБезТела(Знач Метод, Знач ОсновныеДанные, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
Ответ = ОтправитьЗапрос(Метод, ОсновныеДанные, , Заголовки);
|
Ответ = ОтправитьЗапрос(Метод, ОсновныеДанные, , Заголовки);
|
||||||
@@ -97,7 +98,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ОтправитьЗапросСТелом(Знач Метод, Знач ОсновныеДанные, Знач Тело, Знач Заголовки = Неопределено) Экспорт
|
Функция ОтправитьЗапросСТелом(Знач Метод, Знач ОсновныеДанные, Знач Тело, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
Ответ = ОтправитьЗапрос(Метод, ОсновныеДанные, Тело, Заголовки);
|
Ответ = ОтправитьЗапрос(Метод, ОсновныеДанные, Тело, Заголовки);
|
||||||
@@ -122,7 +123,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция СоздатьБакет(Знач Наименование, Знач ОсновныеДанные, Знач Каталог = Истина, Знач Заголовки = Неопределено) Экспорт
|
Функция СоздатьБакет(Знач Наименование, Знач ОсновныеДанные, Знач Каталог = Истина, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
Ответ = УправлениеБакетом(Наименование, ОсновныеДанные, Каталог, "PUT", Заголовки);
|
Ответ = УправлениеБакетом(Наименование, ОсновныеДанные, Каталог, "PUT", Заголовки);
|
||||||
@@ -143,7 +144,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция УдалитьБакет(Знач Наименование, Знач ОсновныеДанные, Знач Каталог = Истина, Знач Заголовки = Неопределено) Экспорт
|
Функция УдалитьБакет(Знач Наименование, Знач ОсновныеДанные, Знач Каталог = Истина, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
Ответ = УправлениеБакетом(Наименование, ОсновныеДанные, Каталог, "DELETE", Заголовки);
|
Ответ = УправлениеБакетом(Наименование, ОсновныеДанные, Каталог, "DELETE", Заголовки);
|
||||||
@@ -165,7 +166,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ПроверитьДоступностьБакета(Знач Наименование
|
Функция ПроверитьДоступностьБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Каталог = Истина
|
, Знач Каталог = Истина
|
||||||
@@ -199,7 +200,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция УстановитьШифрованиеБакета(Знач Наименование
|
Функция УстановитьШифрованиеБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач XMLКонфигурация
|
, Знач XMLКонфигурация
|
||||||
@@ -234,7 +235,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ПолучитьШифрованиеБакета(Знач Наименование
|
Функция ПолучитьШифрованиеБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Каталог = Истина
|
, Знач Каталог = Истина
|
||||||
@@ -266,7 +267,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция УдалитьШифрованиеБакета(Знач Наименование
|
Функция УдалитьШифрованиеБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Каталог = Истина
|
, Знач Каталог = Истина
|
||||||
@@ -300,7 +301,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция УстановитьТегиБакета(Знач Наименование
|
Функция УстановитьТегиБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Теги
|
, Знач Теги
|
||||||
@@ -336,7 +337,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ПолучитьТегиБакета(Знач Наименование
|
Функция ПолучитьТегиБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Каталог = Истина
|
, Знач Каталог = Истина
|
||||||
@@ -367,7 +368,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция УдалитьТегиБакета(Знач Наименование
|
Функция УдалитьТегиБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Каталог = Истина
|
, Знач Каталог = Истина
|
||||||
@@ -400,7 +401,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция УстановитьНастройкиВерсионированияБакета(Знач Наименование
|
Функция УстановитьНастройкиВерсионированияБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Статус = Неопределено
|
, Знач Статус = Неопределено
|
||||||
@@ -437,7 +438,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ПолучитьНастройкийВерсионированияБакета(Знач Наименование
|
Функция ПолучитьНастройкийВерсионированияБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Каталог = Истина
|
, Знач Каталог = Истина
|
||||||
@@ -469,7 +470,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ПолучитьСписокБакетов(Знач ОсновныеДанные
|
Функция ПолучитьСписокБакетов(Знач ОсновныеДанные
|
||||||
, Знач Префикс = ""
|
, Знач Префикс = ""
|
||||||
, Знач Регион = ""
|
, Знач Регион = ""
|
||||||
@@ -495,6 +496,130 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область РаботаСОбъектами
|
||||||
|
|
||||||
|
// Загрузить объект
|
||||||
|
// Загружает файл в бакет
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации AWS: [PutObject](@docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Наименование - Строка - Наименование объекта в бакете - title
|
||||||
|
// Бакет - Строка - Имя бакета для загрузки объекта - bucket
|
||||||
|
// Содержимое - Строка, ДвоичныеДанные - Данные или путь к файлу для загрузки - data
|
||||||
|
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - basic
|
||||||
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
|
Функция ЗагрузитьОбъект(Знач Наименование
|
||||||
|
, Знач Бакет
|
||||||
|
, Знач Содержимое
|
||||||
|
, Знач ОсновныеДанные
|
||||||
|
, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||||
|
|
||||||
|
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||||
|
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||||
|
URL = URL + Наименование;
|
||||||
|
|
||||||
|
ОсновныеДанные.Вставить("URL", URL);
|
||||||
|
|
||||||
|
Ответ = ОтправитьЗапросСТелом("PUT", ОсновныеДанные, Содержимое, Заголовки);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Получить описание объекта
|
||||||
|
// Получает информацию о характеристиках объекта в бакете
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метаданные объекты содержатся в заголовках
|
||||||
|
// Метод в документации AWS: [GetObjectAttributes](@docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Наименование - Строка - Наименование объекта в бакете - title
|
||||||
|
// Бакет - Строка - Имя бакета, в котором находится объект - bucket
|
||||||
|
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - basic
|
||||||
|
// Версия - Строка - Токен для получения конкретной версии объекта - ver
|
||||||
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
|
Функция ПолучитьОписаниеОбъекта(Знач Наименование
|
||||||
|
, Знач Бакет
|
||||||
|
, Знач ОсновныеДанные
|
||||||
|
, Знач Версия = Неопределено
|
||||||
|
, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||||
|
|
||||||
|
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||||
|
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||||
|
URL = URL + Наименование;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Версия) Тогда
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Версия);
|
||||||
|
URL = URL + "?versionId=" + Версия;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ОсновныеДанные.Вставить("URL", URL);
|
||||||
|
|
||||||
|
Ответ = ОтправитьЗапросСТелом("HEAD", ОсновныеДанные, Заголовки);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Удалить объект
|
||||||
|
// Удаляет объект из бакета
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации AWS: [DeleteObject](@docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Наименование - Строка - Наименование объекта в бакете - title
|
||||||
|
// Бакет - Строка - Имя бакета для загрузки объекта - bucket
|
||||||
|
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - basic
|
||||||
|
// Версия - Строка - Токен для удаления конкретной версии объекта - ver
|
||||||
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
|
Функция УдалитьОбъект(Знач Наименование
|
||||||
|
, Знач Бакет
|
||||||
|
, Знач ОсновныеДанные
|
||||||
|
, Знач Версия = Неопределено
|
||||||
|
, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||||
|
|
||||||
|
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||||
|
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||||
|
URL = URL + Наименование;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Версия) Тогда
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Версия);
|
||||||
|
URL = URL + "?versionId=" + Версия;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ОсновныеДанные.Вставить("URL", URL);
|
||||||
|
|
||||||
|
Ответ = ОтправитьЗапросСТелом("DELETE", ОсновныеДанные, Заголовки);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
@@ -715,7 +840,7 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПолучитьURLСервиса(Знач ОсновныеДанные)
|
Функция ПолучитьURLСервиса(ОсновныеДанные)
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОсновныеДанные);
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОсновныеДанные);
|
||||||
|
|
||||||
@@ -822,12 +947,13 @@
|
|||||||
|
|
||||||
Функция ОформитьОтвет(Знач Ответ, Знач ОжидаютсяДвоичные = Ложь)
|
Функция ОформитьОтвет(Знач Ответ, Знач ОжидаютсяДвоичные = Ложь)
|
||||||
|
|
||||||
Статус = Ответ.КодСостояния;
|
Статус = Ответ.КодСостояния;
|
||||||
|
Заголовки = Ответ.Заголовки;
|
||||||
|
|
||||||
Если Не ОжидаютсяДвоичные Или Статус > 299 Тогда
|
Если Не ОжидаютсяДвоичные Или Статус > 299 Тогда
|
||||||
|
|
||||||
ДанныеОтвета = Новый Соответствие;
|
ДанныеОтвета = Новый Структура;
|
||||||
ДанныеТела = Новый Соответствие;
|
ДанныеТела = Новый Структура;
|
||||||
|
|
||||||
ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
|
ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
|
||||||
ТелоОтвета = СокрЛП(ТелоОтвета);
|
ТелоОтвета = СокрЛП(ТелоОтвета);
|
||||||
@@ -842,9 +968,10 @@
|
|||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ДанныеОтвета = Новый Соответствие;
|
ДанныеОтвета = Новый Структура;
|
||||||
ДанныеОтвета.Вставить("status" , Статус);
|
ДанныеОтвета.Вставить("status" , Статус);
|
||||||
ДанныеОтвета.Вставить("response", ДанныеТела);
|
ДанныеОтвета.Вставить("response", ДанныеТела);
|
||||||
|
ДанныеОтвета.Вставить("headers" , Заголовки);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
ДанныеОтвета = Ответ.ПолучитьТелоКакДвоичныеДанные();
|
ДанныеОтвета = Ответ.ПолучитьТелоКакДвоичныеДанные();
|
||||||
|
|||||||
@@ -2138,6 +2138,22 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура AWS_РаботаСОбъектами() Экспорт
|
||||||
|
|
||||||
|
ПараметрыТеста = Новый Структура;
|
||||||
|
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("S3_AccessKey", ПараметрыТеста);
|
||||||
|
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("S3_SecretKey", ПараметрыТеста);
|
||||||
|
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("S3_URL" , ПараметрыТеста);
|
||||||
|
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||||
|
|
||||||
|
S3_СоздатьБакет(ПараметрыТеста);
|
||||||
|
S3_ЗагрузитьОбъект(ПараметрыТеста);
|
||||||
|
S3_ПолучитьОписаниеОбъекта(ПараметрыТеста);
|
||||||
|
S3_УдалитьОбъект(ПараметрыТеста);
|
||||||
|
S3_УдалитьБакет(ПараметрыТеста);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -14778,13 +14794,14 @@
|
|||||||
|
|
||||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступностьБакета", "S3"); // SKIP
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступностьБакета", "S3"); // SKIP
|
||||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||||
|
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]); // SKIP
|
||||||
|
|
||||||
Результат = OPI_S3.ПроверитьДоступностьБакета(Наименование, ОсновныеДанные, Истина, "1234");
|
Результат = OPI_S3.ПроверитьДоступностьБакета(Наименование, ОсновныеДанные, Истина, "1234");
|
||||||
|
|
||||||
// END
|
// END
|
||||||
|
|
||||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступностьБакета (аккаунт)", "S3");
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступностьБакета (аккаунт)", "S3");
|
||||||
OPI_ПолучениеДанныхТестов.Проверка_S3НеНайдено(Результат);
|
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -14803,7 +14820,6 @@
|
|||||||
// END
|
// END
|
||||||
|
|
||||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьШифрованиеБакета", "S3");
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьШифрованиеБакета", "S3");
|
||||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
|
||||||
OPI_ПолучениеДанныхТестов.ЗаписатьФайлЛога("", "ПолучитьШифрованиеБакета", "S3", Истина);
|
OPI_ПолучениеДанныхТестов.ЗаписатьФайлЛога("", "ПолучитьШифрованиеБакета", "S3", Истина);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -15012,6 +15028,70 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура S3_ЗагрузитьОбъект(ПараметрыФункции)
|
||||||
|
|
||||||
|
URL = ПараметрыФункции["S3_URL"];
|
||||||
|
AccessKey = ПараметрыФункции["S3_AccessKey"];
|
||||||
|
SecretKey = ПараметрыФункции["S3_SecretKey"];
|
||||||
|
Region = "BTC";
|
||||||
|
|
||||||
|
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||||
|
|
||||||
|
Наименование = "picture.jpg";
|
||||||
|
Бакет = "opi-gpbucket3";
|
||||||
|
Содержимое = ПараметрыФункции["Picture"]; // URL, Путь или Двоичные данные
|
||||||
|
|
||||||
|
Результат = 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);
|
||||||
|
|
||||||
|
Наименование = "picture.jpg";
|
||||||
|
Бакет = "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);
|
||||||
|
|
||||||
|
Наименование = "picture.jpg";
|
||||||
|
Бакет = "opi-gpbucket3";
|
||||||
|
|
||||||
|
Результат = OPI_S3.ПолучитьОписаниеОбъекта(Наименование, Бакет, ОсновныеДанные);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеОбъекта", "S3");
|
||||||
|
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|||||||
@@ -16464,7 +16464,7 @@
|
|||||||
Метод = "GET";
|
Метод = "GET";
|
||||||
|
|
||||||
Опции = Новый Структура;
|
Опции = Новый Структура;
|
||||||
Опции.Вставить("metod", Метод);
|
Опции.Вставить("method", Метод);
|
||||||
Опции.Вставить("basic", ОсновныеДанные);
|
Опции.Вставить("basic", ОсновныеДанные);
|
||||||
|
|
||||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("s3", "ОтправитьЗапросБезТела", Опции);
|
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("s3", "ОтправитьЗапросБезТела", Опции);
|
||||||
@@ -16494,7 +16494,7 @@
|
|||||||
Тело = "C:\test_data\document.docx";
|
Тело = "C:\test_data\document.docx";
|
||||||
|
|
||||||
Опции = Новый Структура;
|
Опции = Новый Структура;
|
||||||
Опции.Вставить("metod", Метод);
|
Опции.Вставить("method", Метод);
|
||||||
Опции.Вставить("basic", ОсновныеДанные);
|
Опции.Вставить("basic", ОсновныеДанные);
|
||||||
Опции.Вставить("body" , Тело);
|
Опции.Вставить("body" , Тело);
|
||||||
|
|
||||||
@@ -16682,7 +16682,6 @@
|
|||||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("s3", "ПолучитьШифрованиеБакета", Опции);
|
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("s3", "ПолучитьШифрованиеБакета", Опции);
|
||||||
|
|
||||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьШифрованиеБакета", "S3");
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьШифрованиеБакета", "S3");
|
||||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -256,6 +256,7 @@
|
|||||||
НовыйТест(ТаблицаТестов, "ЯМетрика_УправлениеСчетчиками" , "Управление счетчиками" , Метрика);
|
НовыйТест(ТаблицаТестов, "ЯМетрика_УправлениеСчетчиками" , "Управление счетчиками" , Метрика);
|
||||||
НовыйТест(ТаблицаТестов, "AWS_ОбщиеМетоды" , "Общие методы" , S3_);
|
НовыйТест(ТаблицаТестов, "AWS_ОбщиеМетоды" , "Общие методы" , S3_);
|
||||||
НовыйТест(ТаблицаТестов, "AWS_РаботаСБакетами" , "Работа с бакетами" , S3_);
|
НовыйТест(ТаблицаТестов, "AWS_РаботаСБакетами" , "Работа с бакетами" , S3_);
|
||||||
|
НовыйТест(ТаблицаТестов, "AWS_РаботаСОбъектами" , "Работа с объектами" , S3_);
|
||||||
|
|
||||||
Возврат ТаблицаТестов;
|
Возврат ТаблицаТестов;
|
||||||
|
|
||||||
@@ -2039,9 +2040,9 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||||
|
|
||||||
Модуль = Вычислить(Имя);
|
Модуль = Вычислить(Имя);
|
||||||
|
|
||||||
Возврат Модуль;
|
Возврат Модуль;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@@ -2125,7 +2126,7 @@
|
|||||||
|
|
||||||
Для Каждого СекретныйКлюч Из МассивСекретов Цикл
|
Для Каждого СекретныйКлюч Из МассивСекретов Цикл
|
||||||
|
|
||||||
Если СтрНайти(Имя, СекретныйКлюч) <> 0 Тогда
|
Если СтрНайти(нРег(Имя), СекретныйКлюч) <> 0 Тогда
|
||||||
Значение = "***";
|
Значение = "***";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
//@skip-check module-structure-method-in-regions
|
//@skip-check module-structure-method-in-regions
|
||||||
//@skip-check wrong-string-literal-content
|
//@skip-check wrong-string-literal-content
|
||||||
//@skip-check method-too-many-params
|
//@skip-check method-too-many-params
|
||||||
|
//@skip-check constructor-function-return-section
|
||||||
|
|
||||||
// Раскомментировать, если выполняется OneScript
|
// Раскомментировать, если выполняется OneScript
|
||||||
// #Использовать "../../tools"
|
// #Использовать "../../tools"
|
||||||
@@ -79,7 +80,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ОтправитьЗапросБезТела(Знач Метод, Знач ОсновныеДанные, Знач Заголовки = Неопределено) Экспорт
|
Функция ОтправитьЗапросБезТела(Знач Метод, Знач ОсновныеДанные, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
Ответ = ОтправитьЗапрос(Метод, ОсновныеДанные, , Заголовки);
|
Ответ = ОтправитьЗапрос(Метод, ОсновныеДанные, , Заголовки);
|
||||||
@@ -97,7 +98,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ОтправитьЗапросСТелом(Знач Метод, Знач ОсновныеДанные, Знач Тело, Знач Заголовки = Неопределено) Экспорт
|
Функция ОтправитьЗапросСТелом(Знач Метод, Знач ОсновныеДанные, Знач Тело, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
Ответ = ОтправитьЗапрос(Метод, ОсновныеДанные, Тело, Заголовки);
|
Ответ = ОтправитьЗапрос(Метод, ОсновныеДанные, Тело, Заголовки);
|
||||||
@@ -122,7 +123,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция СоздатьБакет(Знач Наименование, Знач ОсновныеДанные, Знач Каталог = Истина, Знач Заголовки = Неопределено) Экспорт
|
Функция СоздатьБакет(Знач Наименование, Знач ОсновныеДанные, Знач Каталог = Истина, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
Ответ = УправлениеБакетом(Наименование, ОсновныеДанные, Каталог, "PUT", Заголовки);
|
Ответ = УправлениеБакетом(Наименование, ОсновныеДанные, Каталог, "PUT", Заголовки);
|
||||||
@@ -143,7 +144,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция УдалитьБакет(Знач Наименование, Знач ОсновныеДанные, Знач Каталог = Истина, Знач Заголовки = Неопределено) Экспорт
|
Функция УдалитьБакет(Знач Наименование, Знач ОсновныеДанные, Знач Каталог = Истина, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
Ответ = УправлениеБакетом(Наименование, ОсновныеДанные, Каталог, "DELETE", Заголовки);
|
Ответ = УправлениеБакетом(Наименование, ОсновныеДанные, Каталог, "DELETE", Заголовки);
|
||||||
@@ -165,7 +166,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ПроверитьДоступностьБакета(Знач Наименование
|
Функция ПроверитьДоступностьБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Каталог = Истина
|
, Знач Каталог = Истина
|
||||||
@@ -199,7 +200,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция УстановитьШифрованиеБакета(Знач Наименование
|
Функция УстановитьШифрованиеБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач XMLКонфигурация
|
, Знач XMLКонфигурация
|
||||||
@@ -234,7 +235,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ПолучитьШифрованиеБакета(Знач Наименование
|
Функция ПолучитьШифрованиеБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Каталог = Истина
|
, Знач Каталог = Истина
|
||||||
@@ -266,7 +267,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция УдалитьШифрованиеБакета(Знач Наименование
|
Функция УдалитьШифрованиеБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Каталог = Истина
|
, Знач Каталог = Истина
|
||||||
@@ -300,7 +301,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция УстановитьТегиБакета(Знач Наименование
|
Функция УстановитьТегиБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Теги
|
, Знач Теги
|
||||||
@@ -336,7 +337,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ПолучитьТегиБакета(Знач Наименование
|
Функция ПолучитьТегиБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Каталог = Истина
|
, Знач Каталог = Истина
|
||||||
@@ -367,7 +368,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция УдалитьТегиБакета(Знач Наименование
|
Функция УдалитьТегиБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Каталог = Истина
|
, Знач Каталог = Истина
|
||||||
@@ -400,7 +401,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция УстановитьНастройкиВерсионированияБакета(Знач Наименование
|
Функция УстановитьНастройкиВерсионированияБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Статус = Неопределено
|
, Знач Статус = Неопределено
|
||||||
@@ -437,7 +438,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ПолучитьНастройкийВерсионированияБакета(Знач Наименование
|
Функция ПолучитьНастройкийВерсионированияБакета(Знач Наименование
|
||||||
, Знач ОсновныеДанные
|
, Знач ОсновныеДанные
|
||||||
, Знач Каталог = Истина
|
, Знач Каталог = Истина
|
||||||
@@ -469,7 +470,7 @@
|
|||||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
Функция ПолучитьСписокБакетов(Знач ОсновныеДанные
|
Функция ПолучитьСписокБакетов(Знач ОсновныеДанные
|
||||||
, Знач Префикс = ""
|
, Знач Префикс = ""
|
||||||
, Знач Регион = ""
|
, Знач Регион = ""
|
||||||
@@ -495,6 +496,130 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область РаботаСОбъектами
|
||||||
|
|
||||||
|
// Загрузить объект
|
||||||
|
// Загружает файл в бакет
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации AWS: [PutObject](@docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Наименование - Строка - Наименование объекта в бакете - title
|
||||||
|
// Бакет - Строка - Имя бакета для загрузки объекта - bucket
|
||||||
|
// Содержимое - Строка, ДвоичныеДанные - Данные или путь к файлу для загрузки - data
|
||||||
|
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - basic
|
||||||
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
|
Функция ЗагрузитьОбъект(Знач Наименование
|
||||||
|
, Знач Бакет
|
||||||
|
, Знач Содержимое
|
||||||
|
, Знач ОсновныеДанные
|
||||||
|
, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||||
|
|
||||||
|
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||||
|
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||||
|
URL = URL + Наименование;
|
||||||
|
|
||||||
|
ОсновныеДанные.Вставить("URL", URL);
|
||||||
|
|
||||||
|
Ответ = ОтправитьЗапросСТелом("PUT", ОсновныеДанные, Содержимое, Заголовки);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Получить описание объекта
|
||||||
|
// Получает информацию о характеристиках объекта в бакете
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метаданные объекты содержатся в заголовках
|
||||||
|
// Метод в документации AWS: [GetObjectAttributes](@docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Наименование - Строка - Наименование объекта в бакете - title
|
||||||
|
// Бакет - Строка - Имя бакета, в котором находится объект - bucket
|
||||||
|
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - basic
|
||||||
|
// Версия - Строка - Токен для получения конкретной версии объекта - ver
|
||||||
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
|
Функция ПолучитьОписаниеОбъекта(Знач Наименование
|
||||||
|
, Знач Бакет
|
||||||
|
, Знач ОсновныеДанные
|
||||||
|
, Знач Версия = Неопределено
|
||||||
|
, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||||
|
|
||||||
|
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||||
|
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||||
|
URL = URL + Наименование;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Версия) Тогда
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Версия);
|
||||||
|
URL = URL + "?versionId=" + Версия;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ОсновныеДанные.Вставить("URL", URL);
|
||||||
|
|
||||||
|
Ответ = ОтправитьЗапросСТелом("HEAD", ОсновныеДанные, Заголовки);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Удалить объект
|
||||||
|
// Удаляет объект из бакета
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации AWS: [DeleteObject](@docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Наименование - Строка - Наименование объекта в бакете - title
|
||||||
|
// Бакет - Строка - Имя бакета для загрузки объекта - bucket
|
||||||
|
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - basic
|
||||||
|
// Версия - Строка - Токен для удаления конкретной версии объекта - ver
|
||||||
|
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||||
|
Функция УдалитьОбъект(Знач Наименование
|
||||||
|
, Знач Бакет
|
||||||
|
, Знач ОсновныеДанные
|
||||||
|
, Знач Версия = Неопределено
|
||||||
|
, Знач Заголовки = Неопределено) Экспорт
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||||
|
|
||||||
|
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||||
|
URL = СформироватьURLБакета(URL, Бакет, Ложь);
|
||||||
|
URL = URL + Наименование;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Версия) Тогда
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Версия);
|
||||||
|
URL = URL + "?versionId=" + Версия;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ОсновныеДанные.Вставить("URL", URL);
|
||||||
|
|
||||||
|
Ответ = ОтправитьЗапросСТелом("DELETE", ОсновныеДанные, Заголовки);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
@@ -822,12 +947,13 @@
|
|||||||
|
|
||||||
Функция ОформитьОтвет(Знач Ответ, Знач ОжидаютсяДвоичные = Ложь)
|
Функция ОформитьОтвет(Знач Ответ, Знач ОжидаютсяДвоичные = Ложь)
|
||||||
|
|
||||||
Статус = Ответ.КодСостояния;
|
Статус = Ответ.КодСостояния;
|
||||||
|
Заголовки = Ответ.Заголовки;
|
||||||
|
|
||||||
Если Не ОжидаютсяДвоичные Или Статус > 299 Тогда
|
Если Не ОжидаютсяДвоичные Или Статус > 299 Тогда
|
||||||
|
|
||||||
ДанныеОтвета = Новый Соответствие;
|
ДанныеОтвета = Новый Структура;
|
||||||
ДанныеТела = Новый Соответствие;
|
ДанныеТела = Новый Структура;
|
||||||
|
|
||||||
ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
|
ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
|
||||||
ТелоОтвета = СокрЛП(ТелоОтвета);
|
ТелоОтвета = СокрЛП(ТелоОтвета);
|
||||||
@@ -842,9 +968,10 @@
|
|||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ДанныеОтвета = Новый Соответствие;
|
ДанныеОтвета = Новый Структура;
|
||||||
ДанныеОтвета.Вставить("status" , Статус);
|
ДанныеОтвета.Вставить("status" , Статус);
|
||||||
ДанныеОтвета.Вставить("response", ДанныеТела);
|
ДанныеОтвета.Вставить("response", ДанныеТела);
|
||||||
|
ДанныеОтвета.Вставить("headers" , Заголовки);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
ДанныеОтвета = Ответ.ПолучитьТелоКакДвоичныеДанные();
|
ДанныеОтвета = Ответ.ПолучитьТелоКакДвоичныеДанные();
|
||||||
|
|||||||
@@ -256,6 +256,7 @@
|
|||||||
НовыйТест(ТаблицаТестов, "ЯМетрика_УправлениеСчетчиками" , "Управление счетчиками" , Метрика);
|
НовыйТест(ТаблицаТестов, "ЯМетрика_УправлениеСчетчиками" , "Управление счетчиками" , Метрика);
|
||||||
НовыйТест(ТаблицаТестов, "AWS_ОбщиеМетоды" , "Общие методы" , S3_);
|
НовыйТест(ТаблицаТестов, "AWS_ОбщиеМетоды" , "Общие методы" , S3_);
|
||||||
НовыйТест(ТаблицаТестов, "AWS_РаботаСБакетами" , "Работа с бакетами" , S3_);
|
НовыйТест(ТаблицаТестов, "AWS_РаботаСБакетами" , "Работа с бакетами" , S3_);
|
||||||
|
НовыйТест(ТаблицаТестов, "AWS_РаботаСОбъектами" , "Работа с объектами" , S3_);
|
||||||
|
|
||||||
Возврат ТаблицаТестов;
|
Возврат ТаблицаТестов;
|
||||||
|
|
||||||
|
|||||||
@@ -2138,6 +2138,22 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура AWS_РаботаСОбъектами() Экспорт
|
||||||
|
|
||||||
|
ПараметрыТеста = Новый Структура;
|
||||||
|
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("S3_AccessKey", ПараметрыТеста);
|
||||||
|
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("S3_SecretKey", ПараметрыТеста);
|
||||||
|
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("S3_URL" , ПараметрыТеста);
|
||||||
|
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||||
|
|
||||||
|
S3_СоздатьБакет(ПараметрыТеста);
|
||||||
|
S3_ЗагрузитьОбъект(ПараметрыТеста);
|
||||||
|
S3_ПолучитьОписаниеОбъекта(ПараметрыТеста);
|
||||||
|
S3_УдалитьОбъект(ПараметрыТеста);
|
||||||
|
S3_УдалитьБакет(ПараметрыТеста);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -14778,13 +14794,14 @@
|
|||||||
|
|
||||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступностьБакета", "S3"); // SKIP
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступностьБакета", "S3"); // SKIP
|
||||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||||
|
ОсновныеДанные.Вставить("URL", ПараметрыФункции["S3_URL"]); // SKIP
|
||||||
|
|
||||||
Результат = OPI_S3.ПроверитьДоступностьБакета(Наименование, ОсновныеДанные, Истина, "1234");
|
Результат = OPI_S3.ПроверитьДоступностьБакета(Наименование, ОсновныеДанные, Истина, "1234");
|
||||||
|
|
||||||
// END
|
// END
|
||||||
|
|
||||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступностьБакета (аккаунт)", "S3");
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступностьБакета (аккаунт)", "S3");
|
||||||
OPI_ПолучениеДанныхТестов.Проверка_S3НеНайдено(Результат);
|
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -14803,7 +14820,6 @@
|
|||||||
// END
|
// END
|
||||||
|
|
||||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьШифрованиеБакета", "S3");
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьШифрованиеБакета", "S3");
|
||||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
|
||||||
OPI_ПолучениеДанныхТестов.ЗаписатьФайлЛога("", "ПолучитьШифрованиеБакета", "S3", Истина);
|
OPI_ПолучениеДанныхТестов.ЗаписатьФайлЛога("", "ПолучитьШифрованиеБакета", "S3", Истина);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -15012,6 +15028,70 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура S3_ЗагрузитьОбъект(ПараметрыФункции)
|
||||||
|
|
||||||
|
URL = ПараметрыФункции["S3_URL"];
|
||||||
|
AccessKey = ПараметрыФункции["S3_AccessKey"];
|
||||||
|
SecretKey = ПараметрыФункции["S3_SecretKey"];
|
||||||
|
Region = "BTC";
|
||||||
|
|
||||||
|
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||||
|
|
||||||
|
Наименование = "picture.jpg";
|
||||||
|
Бакет = "opi-gpbucket3";
|
||||||
|
Содержимое = ПараметрыФункции["Picture"]; // URL, Путь или Двоичные данные
|
||||||
|
|
||||||
|
Результат = 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);
|
||||||
|
|
||||||
|
Наименование = "picture.jpg";
|
||||||
|
Бакет = "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);
|
||||||
|
|
||||||
|
Наименование = "picture.jpg";
|
||||||
|
Бакет = "opi-gpbucket3";
|
||||||
|
|
||||||
|
Результат = OPI_S3.ПолучитьОписаниеОбъекта(Наименование, Бакет, ОсновныеДанные);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеОбъекта", "S3");
|
||||||
|
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|||||||
@@ -16682,7 +16682,6 @@
|
|||||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("s3", "ПолучитьШифрованиеБакета", Опции);
|
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("s3", "ПолучитьШифрованиеБакета", Опции);
|
||||||
|
|
||||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьШифрованиеБакета", "S3");
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьШифрованиеБакета", "S3");
|
||||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user