1
0
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:
Vitaly the Alpaca (bot) 2024-12-01 13:49:27 +03:00
parent 134faa3557
commit a4bc63c55a
24 changed files with 6410 additions and 5840 deletions

View File

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

View File

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

View File

@ -0,0 +1,5 @@
{
"URL": "storage-155.s3hoster.by",
"AccessKey": "BRN5RKJE67...",
"SecretKey": "NNhv+i9PrytpT8Tu0C1N..."
}

View 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);

View File

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

View 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 | &#x2714; | Name of the object in the bucket |
| Bucket | --bucket | String | &#x2714; | Name of the bucket to put the object |
| BasicData | --basic | Structure of KeyAndValue | &#x2714; | Basic request data. See GetBasicDataStructure |
| Expire | --expires | String, Number | &#x2716; | Link lifetime in seconds. 604800 max. |
| Headers | --headers | Map Of KeyAndValue | &#x2716; | 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);
```

View File

@ -0,0 +1,5 @@
{
"URL": "storage-155.s3hoster.by",
"AccessKey": "BRN5RKJE67...",
"SecretKey": "NNhv+i9PrytpT8Tu0C1N..."
}

View 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);

View File

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

View File

@ -0,0 +1,53 @@
---
sidebar_position: 17
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Получить ссылку загрузки объекта
Получает прямую ссылку для загрузки объекта без дополнительной авторизации
`Функция ПолучитьСсылкуЗагрузкиОбъекта(Знач Наименование, Знач Бакет, Знач ОсновныеДанные, Знач ВремяЖизни = 3600, Знач Заголовки = Неопределено) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Наименование | --name | Строка | &#x2714; | Наименование объекта в бакете |
| Бакет | --bucket | Строка | &#x2714; | Имя бакета для загрузки объекта |
| ОсновныеДанные | --basic | Структура Из КлючИЗначение | &#x2714; | Основные данные запроса. См. ПолучитьСтруктуруДанных |
| ВремяЖизни | --expires | Строка, Число | &#x2716; | Время жизни ссылки в секундах. 604800 максимум |
| Заголовки | --headers | Соответствие Из КлючИЗначение | &#x2716; | Дополнительные заголовки запроса, если необходимо |
Возвращаемое значение: Строка - 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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -15622,14 +15622,14 @@
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
Результат = OPI_Инструменты.Put(Результат, Картинка, , Ложь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуЗагрузкиОбъекта (PUT)", "S3");
Проверка = OPI_S3.ПолучитьОписаниеОбъекта(Наименование, Бакет, ОсновныеДанные);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ПолучитьОписаниеОбъекта (Ссылка загрузки)", "S3");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(НеобходимыйРазмер = Число(Проверка["headers"]["Content-Length"])).Равно(Истина);
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
КонецПроцедуры

View File

@ -17838,14 +17838,14 @@
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
Результат = OPI_Инструменты.Put(Результат, Картинка, , Ложь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСсылкуЗагрузкиОбъекта (PUT)", "S3");
Проверка = OPI_S3.ПолучитьОписаниеОбъекта(Наименование, Бакет, ОсновныеДанные);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Проверка, "ПолучитьОписаниеОбъекта (Ссылка загрузки)", "S3");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(НеобходимыйРазмер = Число(Проверка["headers"]["Content-Length"])).Равно(Истина);
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
КонецПроцедуры

View File

@ -2040,9 +2040,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@ -15622,14 +15622,14 @@
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
Результат = OPI_Инструменты.Put(Результат, Картинка, , Ложь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуЗагрузкиОбъекта (PUT)", "S3");
Проверка = OPI_S3.ПолучитьОписаниеОбъекта(Наименование, Бакет, ОсновныеДанные);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ПолучитьОписаниеОбъекта (Ссылка загрузки)", "S3");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(НеобходимыйРазмер = Число(Проверка["headers"]["Content-Length"])).Равно(Истина);
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
КонецПроцедуры

View File

@ -17838,14 +17838,14 @@
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
Результат = OPI_Инструменты.Put(Результат, Картинка, , Ложь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСсылкуЗагрузкиОбъекта (PUT)", "S3");
Проверка = OPI_S3.ПолучитьОписаниеОбъекта(Наименование, Бакет, ОсновныеДанные);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Проверка, "ПолучитьОписаниеОбъекта (Ссылка загрузки)", "S3");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(НеобходимыйРазмер = Число(Проверка["headers"]["Content-Length"])).Равно(Истина);
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
КонецПроцедуры

View File

@ -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";
НоваяСтрока.Описание = "Дополнительные заголовки запроса, если необходимо (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с объектами";
Возврат ТаблицаСостава;
КонецФункции