mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-02-05 13:25:25 +02:00
Main build (Jenkins)
This commit is contained in:
parent
16ccc28e99
commit
e15be829a9
@ -1691,6 +1691,10 @@ def test_s3(){
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 FinishPartsUpload --name "test" --bucket "test" --basic "test" --upload "test" --tags "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 AbortMultipartUpload --name "test" --bucket "test" --basic "test" --upload "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 HeadObject --name "test" --bucket "test" --basic "test" --ver "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
@ -1691,6 +1691,10 @@ def test_s3(){
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 ЗавершитьЗагрузкуЧастями --name "test" --bucket "test" --basic "test" --upload "test" --tags "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 ОтменитьЗагрузкуЧастями --name "test" --bucket "test" --basic "test" --upload "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 ПолучитьОписаниеОбъекта --name "test" --bucket "test" --basic "test" --ver "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
5
docs/en/data/S3/AbortMultipartUpload.json
Normal file
5
docs/en/data/S3/AbortMultipartUpload.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"URL": "storage-155.s3hoster.by",
|
||||
"AccessKey": "BRN5RKJE67...",
|
||||
"SecretKey": "NNhv+i9PrytpT8Tu0C1N..."
|
||||
}
|
14
docs/en/examples/S3/AbortMultipartUpload.txt
Normal file
14
docs/en/examples/S3/AbortMultipartUpload.txt
Normal file
@ -0,0 +1,14 @@
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "fileChunked.mp3";
|
||||
Bucket = "opi-gpbucket3";
|
||||
|
||||
Start = OPI_S3.InitPartsUpload(Name, Bucket, BasicData);
|
||||
UploadID = Start["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
|
||||
Result = OPI_S3.AbortMultipartUpload(Name, Bucket, BasicData, UploadID);
|
@ -1,4 +1,4 @@
|
||||
URL = "storage-155.s3hoster.by";
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
@ -32,12 +32,8 @@
|
||||
Break;
|
||||
EndIf;
|
||||
|
||||
Result = OPI_S3.UploadObjectPart(Name
|
||||
, Bucket
|
||||
, BasicData
|
||||
, UploadID
|
||||
, PartNumber
|
||||
, CurrentData);
|
||||
Result = OPI_S3.UploadObjectPart(Name, Bucket, BasicData, UploadID, PartNumber,
|
||||
CurrentData);
|
||||
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
56
docs/en/md/S3/Objects-management/Abort-multipart-upload.mdx
Normal file
56
docs/en/md/S3/Objects-management/Abort-multipart-upload.mdx
Normal file
@ -0,0 +1,56 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Abort multipart upload
|
||||
Aborts the multipart uploading of the object
|
||||
|
||||
|
||||
|
||||
`Function AbortMultipartUpload(Val Name, Val Bucket, Val BasicData, Val UploadID, 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 |
|
||||
| UploadID | --upload | String | ✔ | Upload ID. See InitPartsUpload |
|
||||
| Headers | --headers | Map Of KeyAndValue | ✖ | Additional request headers, if necessary |
|
||||
|
||||
|
||||
Returns: Structure of KeyAndValue - serialized JSON response from storage
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Method at AWS documentation: [AbortMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)
|
||||
|
||||
This is a service method. A `PutObject` method is intended for the common scenario of files uploading<br/>
|
||||
:::
|
||||
<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 = "fileChunked.mp3";
|
||||
Bucket = "opi-gpbucket3";
|
||||
|
||||
Start = OPI_S3.InitPartsUpload(Name, Bucket, BasicData);
|
||||
UploadID = Start["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
|
||||
Result = OPI_S3.AbortMultipartUpload(Name, Bucket, BasicData, UploadID);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 9
|
||||
sidebar_position: 10
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 12
|
||||
sidebar_position: 13
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 8
|
||||
sidebar_position: 9
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -29,7 +29,7 @@ import TabItem from '@theme/TabItem';
|
||||
:::tip
|
||||
Method at AWS documentation: [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
|
||||
|
||||
This is a service method. A `PutObject` method is intended for the main scenario of files uploading
|
||||
This is a service method. A `PutObject` method is intended for the common scenario of files uploading
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 11
|
||||
sidebar_position: 12
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 7
|
||||
sidebar_position: 8
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
sidebar_position: 7
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
|
||||
:::tip
|
||||
Method at AWS documentation: [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
|
||||
|
||||
This is a service method. A `PutObject` method is intended for the main scenario of files uploading<br/>Using multipart upload for files < 5 MB or when the size of a single chunk is < 5 MB will result in an error
|
||||
This is a service method. A `PutObject` method is intended for the common scenario of files uploading<br/>Using multipart upload for files < 5 MB or when the size of a single chunk is < 5 MB will result in an error
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 14
|
||||
sidebar_position: 15
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 13
|
||||
sidebar_position: 14
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 10
|
||||
sidebar_position: 11
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -28,7 +28,7 @@ import TabItem from '@theme/TabItem';
|
||||
:::tip
|
||||
Method at AWS documentation: [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
|
||||
|
||||
This is a service method. A `PutObject` method is intended for the main scenario of files uploading<br/>Using this method for large files may cause errors
|
||||
This is a service method. A `PutObject` method is intended for the common scenario of files uploading<br/>Using this method for large files may cause errors
|
||||
|
||||
Parameters with Binary data type can also accept file paths on disk and URLs
|
||||
:::
|
||||
|
@ -30,7 +30,7 @@ import TabItem from '@theme/TabItem';
|
||||
:::tip
|
||||
Method at AWS documentation: [UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
|
||||
|
||||
This is a service method. A `PutObject` method is intended for the main scenario of files uploading
|
||||
This is a service method. A `PutObject` method is intended for the common scenario of files uploading
|
||||
|
||||
Parameters with Binary data type can also accept file paths on disk and URLs
|
||||
:::
|
||||
@ -38,7 +38,7 @@ Parameters with Binary data type can also accept file paths on disk and URLs
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
URL = "storage-155.s3hoster.by";
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
@ -72,12 +72,8 @@ Parameters with Binary data type can also accept file paths on disk and URLs
|
||||
Break;
|
||||
EndIf;
|
||||
|
||||
Result = OPI_S3.UploadObjectPart(Name
|
||||
, Bucket
|
||||
, BasicData
|
||||
, UploadID
|
||||
, PartNumber
|
||||
, CurrentData);
|
||||
Result = OPI_S3.UploadObjectPart(Name, Bucket, BasicData, UploadID, PartNumber,
|
||||
CurrentData);
|
||||
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
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..."
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
@ -32,12 +32,8 @@
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = OPI_S3.ЗагрузитьЧастьОбъекта(Наименование
|
||||
, Бакет
|
||||
, ОсновныеДанные
|
||||
, IDЗагрузки
|
||||
, НомерЧасти
|
||||
, ТекущиеДанные);
|
||||
Результат = OPI_S3.ЗагрузитьЧастьОбъекта(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, НомерЧасти,
|
||||
ТекущиеДанные);
|
||||
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
14
docs/ru/examples/S3/ОтменитьЗагрузкуЧастями.txt
Normal file
14
docs/ru/examples/S3/ОтменитьЗагрузкуЧастями.txt
Normal file
@ -0,0 +1,14 @@
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Наименование = "fileChunked.mp3";
|
||||
Бакет = "opi-gpbucket3";
|
||||
|
||||
Начало = OPI_S3.ИнициализироватьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные);
|
||||
IDЗагрузки = Начало["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
|
||||
Результат = OPI_S3.ОтменитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки);
|
56
docs/ru/md/S3/Objects-management/Abort-multipart-upload.mdx
Normal file
56
docs/ru/md/S3/Objects-management/Abort-multipart-upload.mdx
Normal file
@ -0,0 +1,56 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Отменить загрузку частями
|
||||
Отменяет загрузку объекта по частям
|
||||
|
||||
|
||||
|
||||
`Функция ОтменитьЗагрузкуЧастями(Знач Наименование, Знач Бакет, Знач ОсновныеДанные, Знач IDЗагрузки, Знач Заголовки = Неопределено) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Наименование | --name | Строка | ✔ | Наименование объекта в бакете |
|
||||
| Бакет | --bucket | Строка | ✔ | Имя бакета для загрузки объекта |
|
||||
| ОсновныеДанные | --basic | Структура Из КлючИЗначение | ✔ | Основные данные запроса. См. ПолучитьСтруктуруДанных |
|
||||
| IDЗагрузки | --upload | Строка | ✔ | ID загрузки по частям. См. ИнициализироватьЗагрузкуЧастями |
|
||||
| Заголовки | --headers | Соответствие Из КлючИЗначение | ✖ | Дополнительные заголовки запроса, если необходимо |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Метод в документации AWS: [AbortMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)
|
||||
|
||||
Это служебный метод. Для простого сценария загрузки файлов предназначен единый метод `ЗагрузитьОбъект`<br/>
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Наименование = "fileChunked.mp3";
|
||||
Бакет = "opi-gpbucket3";
|
||||
|
||||
Начало = OPI_S3.ИнициализироватьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные);
|
||||
IDЗагрузки = Начало["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
|
||||
Результат = OPI_S3.ОтменитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 9
|
||||
sidebar_position: 10
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 12
|
||||
sidebar_position: 13
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 8
|
||||
sidebar_position: 9
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -29,7 +29,7 @@ import TabItem from '@theme/TabItem';
|
||||
:::tip
|
||||
Метод в документации AWS: [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
|
||||
|
||||
Это служебный метод. Для основного сценария загрузки файлов предназначен единый метод `ЗагрузитьОбъект`
|
||||
Это служебный метод. Для простого сценария загрузки файлов предназначен единый метод `ЗагрузитьОбъект`
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 11
|
||||
sidebar_position: 12
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 7
|
||||
sidebar_position: 8
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
sidebar_position: 7
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
|
||||
:::tip
|
||||
Метод в документации AWS: [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
|
||||
|
||||
Это служебный метод. Для основного сценария загрузки файлов предназначен единый метод `ЗагрузитьОбъект`<br/>Использование загрузки частями для файлов < 5 МБ или при размере одной части < 5 МБ приведет к ошибке
|
||||
Это служебный метод. Для простого сценария загрузки файлов предназначен единый метод `ЗагрузитьОбъект`<br/>Использование загрузки частями для файлов < 5 МБ или при размере одной части < 5 МБ приведет к ошибке
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 14
|
||||
sidebar_position: 15
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 13
|
||||
sidebar_position: 14
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 10
|
||||
sidebar_position: 11
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
@ -28,7 +28,7 @@ import TabItem from '@theme/TabItem';
|
||||
:::tip
|
||||
Метод в документации AWS: [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
|
||||
|
||||
Это служебный метод. Для основного сценария загрузки файлов предназначен единый метод `ЗагрузитьОбъект`<br/>Использование данного метода для больших файлов может приводить к сбоям
|
||||
Это служебный метод. Для простого сценария загрузки файлов предназначен единый метод `ЗагрузитьОбъект`<br/>Использование данного метода для больших файлов может приводить к сбоям
|
||||
|
||||
Параметры с типом данных Двоичные данные могут принимать также пути к файлам на диске и URL
|
||||
:::
|
||||
|
@ -30,7 +30,7 @@ import TabItem from '@theme/TabItem';
|
||||
:::tip
|
||||
Метод в документации AWS: [UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
|
||||
|
||||
Это служебный метод. Для основного сценария загрузки файлов предназначен единый метод `ЗагрузитьОбъект`
|
||||
Это служебный метод. Для простого сценария загрузки файлов предназначен единый метод `ЗагрузитьОбъект`
|
||||
|
||||
Параметры с типом данных Двоичные данные могут принимать также пути к файлам на диске и URL
|
||||
:::
|
||||
@ -39,9 +39,9 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
@ -72,12 +72,8 @@ import TabItem from '@theme/TabItem';
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = OPI_S3.ЗагрузитьЧастьОбъекта(Наименование
|
||||
, Бакет
|
||||
, ОсновныеДанные
|
||||
, IDЗагрузки
|
||||
, НомерЧасти
|
||||
, ТекущиеДанные);
|
||||
Результат = OPI_S3.ЗагрузитьЧастьОбъекта(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, НомерЧасти,
|
||||
ТекущиеДанные);
|
||||
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -590,7 +590,7 @@ EndFunction
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [PutObject](@docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
|
||||
// This is a service method. A `PutObject` method is intended for the main scenario of files uploading^
|
||||
// This is a service method. A `PutObject` method is intended for the common scenario of files uploading^
|
||||
// Using this method for large files may cause errors
|
||||
//
|
||||
// Parameters:
|
||||
@ -623,7 +623,7 @@ EndFunction
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [CreateMultipartUpload](@docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
|
||||
// This is a service method. A `PutObject` method is intended for the main scenario of files uploading^
|
||||
// This is a service method. A `PutObject` method is intended for the common scenario of files uploading^
|
||||
// Using multipart upload for files < 5 MB or when the size of a single chunk is < 5 MB will result in an error
|
||||
//
|
||||
// Parameters:
|
||||
@ -656,7 +656,7 @@ EndFunction
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [UploadPart](@docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
|
||||
// This is a service method. A `PutObject` method is intended for the main scenario of files uploading
|
||||
// This is a service method. A `PutObject` method is intended for the common scenario of files uploading
|
||||
//
|
||||
// Parameters:
|
||||
// Name - String - Name of the object in the bucket - name
|
||||
@ -700,7 +700,7 @@ EndFunction
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [CompleteMultipartUpload](@docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
|
||||
// This is a service method. A `PutObject` method is intended for the main scenario of files uploading
|
||||
// This is a service method. A `PutObject` method is intended for the common scenario of files uploading
|
||||
//
|
||||
// Parameters:
|
||||
// Name - String - Name of the object in the bucket - name
|
||||
@ -748,6 +748,40 @@ Function FinishPartsUpload(Val Name
|
||||
|
||||
EndFunction
|
||||
|
||||
// Abort multipart upload
|
||||
// Aborts the multipart uploading of the object
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [AbortMultipartUpload](@docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)
|
||||
// This is a service method. A `PutObject` method is intended for the common scenario of files uploading^
|
||||
//
|
||||
// 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
|
||||
// UploadID - String - Upload ID. See InitPartsUpload - upload
|
||||
// Headers - Map Of KeyAndValue - Additional request headers, if necessary - headers
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - serialized JSON response from storage
|
||||
Function AbortMultipartUpload(Val Name
|
||||
, Val Bucket
|
||||
, Val BasicData
|
||||
, Val UploadID
|
||||
, Val Headers = Undefined) Export
|
||||
|
||||
BasicData_ = OPI_Tools.CopyCollection(BasicData);
|
||||
|
||||
FillObjectURL(BasicData_, Name, Bucket);
|
||||
|
||||
BasicData_.Insert("URL", BasicData_["URL"] + "?uploadId=" + String(UploadID));
|
||||
|
||||
Response = SendRequestWithoutBody("DELETE", BasicData_, , Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Head object
|
||||
// Receives information about the properties of the object in the baquette
|
||||
//
|
||||
@ -1604,6 +1638,7 @@ Function UploadObjectInParts(Val Name
|
||||
SourceStream = DataReader.SourceStream();
|
||||
Response = New Map;
|
||||
TagsArray = New Array;
|
||||
Error = False;
|
||||
|
||||
WHile BytesRead < TotalSize Do
|
||||
|
||||
@ -1650,11 +1685,13 @@ Function UploadObjectInParts(Val Name
|
||||
Message(OPI_Tools.JSONString(Response));
|
||||
Message("Failed to upload part of the file! Abort upload wiht ID:" + UploadID + "...");
|
||||
|
||||
Raise;
|
||||
Error = True;
|
||||
Break;
|
||||
|
||||
Else
|
||||
|
||||
Message("Chunk upload error " + String(N) + "/3");
|
||||
Message(ErrorDescription());
|
||||
Continue;
|
||||
|
||||
EndIf;
|
||||
@ -1665,7 +1702,11 @@ Function UploadObjectInParts(Val Name
|
||||
|
||||
EndDo;
|
||||
|
||||
Response = FinishPartsUpload(Name, Bucket, BasicData, UploadID, TagsArray);
|
||||
If Error Then
|
||||
Response = AbortMultipartUpload(Name, Bucket, BasicData, UploadID);
|
||||
Else
|
||||
Response = FinishPartsUpload(Name, Bucket, BasicData, UploadID, TagsArray);
|
||||
EndIf;
|
||||
|
||||
Return Response;
|
||||
|
||||
|
@ -2153,6 +2153,7 @@ Procedure AWS_ObjectsManagement() Export
|
||||
S3_InitPartsUpload(TestParameters);
|
||||
S3_UploadObjectPart(TestParameters);
|
||||
S3_FinishPartsUpload(TestParameters);
|
||||
S3_AbortMultipartUpload(TestParameters);
|
||||
S3_HeadObject(TestParameters);
|
||||
S3_CopyObject(TestParameters);
|
||||
S3_PutObjectTagging(TestParameters);
|
||||
@ -15467,7 +15468,7 @@ EndProcedure
|
||||
|
||||
Procedure S3_UploadObjectPart(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
@ -15504,17 +15505,13 @@ Procedure S3_UploadObjectPart(FunctionParameters)
|
||||
Break;
|
||||
EndIf;
|
||||
|
||||
Result = OPI_S3.UploadObjectPart(Name
|
||||
, Bucket
|
||||
, BasicData
|
||||
, UploadID
|
||||
, PartNumber
|
||||
, CurrentData);
|
||||
Result = OPI_S3.UploadObjectPart(Name, Bucket, BasicData, UploadID, PartNumber,
|
||||
CurrentData);
|
||||
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "UploadObjectPart", "S3"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result); // SKIP
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result); // SKIP
|
||||
|
||||
BytesRead = SourceStream.CurrentPosition();
|
||||
TagsArray.Add(Result["headers"]["Etag"]);
|
||||
@ -15529,10 +15526,34 @@ Procedure S3_UploadObjectPart(FunctionParameters)
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "FinishPartsUpload (UOP)", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "FinishPartsUpload (UOP)", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure S3_AbortMultipartUpload(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "fileChunked.mp3";
|
||||
Bucket = "opi-gpbucket3";
|
||||
|
||||
Start = OPI_S3.InitPartsUpload(Name, Bucket, BasicData);
|
||||
UploadID = Start["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
|
||||
Result = OPI_S3.AbortMultipartUpload(Name, Bucket, BasicData, UploadID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "AbortMultipartUpload", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
|
@ -590,7 +590,7 @@ EndFunction
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [PutObject](@docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
|
||||
// This is a service method. A `PutObject` method is intended for the main scenario of files uploading^
|
||||
// This is a service method. A `PutObject` method is intended for the common scenario of files uploading^
|
||||
// Using this method for large files may cause errors
|
||||
//
|
||||
// Parameters:
|
||||
@ -623,7 +623,7 @@ EndFunction
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [CreateMultipartUpload](@docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
|
||||
// This is a service method. A `PutObject` method is intended for the main scenario of files uploading^
|
||||
// This is a service method. A `PutObject` method is intended for the common scenario of files uploading^
|
||||
// Using multipart upload for files < 5 MB or when the size of a single chunk is < 5 MB will result in an error
|
||||
//
|
||||
// Parameters:
|
||||
@ -656,7 +656,7 @@ EndFunction
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [UploadPart](@docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
|
||||
// This is a service method. A `PutObject` method is intended for the main scenario of files uploading
|
||||
// This is a service method. A `PutObject` method is intended for the common scenario of files uploading
|
||||
//
|
||||
// Parameters:
|
||||
// Name - String - Name of the object in the bucket - name
|
||||
@ -700,7 +700,7 @@ EndFunction
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [CompleteMultipartUpload](@docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
|
||||
// This is a service method. A `PutObject` method is intended for the main scenario of files uploading
|
||||
// This is a service method. A `PutObject` method is intended for the common scenario of files uploading
|
||||
//
|
||||
// Parameters:
|
||||
// Name - String - Name of the object in the bucket - name
|
||||
@ -748,6 +748,40 @@ Function FinishPartsUpload(Val Name
|
||||
|
||||
EndFunction
|
||||
|
||||
// Abort multipart upload
|
||||
// Aborts the multipart uploading of the object
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [AbortMultipartUpload](@docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)
|
||||
// This is a service method. A `PutObject` method is intended for the common scenario of files uploading^
|
||||
//
|
||||
// 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
|
||||
// UploadID - String - Upload ID. See InitPartsUpload - upload
|
||||
// Headers - Map Of KeyAndValue - Additional request headers, if necessary - headers
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - serialized JSON response from storage
|
||||
Function AbortMultipartUpload(Val Name
|
||||
, Val Bucket
|
||||
, Val BasicData
|
||||
, Val UploadID
|
||||
, Val Headers = Undefined) Export
|
||||
|
||||
BasicData_ = OPI_Tools.CopyCollection(BasicData);
|
||||
|
||||
FillObjectURL(BasicData_, Name, Bucket);
|
||||
|
||||
BasicData_.Insert("URL", BasicData_["URL"] + "?uploadId=" + String(UploadID));
|
||||
|
||||
Response = SendRequestWithoutBody("DELETE", BasicData_, , Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Head object
|
||||
// Receives information about the properties of the object in the baquette
|
||||
//
|
||||
@ -1604,6 +1638,7 @@ Function UploadObjectInParts(Val Name
|
||||
SourceStream = DataReader.SourceStream();
|
||||
Response = New Map;
|
||||
TagsArray = New Array;
|
||||
Error = False;
|
||||
|
||||
WHile BytesRead < TotalSize Do
|
||||
|
||||
@ -1650,11 +1685,13 @@ Function UploadObjectInParts(Val Name
|
||||
// !OInt Message(OPI_Tools.JSONString(Response));
|
||||
// !OInt Message("Failed to upload part of the file! Aborted upload wiht ID:" + UploadID + "...");
|
||||
|
||||
Raise;
|
||||
Error = True;
|
||||
Break;
|
||||
|
||||
Else
|
||||
|
||||
// !OInt Message("Chunk upload error " + String(N) + "/3");
|
||||
// !OInt Message(ErrorDescription());
|
||||
Continue;
|
||||
|
||||
EndIf;
|
||||
@ -1665,7 +1702,11 @@ Function UploadObjectInParts(Val Name
|
||||
|
||||
EndDo;
|
||||
|
||||
Response = FinishPartsUpload(Name, Bucket, BasicData, UploadID, TagsArray);
|
||||
If Error Then
|
||||
Response = AbortMultipartUpload(Name, Bucket, BasicData, UploadID);
|
||||
Else
|
||||
Response = FinishPartsUpload(Name, Bucket, BasicData, UploadID, TagsArray);
|
||||
EndIf;
|
||||
|
||||
Return Response;
|
||||
|
||||
|
@ -2153,6 +2153,7 @@ Procedure AWS_ObjectsManagement() Export
|
||||
S3_InitPartsUpload(TestParameters);
|
||||
S3_UploadObjectPart(TestParameters);
|
||||
S3_FinishPartsUpload(TestParameters);
|
||||
S3_AbortMultipartUpload(TestParameters);
|
||||
S3_HeadObject(TestParameters);
|
||||
S3_CopyObject(TestParameters);
|
||||
S3_PutObjectTagging(TestParameters);
|
||||
@ -15467,7 +15468,7 @@ EndProcedure
|
||||
|
||||
Procedure S3_UploadObjectPart(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
@ -15504,17 +15505,13 @@ Procedure S3_UploadObjectPart(FunctionParameters)
|
||||
Break;
|
||||
EndIf;
|
||||
|
||||
Result = OPI_S3.UploadObjectPart(Name
|
||||
, Bucket
|
||||
, BasicData
|
||||
, UploadID
|
||||
, PartNumber
|
||||
, CurrentData);
|
||||
Result = OPI_S3.UploadObjectPart(Name, Bucket, BasicData, UploadID, PartNumber,
|
||||
CurrentData);
|
||||
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "UploadObjectPart", "S3"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result); // SKIP
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result); // SKIP
|
||||
|
||||
BytesRead = SourceStream.CurrentPosition();
|
||||
TagsArray.Add(Result["headers"]["Etag"]);
|
||||
@ -15529,10 +15526,34 @@ Procedure S3_UploadObjectPart(FunctionParameters)
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "FinishPartsUpload (UOP)", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "FinishPartsUpload (UOP)", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
OPI_S3.DeleteObject(Name, Bucket, BasicData);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure S3_AbortMultipartUpload(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "fileChunked.mp3";
|
||||
Bucket = "opi-gpbucket3";
|
||||
|
||||
Start = OPI_S3.InitPartsUpload(Name, Bucket, BasicData);
|
||||
UploadID = Start["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
|
||||
Result = OPI_S3.AbortMultipartUpload(Name, Bucket, BasicData, UploadID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "AbortMultipartUpload", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
|
@ -980,6 +980,57 @@
|
||||
NewLine.Область = "Objects management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "AbortMultipartUpload";
|
||||
NewLine.МетодПоиска = "ABORTMULTIPARTUPLOAD";
|
||||
NewLine.Параметр = "--name";
|
||||
NewLine.Описание = "Name of the object in the bucket";
|
||||
NewLine.Область = "Objects management";
|
||||
NewLine.ОписаниеМетода = "Aborts the multipart uploading of the object";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "AbortMultipartUpload";
|
||||
NewLine.МетодПоиска = "ABORTMULTIPARTUPLOAD";
|
||||
NewLine.Параметр = "--bucket";
|
||||
NewLine.Описание = "Name of the bucket to put the object";
|
||||
NewLine.Область = "Objects management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "AbortMultipartUpload";
|
||||
NewLine.МетодПоиска = "ABORTMULTIPARTUPLOAD";
|
||||
NewLine.Параметр = "--basic";
|
||||
NewLine.Описание = "Basic request data. See GetBasicDataStructure";
|
||||
NewLine.Область = "Objects management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "AbortMultipartUpload";
|
||||
NewLine.МетодПоиска = "ABORTMULTIPARTUPLOAD";
|
||||
NewLine.Параметр = "--upload";
|
||||
NewLine.Описание = "Upload ID. See InitPartsUpload";
|
||||
NewLine.Область = "Objects management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "AbortMultipartUpload";
|
||||
NewLine.МетодПоиска = "ABORTMULTIPARTUPLOAD";
|
||||
NewLine.Параметр = "--headers";
|
||||
NewLine.Описание = "Additional request headers, if necessary (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Objects management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
|
@ -1638,6 +1638,7 @@
|
||||
ИсходныйПоток = ЧтениеДанных.ИсходныйПоток();
|
||||
Ответ = Новый Соответствие;
|
||||
МассивТегов = Новый Массив;
|
||||
Ошибка = Ложь;
|
||||
|
||||
Пока ПрочитаноБайт < ОбщийРазмер Цикл
|
||||
|
||||
@ -1684,11 +1685,13 @@
|
||||
Сообщить(OPI_Инструменты.JSONСтрокой(Ответ));
|
||||
Сообщить("Не удалось загрузить часть файла! Отмена загрузки ID:" + IDЗагрузки + "...");
|
||||
|
||||
ВызватьИсключение;
|
||||
Ошибка = Истина;
|
||||
Прервать;
|
||||
|
||||
Иначе
|
||||
|
||||
Сообщить("Ошибка загрузки участка " + Строка(Н) + "/3");
|
||||
Сообщить(ОписаниеОшибки());
|
||||
Продолжить;
|
||||
|
||||
КонецЕсли;
|
||||
@ -1699,7 +1702,11 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Ответ = ЗавершитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, МассивТегов);
|
||||
Если Ошибка Тогда
|
||||
Ответ = ОтменитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки);
|
||||
Иначе
|
||||
Ответ = ЗавершитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, МассивТегов);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
@ -15469,73 +15469,73 @@
|
||||
Процедура S3_ЗагрузитьЧастьОбъекта(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["S3_URL"];
|
||||
AccessKey = ПараметрыФункции["S3_AccessKey"];
|
||||
SecretKey = ПараметрыФункции["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
AccessKey = ПараметрыФункции["S3_AccessKey"];
|
||||
SecretKey = ПараметрыФункции["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Наименование = "fileChunked.mp3";
|
||||
Бакет = "opi-gpbucket3";
|
||||
Наименование = "fileChunked.mp3";
|
||||
Бакет = "opi-gpbucket3";
|
||||
|
||||
Содержимое = ПараметрыФункции["Audio"]; // URL, Путь или Двоичные данные
|
||||
Содержимое = OPI_Инструменты.Get(Содержимое);
|
||||
Содержимое = ПараметрыФункции["Audio"]; // URL, Путь или Двоичные данные
|
||||
Содержимое = OPI_Инструменты.Get(Содержимое);
|
||||
|
||||
Результат = OPI_S3.ИнициализироватьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные);
|
||||
Результат = OPI_S3.ИнициализироватьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИнициализироватьЗагрузкуЧастями (ЗЧО)", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИнициализироватьЗагрузкуЧастями (ЗЧО)", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
|
||||
IDЗагрузки = Результат["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
ОбщийРазмер = Содержимое.Размер();
|
||||
РазмерУчастка = 5242880;
|
||||
ПрочитаноБайт = 0;
|
||||
НомерЧасти = 1;
|
||||
IDЗагрузки = Результат["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
ОбщийРазмер = Содержимое.Размер();
|
||||
РазмерУчастка = 5242880;
|
||||
ПрочитаноБайт = 0;
|
||||
НомерЧасти = 1;
|
||||
|
||||
ЧтениеДанных = Новый ЧтениеДанных(Содержимое);
|
||||
ИсходныйПоток = ЧтениеДанных.ИсходныйПоток();
|
||||
МассивТегов = Новый Массив;
|
||||
ЧтениеДанных = Новый ЧтениеДанных(Содержимое);
|
||||
ИсходныйПоток = ЧтениеДанных.ИсходныйПоток();
|
||||
МассивТегов = Новый Массив;
|
||||
|
||||
Пока ПрочитаноБайт < ОбщийРазмер Цикл
|
||||
Пока ПрочитаноБайт < ОбщийРазмер Цикл
|
||||
|
||||
ТекущееЧтение = ЧтениеДанных.Прочитать(РазмерУчастка);
|
||||
ТекущиеДанные = ТекущееЧтение.ПолучитьДвоичныеДанные();
|
||||
ТекущееЧтение = ЧтениеДанных.Прочитать(РазмерУчастка);
|
||||
ТекущиеДанные = ТекущееЧтение.ПолучитьДвоичныеДанные();
|
||||
|
||||
Если ТекущиеДанные.Размер() = 0 Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
Если ТекущиеДанные.Размер() = 0 Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = OPI_S3.ЗагрузитьЧастьОбъекта(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, НомерЧасти,
|
||||
ТекущиеДанные);
|
||||
Результат = OPI_S3.ЗагрузитьЧастьОбъекта(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, НомерЧасти,
|
||||
ТекущиеДанные);
|
||||
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьЧастьОбъекта", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьЧастьОбъекта", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
|
||||
ПрочитаноБайт = ИсходныйПоток.ТекущаяПозиция();
|
||||
МассивТегов.Добавить(Результат["headers"]["Etag"]);
|
||||
ПрочитаноБайт = ИсходныйПоток.ТекущаяПозиция();
|
||||
МассивТегов.Добавить(Результат["headers"]["Etag"]);
|
||||
|
||||
Прервать;
|
||||
Прервать;
|
||||
|
||||
НомерЧасти = НомерЧасти + 1;
|
||||
НомерЧасти = НомерЧасти + 1;
|
||||
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
|
||||
Результат = OPI_S3.ЗавершитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, МассивТегов);
|
||||
Результат = OPI_S3.ЗавершитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, МассивТегов);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗавершитьЗагрузкуЧастями (ЗЧО)", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗавершитьЗагрузкуЧастями (ЗЧО)", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
|
||||
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
|
||||
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура S3_ОтменитьЗагрузкуЧастями(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["S3_URL"];
|
||||
|
||||
URL = ПараметрыФункции["S3_URL"];
|
||||
AccessKey = ПараметрыФункции["S3_AccessKey"];
|
||||
SecretKey = ПараметрыФункции["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
@ -15547,14 +15547,14 @@
|
||||
|
||||
Начало = OPI_S3.ИнициализироватьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные);
|
||||
IDЗагрузки = Начало["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
|
||||
|
||||
Результат = OPI_S3.ОтменитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки);
|
||||
|
||||
|
||||
// END
|
||||
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтменитьЗагрузкуЧастями", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2040,9 +2040,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -1451,7 +1451,7 @@
|
||||
, Знач ОсновныеДанные
|
||||
, Знач Тело = Неопределено
|
||||
, Знач ОжидаютсяДвоичные = Ложь
|
||||
, Знач Заголовки = Неопределено)
|
||||
, Знач Заголовки = Неопределено)
|
||||
|
||||
ОсновныеДанные_ = OPI_Инструменты.КопироватьКоллекцию(ОсновныеДанные);
|
||||
ПроверитьОсновныеДанные(ОсновныеДанные_);
|
||||
@ -1684,8 +1684,8 @@
|
||||
|
||||
// !OInt Сообщить(OPI_Инструменты.JSONСтрокой(Ответ));
|
||||
// !OInt Сообщить("Не удалось загрузить часть файла! Отмена загрузки ID:" + IDЗагрузки + "...");
|
||||
|
||||
Ошибка = Истина;
|
||||
|
||||
Ошибка = Истина;
|
||||
Прервать;
|
||||
|
||||
Иначе
|
||||
@ -1702,12 +1702,12 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если Ошибка Тогда
|
||||
Ответ = ОтменитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки);
|
||||
Иначе
|
||||
Ответ = ЗавершитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, МассивТегов);
|
||||
Если Ошибка Тогда
|
||||
Ответ = ОтменитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки);
|
||||
Иначе
|
||||
Ответ = ЗавершитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, МассивТегов);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
@ -15469,73 +15469,73 @@
|
||||
Процедура S3_ЗагрузитьЧастьОбъекта(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["S3_URL"];
|
||||
AccessKey = ПараметрыФункции["S3_AccessKey"];
|
||||
SecretKey = ПараметрыФункции["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
AccessKey = ПараметрыФункции["S3_AccessKey"];
|
||||
SecretKey = ПараметрыФункции["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Наименование = "fileChunked.mp3";
|
||||
Бакет = "opi-gpbucket3";
|
||||
Наименование = "fileChunked.mp3";
|
||||
Бакет = "opi-gpbucket3";
|
||||
|
||||
Содержимое = ПараметрыФункции["Audio"]; // URL, Путь или Двоичные данные
|
||||
Содержимое = OPI_Инструменты.Get(Содержимое);
|
||||
Содержимое = ПараметрыФункции["Audio"]; // URL, Путь или Двоичные данные
|
||||
Содержимое = OPI_Инструменты.Get(Содержимое);
|
||||
|
||||
Результат = OPI_S3.ИнициализироватьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные);
|
||||
Результат = OPI_S3.ИнициализироватьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИнициализироватьЗагрузкуЧастями (ЗЧО)", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИнициализироватьЗагрузкуЧастями (ЗЧО)", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
|
||||
IDЗагрузки = Результат["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
ОбщийРазмер = Содержимое.Размер();
|
||||
РазмерУчастка = 5242880;
|
||||
ПрочитаноБайт = 0;
|
||||
НомерЧасти = 1;
|
||||
IDЗагрузки = Результат["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
ОбщийРазмер = Содержимое.Размер();
|
||||
РазмерУчастка = 5242880;
|
||||
ПрочитаноБайт = 0;
|
||||
НомерЧасти = 1;
|
||||
|
||||
ЧтениеДанных = Новый ЧтениеДанных(Содержимое);
|
||||
ИсходныйПоток = ЧтениеДанных.ИсходныйПоток();
|
||||
МассивТегов = Новый Массив;
|
||||
ЧтениеДанных = Новый ЧтениеДанных(Содержимое);
|
||||
ИсходныйПоток = ЧтениеДанных.ИсходныйПоток();
|
||||
МассивТегов = Новый Массив;
|
||||
|
||||
Пока ПрочитаноБайт < ОбщийРазмер Цикл
|
||||
Пока ПрочитаноБайт < ОбщийРазмер Цикл
|
||||
|
||||
ТекущееЧтение = ЧтениеДанных.Прочитать(РазмерУчастка);
|
||||
ТекущиеДанные = ТекущееЧтение.ПолучитьДвоичныеДанные();
|
||||
ТекущееЧтение = ЧтениеДанных.Прочитать(РазмерУчастка);
|
||||
ТекущиеДанные = ТекущееЧтение.ПолучитьДвоичныеДанные();
|
||||
|
||||
Если ТекущиеДанные.Размер() = 0 Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
Если ТекущиеДанные.Размер() = 0 Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = OPI_S3.ЗагрузитьЧастьОбъекта(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, НомерЧасти,
|
||||
ТекущиеДанные);
|
||||
Результат = OPI_S3.ЗагрузитьЧастьОбъекта(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, НомерЧасти,
|
||||
ТекущиеДанные);
|
||||
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьЧастьОбъекта", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьЧастьОбъекта", "S3"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат); // SKIP
|
||||
|
||||
ПрочитаноБайт = ИсходныйПоток.ТекущаяПозиция();
|
||||
МассивТегов.Добавить(Результат["headers"]["Etag"]);
|
||||
ПрочитаноБайт = ИсходныйПоток.ТекущаяПозиция();
|
||||
МассивТегов.Добавить(Результат["headers"]["Etag"]);
|
||||
|
||||
Прервать;
|
||||
Прервать;
|
||||
|
||||
НомерЧасти = НомерЧасти + 1;
|
||||
НомерЧасти = НомерЧасти + 1;
|
||||
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
|
||||
Результат = OPI_S3.ЗавершитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, МассивТегов);
|
||||
Результат = OPI_S3.ЗавершитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, МассивТегов);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗавершитьЗагрузкуЧастями (ЗЧО)", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗавершитьЗагрузкуЧастями (ЗЧО)", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
|
||||
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
|
||||
OPI_S3.УдалитьОбъект(Наименование, Бакет, ОсновныеДанные);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура S3_ОтменитьЗагрузкуЧастями(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["S3_URL"];
|
||||
|
||||
URL = ПараметрыФункции["S3_URL"];
|
||||
AccessKey = ПараметрыФункции["S3_AccessKey"];
|
||||
SecretKey = ПараметрыФункции["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
@ -15547,14 +15547,14 @@
|
||||
|
||||
Начало = OPI_S3.ИнициализироватьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные);
|
||||
IDЗагрузки = Начало["response"]["InitiateMultipartUploadResult"]["UploadId"];
|
||||
|
||||
|
||||
Результат = OPI_S3.ОтменитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки);
|
||||
|
||||
|
||||
// END
|
||||
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтменитьЗагрузкуЧастями", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_S3Успех(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -984,6 +984,57 @@
|
||||
НоваяСтрока.Область = "Работа с объектами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ОтменитьЗагрузкуЧастями";
|
||||
НоваяСтрока.МетодПоиска = "ОТМЕНИТЬЗАГРУЗКУЧАСТЯМИ";
|
||||
НоваяСтрока.Параметр = "--name";
|
||||
НоваяСтрока.Описание = "Наименование объекта в бакете";
|
||||
НоваяСтрока.Область = "Работа с объектами";
|
||||
НоваяСтрока.ОписаниеМетода = "Отменяет загрузку объекта по частям";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ОтменитьЗагрузкуЧастями";
|
||||
НоваяСтрока.МетодПоиска = "ОТМЕНИТЬЗАГРУЗКУЧАСТЯМИ";
|
||||
НоваяСтрока.Параметр = "--bucket";
|
||||
НоваяСтрока.Описание = "Имя бакета для загрузки объекта";
|
||||
НоваяСтрока.Область = "Работа с объектами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ОтменитьЗагрузкуЧастями";
|
||||
НоваяСтрока.МетодПоиска = "ОТМЕНИТЬЗАГРУЗКУЧАСТЯМИ";
|
||||
НоваяСтрока.Параметр = "--basic";
|
||||
НоваяСтрока.Описание = "Основные данные запроса. См. ПолучитьСтруктуруДанных";
|
||||
НоваяСтрока.Область = "Работа с объектами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ОтменитьЗагрузкуЧастями";
|
||||
НоваяСтрока.МетодПоиска = "ОТМЕНИТЬЗАГРУЗКУЧАСТЯМИ";
|
||||
НоваяСтрока.Параметр = "--upload";
|
||||
НоваяСтрока.Описание = "ID загрузки по частям. См. ИнициализироватьЗагрузкуЧастями";
|
||||
НоваяСтрока.Область = "Работа с объектами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ОтменитьЗагрузкуЧастями";
|
||||
НоваяСтрока.МетодПоиска = "ОТМЕНИТЬЗАГРУЗКУЧАСТЯМИ";
|
||||
НоваяСтрока.Параметр = "--headers";
|
||||
НоваяСтрока.Описание = "Дополнительные заголовки запроса, если необходимо (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Работа с объектами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
|
Loading…
x
Reference in New Issue
Block a user