mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-12-27 02:43:54 +02:00
Main build (Jenkins)
This commit is contained in:
parent
134faa3557
commit
a4bc63c55a
@ -1735,6 +1735,10 @@ def test_s3(){
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 GetObjectDownloadLink --name "test" --bucket "test" --basic "test" --expires "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 GetObjectUploadLink --name "test" --bucket "test" --basic "test" --expires "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -1735,6 +1735,10 @@ def test_s3(){
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 ПолучитьСсылкуСкачиванияОбъекта --name "test" --bucket "test" --basic "test" --expires "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 ПолучитьСсылкуЗагрузкиОбъекта --name "test" --bucket "test" --basic "test" --expires "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
5
docs/en/data/S3/GetObjectUploadLink.json
Normal file
5
docs/en/data/S3/GetObjectUploadLink.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"URL": "storage-155.s3hoster.by",
|
||||
"AccessKey": "BRN5RKJE67...",
|
||||
"SecretKey": "NNhv+i9PrytpT8Tu0C1N..."
|
||||
}
|
11
docs/en/examples/S3/GetObjectUploadLink.txt
Normal file
11
docs/en/examples/S3/GetObjectUploadLink.txt
Normal file
@ -0,0 +1,11 @@
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "pictureU.jpg";
|
||||
Bucket = "newbucket2";
|
||||
|
||||
Result = OPI_S3.GetObjectUploadLink(Name, Bucket, BasicData, 7200);
|
@ -26,6 +26,8 @@ import TabItem from '@theme/TabItem';
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
In Headers you need to add all x-amz headers that will be used when accessing the received URL
|
||||
|
||||
Process at AWS documentation: [Download and upload objects with presigned URLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html)
|
||||
:::
|
||||
<br/>
|
||||
|
53
docs/en/md/S3/Objects-management/Get-object-upload-link.mdx
Normal file
53
docs/en/md/S3/Objects-management/Get-object-upload-link.mdx
Normal file
@ -0,0 +1,53 @@
|
||||
---
|
||||
sidebar_position: 17
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get object upload link
|
||||
Gets a direct link to upload (put) an object without additional authorization
|
||||
|
||||
|
||||
|
||||
`Function GetObjectUploadLink(Val Name, Val Bucket, Val BasicData, Val Expire = 3600, Val Headers = Undefined) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Name | --name | String | ✔ | Name of the object in the bucket |
|
||||
| Bucket | --bucket | String | ✔ | Name of the bucket to put the object |
|
||||
| BasicData | --basic | Structure of KeyAndValue | ✔ | Basic request data. See GetBasicDataStructure |
|
||||
| Expire | --expires | String, Number | ✖ | Link lifetime in seconds. 604800 max. |
|
||||
| Headers | --headers | Map Of KeyAndValue | ✖ | Additional request headers, if necessary |
|
||||
|
||||
|
||||
Returns: String - URL for object retrieving
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
In Headers you need to add all x-amz headers that will be used when accessing the received URL
|
||||
|
||||
Process at AWS documentation: [Download and upload objects with presigned URLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "pictureU.jpg";
|
||||
Bucket = "newbucket2";
|
||||
|
||||
Result = OPI_S3.GetObjectUploadLink(Name, Bucket, BasicData, 7200);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
5
docs/ru/data/S3/ПолучитьСсылкуЗагрузкиОбъекта.json
Normal file
5
docs/ru/data/S3/ПолучитьСсылкуЗагрузкиОбъекта.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"URL": "storage-155.s3hoster.by",
|
||||
"AccessKey": "BRN5RKJE67...",
|
||||
"SecretKey": "NNhv+i9PrytpT8Tu0C1N..."
|
||||
}
|
11
docs/ru/examples/S3/ПолучитьСсылкуЗагрузкиОбъекта.txt
Normal file
11
docs/ru/examples/S3/ПолучитьСсылкуЗагрузкиОбъекта.txt
Normal file
@ -0,0 +1,11 @@
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Наименование = "pictureU.jpg";
|
||||
Бакет = "newbucket2";
|
||||
|
||||
Результат = OPI_S3.ПолучитьСсылкуЗагрузкиОбъекта(Наименование, Бакет, ОсновныеДанные, 7200);
|
@ -26,6 +26,8 @@ import TabItem from '@theme/TabItem';
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
В Заголовки необходимо добавить все x-amz заголовки, которые будут использоваться при обращении к полученному URL
|
||||
|
||||
О механизме в документации AWS: [Download and upload objects with presigned URLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html)
|
||||
:::
|
||||
<br/>
|
||||
|
53
docs/ru/md/S3/Objects-management/Get-object-upload-link.mdx
Normal file
53
docs/ru/md/S3/Objects-management/Get-object-upload-link.mdx
Normal file
@ -0,0 +1,53 @@
|
||||
---
|
||||
sidebar_position: 17
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить ссылку загрузки объекта
|
||||
Получает прямую ссылку для загрузки объекта без дополнительной авторизации
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьСсылкуЗагрузкиОбъекта(Знач Наименование, Знач Бакет, Знач ОсновныеДанные, Знач ВремяЖизни = 3600, Знач Заголовки = Неопределено) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Наименование | --name | Строка | ✔ | Наименование объекта в бакете |
|
||||
| Бакет | --bucket | Строка | ✔ | Имя бакета для загрузки объекта |
|
||||
| ОсновныеДанные | --basic | Структура Из КлючИЗначение | ✔ | Основные данные запроса. См. ПолучитьСтруктуруДанных |
|
||||
| ВремяЖизни | --expires | Строка, Число | ✖ | Время жизни ссылки в секундах. 604800 максимум |
|
||||
| Заголовки | --headers | Соответствие Из КлючИЗначение | ✖ | Дополнительные заголовки запроса, если необходимо |
|
||||
|
||||
|
||||
Возвращаемое значение: Строка - URL для получения объекта
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
В Заголовки необходимо добавить все x-amz заголовки, которые будут использоваться при обращении к полученному URL
|
||||
|
||||
О механизме в документации AWS: [Download and upload objects with presigned URLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Наименование = "pictureU.jpg";
|
||||
Бакет = "newbucket2";
|
||||
|
||||
Результат = OPI_S3.ПолучитьСсылкуЗагрузкиОбъекта(Наименование, Бакет, ОсновныеДанные, 7200);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1172,6 +1172,7 @@ EndFunction
|
||||
// Get presigned link for object retrieving without authorization
|
||||
//
|
||||
// Note
|
||||
// In Headers you need to add all x-amz headers that will be used when accessing the received URL
|
||||
// Process at AWS documentation: [Download and upload objects with presigned URLs](@docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html)
|
||||
//
|
||||
// Parameters:
|
||||
@ -1201,6 +1202,40 @@ Function GetObjectDownloadLink(Val Name
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get object upload link
|
||||
// Gets a direct link to upload (put) an object without additional authorization
|
||||
//
|
||||
// Note
|
||||
// In Headers you need to add all x-amz headers that will be used when accessing the received URL
|
||||
// Process at AWS documentation: [Download and upload objects with presigned URLs](@docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html)
|
||||
//
|
||||
// Parameters:
|
||||
// Name - String - Name of the object in the bucket - name
|
||||
// Bucket - String - Name of the bucket to put the object - bucket
|
||||
// BasicData - Structure of KeyAndValue - Basic request data. See GetBasicDataStructure - basic
|
||||
// Expire - String, Number - Link lifetime in seconds. 604800 max. - expires
|
||||
// Headers - Map Of KeyAndValue - Additional request headers, if necessary - headers
|
||||
//
|
||||
// Returns:
|
||||
// String - URL for object retrieving
|
||||
Function GetObjectUploadLink(Val Name
|
||||
, Val Bucket
|
||||
, Val BasicData
|
||||
, Val Expire = 3600
|
||||
, Val Headers = Undefined) Export
|
||||
|
||||
BasicData_ = OPI_Tools.CopyCollection(BasicData);
|
||||
|
||||
CheckBasicData(BasicData_);
|
||||
FillObjectURL(BasicData_, Name, Bucket);
|
||||
|
||||
Signature = CreateURLSignature(BasicData_, Name, "PUT", Expire, Headers);
|
||||
URL = BasicData_["URL"] + Signature;
|
||||
|
||||
Return URL;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -2165,6 +2165,7 @@ Procedure AWS_ObjectsManagement() Export
|
||||
S3_GetObjectDownloadLink(TestParameters);
|
||||
S3_DeleteObject(TestParameters);
|
||||
S3_DeleteBucket(TestParameters);
|
||||
S3_GetObjectUploadLink(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -15597,6 +15598,42 @@ Procedure S3_GetObjectDownloadLink(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure S3_GetObjectUploadLink(FunctionParameters)
|
||||
|
||||
Image = FunctionParameters["Picture"]; // SKIP
|
||||
OPI_TypeConversion.GetBinaryData(Image); // SKIP
|
||||
RequiredSize = Image.Size(); // SKIP
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "pictureU.jpg";
|
||||
Bucket = "newbucket2";
|
||||
|
||||
Result = OPI_S3.GetObjectUploadLink(Name, Bucket, BasicData, 7200);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObjectUploadLink", "S3");
|
||||
OPI_TestDataRetrieval.Check_String(Result);
|
||||
|
||||
Result = OPI_Tools.Put(Result, Image, , False);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObjectUploadLink (PUT)", "S3");
|
||||
|
||||
Check = OPI_S3.HeadObject(Name, Bucket, BasicData);
|
||||
OPI_TestDataRetrieval.WriteLog(Check, "HeadObject (Upload link)", "S3");
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(RequiredSize = Number(Check["headers"]["Content-Length"])).Равно(True);
|
||||
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -2156,8 +2156,10 @@ Procedure CLI_AWS_ObjectsManagement() Export
|
||||
CLI_S3_ListObjects(TestParameters);
|
||||
CLI_S3_ListObjectVersions(TestParameters);
|
||||
CLI_S3_GetObject(TestParameters);
|
||||
CLI_S3_GetObjectDownloadLink(TestParameters);
|
||||
CLI_S3_DeleteObject(TestParameters);
|
||||
CLI_S3_DeleteBucket(TestParameters);
|
||||
CLI_S3_GetObjectUploadLink(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -16473,7 +16475,7 @@ Procedure CLI_YandexMetrika_GetCounterStructure(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCounterStructure", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetCounterStructure", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetCounterStructure", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_Map(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -16531,7 +16533,7 @@ Procedure CLI_YandexMetrika_CreateCounter(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "CreateCounter", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CreateCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "CreateCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_MetrikaCounter(Result);
|
||||
|
||||
CounterID = Result["counter"]["id"];
|
||||
@ -16551,7 +16553,7 @@ Procedure CLI_YandexMetrika_DeleteCounter(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "DeleteCounter", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "DeleteCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_MetrikaSuccess(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -16581,7 +16583,7 @@ Procedure CLI_YandexMetrika_UpdateCounter(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "UpdateCounter", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "UpdateCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "UpdateCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_MetrikaCounter(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -16597,7 +16599,7 @@ Procedure CLI_YandexMetrika_GetCounter(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCounter", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_MetrikaCounter(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -16613,7 +16615,7 @@ Procedure CLI_YandexMetrika_RestoreCounter(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "RestoreCounter", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "RestoreCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "RestoreCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_MetrikaSuccess(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -16628,7 +16630,7 @@ Procedure CLI_YandexMetrika_GetCountersList(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCountersList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetCountersList", "YandexMetrika"); // SKIP
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetCountersList", "YandexMetrika"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_MetrikaCounters(Result); // SKIP
|
||||
|
||||
// filter by IDs list
|
||||
@ -16646,7 +16648,7 @@ Procedure CLI_YandexMetrika_GetCountersList(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCountersList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetCountersList (filter))", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetCountersList (filter))", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_MetrikaCounters(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17270,7 +17272,7 @@ Procedure CLI_S3_PutObject(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "PutObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "PutObject (parts)", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "PutObject (parts)", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
@ -17306,7 +17308,7 @@ Procedure CLI_S3_UploadFullObject(FunctionParameters)
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "UploadFullObject", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "UploadFullObject", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
@ -17403,7 +17405,7 @@ Procedure CLI_S3_CopyObject(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "CopyObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CopyObject", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "CopyObject", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
BasicData.Insert("URL", FunctionParameters["S3_URL"]);
|
||||
@ -17441,7 +17443,7 @@ Procedure CLI_S3_PutObjectTagging(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "PutObjectTagging", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "PutObjectTagging", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "PutObjectTagging", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17470,7 +17472,7 @@ Procedure CLI_S3_GetObjectTagging(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObjectTagging", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObjectTagging", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObjectTagging", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17499,7 +17501,7 @@ Procedure CLI_S3_DeleteObjectTagging(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "DeleteObjectTagging", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteObjectTagging", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "DeleteObjectTagging", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17526,7 +17528,7 @@ Procedure CLI_S3_ListObjects(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "ListObjects", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ListObjects", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "ListObjects", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17555,7 +17557,7 @@ Procedure CLI_S3_ListObjectVersions(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "ListObjectVersions", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ListObjectVersions", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "ListObjectVersions", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17588,7 +17590,7 @@ Procedure CLI_S3_GetObject(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObject", "S3"); // SKIP
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObject", "S3"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_BinaryData(Result, RequiredSize); // SKIP
|
||||
|
||||
TempFile = GetTempFileName();
|
||||
@ -17598,7 +17600,7 @@ Procedure CLI_S3_GetObject(FunctionParameters)
|
||||
Options.Insert("out" , TempFile);
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObject (file)", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObject (file)", "S3");
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result.Size() = RequiredSize);
|
||||
DeleteFiles(TempFile);
|
||||
|
||||
@ -17614,7 +17616,7 @@ Procedure CLI_S3_GetObject(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObject (big, file)", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObject (big, file)", "S3");
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result.Size() = 34432400);
|
||||
DeleteFiles(BigTempFile);
|
||||
|
||||
@ -17624,7 +17626,7 @@ Procedure CLI_S3_GetObject(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObject (big, BD)", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObject (big, BD)", "S3");
|
||||
OPI_TestDataRetrieval.Check_BinaryData(Result, 34432400);
|
||||
|
||||
EndProcedure
|
||||
@ -17657,7 +17659,7 @@ Procedure CLI_S3_InitPartsUpload(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "InitPartsUpload", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "InitPartsUpload", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "InitPartsUpload", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
UploadID = Result["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
@ -17692,7 +17694,7 @@ Procedure CLI_S3_InitPartsUpload(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "UploadObjectPart", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "UploadObjectPart", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "UploadObjectPart", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
BytesRead = SourceStream.CurrentPosition();
|
||||
@ -17717,7 +17719,7 @@ Procedure CLI_S3_InitPartsUpload(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "FinishPartsUpload", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "FinishPartsUpload", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "FinishPartsUpload", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
@ -17758,11 +17760,96 @@ Procedure CLI_S3_AbortMultipartUpload(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "AbortMultipartUpload", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "AbortMultipartUpload", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "AbortMultipartUpload", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_S3_GetObjectDownloadLink(FunctionParameters)
|
||||
|
||||
Image = FunctionParameters["Picture"]; // SKIP
|
||||
OPI_TypeConversion.GetBinaryData(Image); // SKIP
|
||||
RequiredSize = Image.Size(); // SKIP
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url" , URL);
|
||||
Options.Insert("access", AccessKey);
|
||||
Options.Insert("secret", SecretKey);
|
||||
Options.Insert("region", Region);
|
||||
|
||||
BasicData = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetBasicDataStructure", Options);
|
||||
|
||||
Name = "picture.jpg";
|
||||
Bucket = "opi-gpbucket3";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("name" , Name);
|
||||
Options.Insert("bucket" , Bucket);
|
||||
Options.Insert("basic" , BasicData);
|
||||
Options.Insert("expires", 7200);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObjectDownloadLink", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObjectDownloadLink", "S3");
|
||||
OPI_TestDataRetrieval.Check_String(Result);
|
||||
|
||||
Result = OPI_Tools.Get(Result);
|
||||
|
||||
OPI_TestDataRetrieval.Check_BinaryData(Result, RequiredSize);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_S3_GetObjectUploadLink(FunctionParameters)
|
||||
|
||||
Image = FunctionParameters["Picture"]; // SKIP
|
||||
OPI_TypeConversion.GetBinaryData(Image); // SKIP
|
||||
RequiredSize = Image.Size(); // SKIP
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url" , URL);
|
||||
Options.Insert("access", AccessKey);
|
||||
Options.Insert("secret", SecretKey);
|
||||
Options.Insert("region", Region);
|
||||
|
||||
BasicData = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetBasicDataStructure", Options);
|
||||
|
||||
Name = "pictureU.jpg";
|
||||
Bucket = "newbucket2";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("name" , Name);
|
||||
Options.Insert("bucket" , Bucket);
|
||||
Options.Insert("basic" , BasicData);
|
||||
Options.Insert("expires", 7200);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObjectUploadLink", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObjectUploadLink", "S3");
|
||||
OPI_TestDataRetrieval.Check_String(Result);
|
||||
|
||||
Result = OPI_Tools.Put(Result, Image, , False);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObjectUploadLink (PUT)", "S3");
|
||||
|
||||
Check = OPI_S3.HeadObject(Name, Bucket, BasicData);
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Check, "HeadObject (Upload link)", "S3");
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(RequiredSize = Number(Check["headers"]["Content-Length"])).Равно(True);
|
||||
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -1172,6 +1172,7 @@ EndFunction
|
||||
// Get presigned link for object retrieving without authorization
|
||||
//
|
||||
// Note
|
||||
// In Headers you need to add all x-amz headers that will be used when accessing the received URL
|
||||
// Process at AWS documentation: [Download and upload objects with presigned URLs](@docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html)
|
||||
//
|
||||
// Parameters:
|
||||
@ -1201,6 +1202,40 @@ Function GetObjectDownloadLink(Val Name
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get object upload link
|
||||
// Gets a direct link to upload (put) an object without additional authorization
|
||||
//
|
||||
// Note
|
||||
// In Headers you need to add all x-amz headers that will be used when accessing the received URL
|
||||
// Process at AWS documentation: [Download and upload objects with presigned URLs](@docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html)
|
||||
//
|
||||
// Parameters:
|
||||
// Name - String - Name of the object in the bucket - name
|
||||
// Bucket - String - Name of the bucket to put the object - bucket
|
||||
// BasicData - Structure of KeyAndValue - Basic request data. See GetBasicDataStructure - basic
|
||||
// Expire - String, Number - Link lifetime in seconds. 604800 max. - expires
|
||||
// Headers - Map Of KeyAndValue - Additional request headers, if necessary - headers
|
||||
//
|
||||
// Returns:
|
||||
// String - URL for object retrieving
|
||||
Function GetObjectUploadLink(Val Name
|
||||
, Val Bucket
|
||||
, Val BasicData
|
||||
, Val Expire = 3600
|
||||
, Val Headers = Undefined) Export
|
||||
|
||||
BasicData_ = OPI_Tools.CopyCollection(BasicData);
|
||||
|
||||
CheckBasicData(BasicData_);
|
||||
FillObjectURL(BasicData_, Name, Bucket);
|
||||
|
||||
Signature = CreateURLSignature(BasicData_, Name, "PUT", Expire, Headers);
|
||||
URL = BasicData_["URL"] + Signature;
|
||||
|
||||
Return URL;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -2165,6 +2165,7 @@ Procedure AWS_ObjectsManagement() Export
|
||||
S3_GetObjectDownloadLink(TestParameters);
|
||||
S3_DeleteObject(TestParameters);
|
||||
S3_DeleteBucket(TestParameters);
|
||||
S3_GetObjectUploadLink(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -15597,6 +15598,42 @@ Procedure S3_GetObjectDownloadLink(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure S3_GetObjectUploadLink(FunctionParameters)
|
||||
|
||||
Image = FunctionParameters["Picture"]; // SKIP
|
||||
OPI_TypeConversion.GetBinaryData(Image); // SKIP
|
||||
RequiredSize = Image.Size(); // SKIP
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "pictureU.jpg";
|
||||
Bucket = "newbucket2";
|
||||
|
||||
Result = OPI_S3.GetObjectUploadLink(Name, Bucket, BasicData, 7200);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObjectUploadLink", "S3");
|
||||
OPI_TestDataRetrieval.Check_String(Result);
|
||||
|
||||
Result = OPI_Tools.Put(Result, Image, , False);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObjectUploadLink (PUT)", "S3");
|
||||
|
||||
Check = OPI_S3.HeadObject(Name, Bucket, BasicData);
|
||||
OPI_TestDataRetrieval.WriteLog(Check, "HeadObject (Upload link)", "S3");
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(RequiredSize = Number(Check["headers"]["Content-Length"])).Равно(True);
|
||||
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -2156,8 +2156,10 @@ Procedure CLI_AWS_ObjectsManagement() Export
|
||||
CLI_S3_ListObjects(TestParameters);
|
||||
CLI_S3_ListObjectVersions(TestParameters);
|
||||
CLI_S3_GetObject(TestParameters);
|
||||
CLI_S3_GetObjectDownloadLink(TestParameters);
|
||||
CLI_S3_DeleteObject(TestParameters);
|
||||
CLI_S3_DeleteBucket(TestParameters);
|
||||
CLI_S3_GetObjectUploadLink(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -16473,7 +16475,7 @@ Procedure CLI_YandexMetrika_GetCounterStructure(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCounterStructure", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetCounterStructure", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetCounterStructure", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_Map(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -16531,7 +16533,7 @@ Procedure CLI_YandexMetrika_CreateCounter(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "CreateCounter", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CreateCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "CreateCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_MetrikaCounter(Result);
|
||||
|
||||
CounterID = Result["counter"]["id"];
|
||||
@ -16551,7 +16553,7 @@ Procedure CLI_YandexMetrika_DeleteCounter(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "DeleteCounter", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "DeleteCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_MetrikaSuccess(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -16581,7 +16583,7 @@ Procedure CLI_YandexMetrika_UpdateCounter(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "UpdateCounter", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "UpdateCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "UpdateCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_MetrikaCounter(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -16597,7 +16599,7 @@ Procedure CLI_YandexMetrika_GetCounter(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCounter", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_MetrikaCounter(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -16613,7 +16615,7 @@ Procedure CLI_YandexMetrika_RestoreCounter(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "RestoreCounter", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "RestoreCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "RestoreCounter", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_MetrikaSuccess(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -16628,7 +16630,7 @@ Procedure CLI_YandexMetrika_GetCountersList(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCountersList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetCountersList", "YandexMetrika"); // SKIP
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetCountersList", "YandexMetrika"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_MetrikaCounters(Result); // SKIP
|
||||
|
||||
// filter by IDs list
|
||||
@ -16646,7 +16648,7 @@ Procedure CLI_YandexMetrika_GetCountersList(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCountersList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetCountersList (filter))", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetCountersList (filter))", "YandexMetrika");
|
||||
OPI_TestDataRetrieval.Check_MetrikaCounters(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17270,7 +17272,7 @@ Procedure CLI_S3_PutObject(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "PutObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "PutObject (parts)", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "PutObject (parts)", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
@ -17306,7 +17308,7 @@ Procedure CLI_S3_UploadFullObject(FunctionParameters)
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "UploadFullObject", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "UploadFullObject", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
@ -17403,7 +17405,7 @@ Procedure CLI_S3_CopyObject(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "CopyObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CopyObject", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "CopyObject", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
BasicData.Insert("URL", FunctionParameters["S3_URL"]);
|
||||
@ -17441,7 +17443,7 @@ Procedure CLI_S3_PutObjectTagging(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "PutObjectTagging", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "PutObjectTagging", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "PutObjectTagging", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17470,7 +17472,7 @@ Procedure CLI_S3_GetObjectTagging(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObjectTagging", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObjectTagging", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObjectTagging", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17499,7 +17501,7 @@ Procedure CLI_S3_DeleteObjectTagging(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "DeleteObjectTagging", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteObjectTagging", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "DeleteObjectTagging", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17526,7 +17528,7 @@ Procedure CLI_S3_ListObjects(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "ListObjects", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ListObjects", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "ListObjects", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17555,7 +17557,7 @@ Procedure CLI_S3_ListObjectVersions(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "ListObjectVersions", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ListObjectVersions", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "ListObjectVersions", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17588,7 +17590,7 @@ Procedure CLI_S3_GetObject(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObject", "S3"); // SKIP
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObject", "S3"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_BinaryData(Result, RequiredSize); // SKIP
|
||||
|
||||
TempFile = GetTempFileName();
|
||||
@ -17598,7 +17600,7 @@ Procedure CLI_S3_GetObject(FunctionParameters)
|
||||
Options.Insert("out" , TempFile);
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObject (file)", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObject (file)", "S3");
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result.Size() = RequiredSize);
|
||||
DeleteFiles(TempFile);
|
||||
|
||||
@ -17614,7 +17616,7 @@ Procedure CLI_S3_GetObject(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObject (big, file)", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObject (big, file)", "S3");
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result.Size() = 34432400);
|
||||
DeleteFiles(BigTempFile);
|
||||
|
||||
@ -17624,7 +17626,7 @@ Procedure CLI_S3_GetObject(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetObject (big, BD)", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObject (big, BD)", "S3");
|
||||
OPI_TestDataRetrieval.Check_BinaryData(Result, 34432400);
|
||||
|
||||
EndProcedure
|
||||
@ -17657,7 +17659,7 @@ Procedure CLI_S3_InitPartsUpload(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "InitPartsUpload", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "InitPartsUpload", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "InitPartsUpload", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
UploadID = Result["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
@ -17692,7 +17694,7 @@ Procedure CLI_S3_InitPartsUpload(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "UploadObjectPart", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "UploadObjectPart", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "UploadObjectPart", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
BytesRead = SourceStream.CurrentPosition();
|
||||
@ -17717,7 +17719,7 @@ Procedure CLI_S3_InitPartsUpload(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "FinishPartsUpload", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "FinishPartsUpload", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "FinishPartsUpload", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
@ -17758,11 +17760,96 @@ Procedure CLI_S3_AbortMultipartUpload(FunctionParameters)
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "AbortMultipartUpload", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "AbortMultipartUpload", "S3");
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "AbortMultipartUpload", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_S3_GetObjectDownloadLink(FunctionParameters)
|
||||
|
||||
Image = FunctionParameters["Picture"]; // SKIP
|
||||
OPI_TypeConversion.GetBinaryData(Image); // SKIP
|
||||
RequiredSize = Image.Size(); // SKIP
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url" , URL);
|
||||
Options.Insert("access", AccessKey);
|
||||
Options.Insert("secret", SecretKey);
|
||||
Options.Insert("region", Region);
|
||||
|
||||
BasicData = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetBasicDataStructure", Options);
|
||||
|
||||
Name = "picture.jpg";
|
||||
Bucket = "opi-gpbucket3";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("name" , Name);
|
||||
Options.Insert("bucket" , Bucket);
|
||||
Options.Insert("basic" , BasicData);
|
||||
Options.Insert("expires", 7200);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObjectDownloadLink", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObjectDownloadLink", "S3");
|
||||
OPI_TestDataRetrieval.Check_String(Result);
|
||||
|
||||
Result = OPI_Tools.Get(Result);
|
||||
|
||||
OPI_TestDataRetrieval.Check_BinaryData(Result, RequiredSize);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_S3_GetObjectUploadLink(FunctionParameters)
|
||||
|
||||
Image = FunctionParameters["Picture"]; // SKIP
|
||||
OPI_TypeConversion.GetBinaryData(Image); // SKIP
|
||||
RequiredSize = Image.Size(); // SKIP
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url" , URL);
|
||||
Options.Insert("access", AccessKey);
|
||||
Options.Insert("secret", SecretKey);
|
||||
Options.Insert("region", Region);
|
||||
|
||||
BasicData = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetBasicDataStructure", Options);
|
||||
|
||||
Name = "pictureU.jpg";
|
||||
Bucket = "newbucket2";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("name" , Name);
|
||||
Options.Insert("bucket" , Bucket);
|
||||
Options.Insert("basic" , BasicData);
|
||||
Options.Insert("expires", 7200);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("s3", "GetObjectUploadLink", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObjectUploadLink", "S3");
|
||||
OPI_TestDataRetrieval.Check_String(Result);
|
||||
|
||||
Result = OPI_Tools.Put(Result, Image, , False);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetObjectUploadLink (PUT)", "S3");
|
||||
|
||||
Check = OPI_S3.HeadObject(Name, Bucket, BasicData);
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Check, "HeadObject (Upload link)", "S3");
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(RequiredSize = Number(Check["headers"]["Content-Length"])).Равно(True);
|
||||
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -1560,6 +1560,57 @@
|
||||
NewLine.Описание = "Additional request headers, if necessary (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Objects management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "GetObjectUploadLink";
|
||||
NewLine.МетодПоиска = "GETOBJECTUPLOADLINK";
|
||||
NewLine.Параметр = "--name";
|
||||
NewLine.Описание = "Name of the object in the bucket";
|
||||
NewLine.Область = "Objects management";
|
||||
NewLine.ОписаниеМетода = "Gets a direct link to upload (put) an object without additional authorization";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "GetObjectUploadLink";
|
||||
NewLine.МетодПоиска = "GETOBJECTUPLOADLINK";
|
||||
NewLine.Параметр = "--bucket";
|
||||
NewLine.Описание = "Name of the bucket to put the object";
|
||||
NewLine.Область = "Objects management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "GetObjectUploadLink";
|
||||
NewLine.МетодПоиска = "GETOBJECTUPLOADLINK";
|
||||
NewLine.Параметр = "--basic";
|
||||
NewLine.Описание = "Basic request data. See GetBasicDataStructure";
|
||||
NewLine.Область = "Objects management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "GetObjectUploadLink";
|
||||
NewLine.МетодПоиска = "GETOBJECTUPLOADLINK";
|
||||
NewLine.Параметр = "--expires";
|
||||
NewLine.Описание = "Link lifetime in seconds. 604800 max. (optional, def. val. - 3600)";
|
||||
NewLine.Область = "Objects management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "GetObjectUploadLink";
|
||||
NewLine.МетодПоиска = "GETOBJECTUPLOADLINK";
|
||||
NewLine.Параметр = "--headers";
|
||||
NewLine.Описание = "Additional request headers, if necessary (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Objects management";
|
||||
|
||||
Return CompositionTable;
|
||||
EndFunction
|
||||
|
||||
|
@ -15622,14 +15622,14 @@
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
|
||||
|
||||
Результат = OPI_Инструменты.Put(Результат, Картинка, , Ложь);
|
||||
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуЗагрузкиОбъекта (PUT)", "S3");
|
||||
|
||||
|
||||
Проверка = OPI_S3.ПолучитьОписаниеОбъекта(Наименование, Бакет, ОсновныеДанные);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ПолучитьОписаниеОбъекта (Ссылка загрузки)", "S3");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(НеобходимыйРазмер = Число(Проверка["headers"]["Content-Length"])).Равно(Истина);
|
||||
|
||||
|
||||
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -17838,14 +17838,14 @@
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
|
||||
|
||||
Результат = OPI_Инструменты.Put(Результат, Картинка, , Ложь);
|
||||
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСсылкуЗагрузкиОбъекта (PUT)", "S3");
|
||||
|
||||
|
||||
Проверка = OPI_S3.ПолучитьОписаниеОбъекта(Наименование, Бакет, ОсновныеДанные);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Проверка, "ПолучитьОписаниеОбъекта (Ссылка загрузки)", "S3");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(НеобходимыйРазмер = Число(Проверка["headers"]["Content-Length"])).Равно(Истина);
|
||||
|
||||
|
||||
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -2040,9 +2040,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -15622,14 +15622,14 @@
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
|
||||
|
||||
Результат = OPI_Инструменты.Put(Результат, Картинка, , Ложь);
|
||||
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуЗагрузкиОбъекта (PUT)", "S3");
|
||||
|
||||
|
||||
Проверка = OPI_S3.ПолучитьОписаниеОбъекта(Наименование, Бакет, ОсновныеДанные);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ПолучитьОписаниеОбъекта (Ссылка загрузки)", "S3");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(НеобходимыйРазмер = Число(Проверка["headers"]["Content-Length"])).Равно(Истина);
|
||||
|
||||
|
||||
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -17838,14 +17838,14 @@
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
|
||||
|
||||
Результат = OPI_Инструменты.Put(Результат, Картинка, , Ложь);
|
||||
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСсылкуЗагрузкиОбъекта (PUT)", "S3");
|
||||
|
||||
|
||||
Проверка = OPI_S3.ПолучитьОписаниеОбъекта(Наименование, Бакет, ОсновныеДанные);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Проверка, "ПолучитьОписаниеОбъекта (Ссылка загрузки)", "S3");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(НеобходимыйРазмер = Число(Проверка["headers"]["Content-Length"])).Равно(Истина);
|
||||
|
||||
|
||||
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -1564,6 +1564,57 @@
|
||||
НоваяСтрока.Описание = "Дополнительные заголовки запроса, если необходимо (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Работа с объектами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ПолучитьСсылкуЗагрузкиОбъекта";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬССЫЛКУЗАГРУЗКИОБЪЕКТА";
|
||||
НоваяСтрока.Параметр = "--name";
|
||||
НоваяСтрока.Описание = "Наименование объекта в бакете";
|
||||
НоваяСтрока.Область = "Работа с объектами";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает прямую ссылку для загрузки объекта без дополнительной авторизации";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ПолучитьСсылкуЗагрузкиОбъекта";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬССЫЛКУЗАГРУЗКИОБЪЕКТА";
|
||||
НоваяСтрока.Параметр = "--bucket";
|
||||
НоваяСтрока.Описание = "Имя бакета для загрузки объекта";
|
||||
НоваяСтрока.Область = "Работа с объектами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ПолучитьСсылкуЗагрузкиОбъекта";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬССЫЛКУЗАГРУЗКИОБЪЕКТА";
|
||||
НоваяСтрока.Параметр = "--basic";
|
||||
НоваяСтрока.Описание = "Основные данные запроса. См. ПолучитьСтруктуруДанных";
|
||||
НоваяСтрока.Область = "Работа с объектами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ПолучитьСсылкуЗагрузкиОбъекта";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬССЫЛКУЗАГРУЗКИОБЪЕКТА";
|
||||
НоваяСтрока.Параметр = "--expires";
|
||||
НоваяСтрока.Описание = "Время жизни ссылки в секундах. 604800 максимум (необяз. по ум. - 3600)";
|
||||
НоваяСтрока.Область = "Работа с объектами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ПолучитьСсылкуЗагрузкиОбъекта";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬССЫЛКУЗАГРУЗКИОБЪЕКТА";
|
||||
НоваяСтрока.Параметр = "--headers";
|
||||
НоваяСтрока.Описание = "Дополнительные заголовки запроса, если необходимо (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Работа с объектами";
|
||||
|
||||
Возврат ТаблицаСостава;
|
||||
КонецФункции
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user