mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-03-17 21:08:03 +02:00
Main build (Jenkins)
This commit is contained in:
parent
0a3980c4d5
commit
4b1a85a89a
12
ci/clitesten
12
ci/clitesten
@ -1619,6 +1619,10 @@ def test_s3(){
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 SendRequestWithoutBody --method "test" --data "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 SendRequestWithBody --method "test" --data "test" --body "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 CreateBucket --name "test" --data "test" --dir "test" --headers "test" --debug --test '
|
||||
}
|
||||
@ -1631,6 +1635,14 @@ def test_s3(){
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 CheckBucketAvailability --name "test" --data "test" --dir "test" --account "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 PutBucketEncryption --name "test" --data "test" --conf "test" --dir "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 GetBucketEncryption --name "test" --data "test" --dir "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 GetBucketsList --data "test" --prefix "test" --region "test" --ctoken "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
12
ci/clitestru
12
ci/clitestru
@ -1619,6 +1619,10 @@ def test_s3(){
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 ОтправитьЗапросБезТела --method "test" --data "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 ОтправитьЗапросСТелом --method "test" --data "test" --body "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 СоздатьБакет --name "test" --data "test" --dir "test" --headers "test" --debug --test '
|
||||
}
|
||||
@ -1631,6 +1635,14 @@ def test_s3(){
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 ПроверитьДоступностьБакета --name "test" --data "test" --dir "test" --account "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 УстановитьШифрованиеБакета --name "test" --data "test" --conf "test" --dir "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 ПолучитьШифрованиеБакета --name "test" --data "test" --dir "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe s3 ПолучитьСписокБакетов --data "test" --prefix "test" --region "test" --ctoken "test" --headers "test" --debug --test '
|
||||
}
|
||||
|
5
docs/en/data/S3/GetBucketEncryption.json
Normal file
5
docs/en/data/S3/GetBucketEncryption.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"URL": "storage-155.s3hoster.by",
|
||||
"AccessKey": "BRN5RKJE67...",
|
||||
"SecretKey": "NNhv+i9PrytpT8Tu0C1N..."
|
||||
}
|
5
docs/en/data/S3/PutBucketEncryption.json
Normal file
5
docs/en/data/S3/PutBucketEncryption.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"URL": "storage-155.s3hoster.by",
|
||||
"AccessKey": "BRN5RKJE67...",
|
||||
"SecretKey": "NNhv+i9PrytpT8Tu0C1N..."
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
URL = "storage-155.s3hoster.by";
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
Name = "opi-dirbucket1";
|
||||
Name = "opi-dirbucket3";
|
||||
|
||||
Result = OPI_S3.CheckBucketAvailability(Name, BasicData, True);
|
||||
|
||||
|
@ -7,12 +7,12 @@
|
||||
|
||||
// Directory bucket
|
||||
|
||||
Name = "opi-dirbucket1";
|
||||
Name = "opi-dirbucket3";
|
||||
|
||||
Result = OPI_S3.CreateBucket(Name, BasicData);
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
Name = "opi-gpbucket1";
|
||||
Name = "opi-gpbucket3";
|
||||
|
||||
Result = OPI_S3.CreateBucket(Name, BasicData, False);
|
||||
|
@ -7,12 +7,12 @@
|
||||
|
||||
// Directory bucket
|
||||
|
||||
Name = "opi-dirbucket1";
|
||||
Name = "opi-dirbucket3";
|
||||
|
||||
Result = OPI_S3.DeleteBucket(Name, BasicData);
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
Name = "opi-gpbucket1";
|
||||
Name = "opi-gpbucket3";
|
||||
|
||||
Result = OPI_S3.DeleteBucket(Name, BasicData, False);
|
||||
|
10
docs/en/examples/S3/GetBucketEncryption.txt
Normal file
10
docs/en/examples/S3/GetBucketEncryption.txt
Normal file
@ -0,0 +1,10 @@
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "opi-newbucket2";
|
||||
|
||||
Result = OPI_S3.GetBucketEncryption(Name, BasicData, False);
|
18
docs/en/examples/S3/PutBucketEncryption.txt
Normal file
18
docs/en/examples/S3/PutBucketEncryption.txt
Normal file
@ -0,0 +1,18 @@
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "opi-newbucket2";
|
||||
|
||||
XmlConfig = "<ServerSideEncryptionConfiguration xmlns=""http://s3.amazonaws.com/doc/2006-03-01/"">
|
||||
| <Rule>
|
||||
| <ApplyServerSideEncryptionByDefault>
|
||||
| <SSEAlgorithm>AES256</SSEAlgorithm>
|
||||
| </ApplyServerSideEncryptionByDefault>
|
||||
| </Rule>
|
||||
|</ServerSideEncryptionConfiguration>";
|
||||
|
||||
Result = OPI_S3.PutBucketEncryption(Name, BasicData, XmlConfig, False);
|
@ -32,13 +32,13 @@ Method at AWS documentation: [HeadBucket](https://docs.aws.amazon.com/AmazonS3/l
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
URL = "storage-155.s3hoster.by";
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
Name = "opi-dirbucket1";
|
||||
Name = "opi-dirbucket3";
|
||||
|
||||
Result = OPI_S3.CheckBucketAvailability(Name, BasicData, True);
|
||||
|
||||
|
@ -40,13 +40,13 @@ Method at AWS documentation: [CreateBucket](https://docs.aws.amazon.com/AmazonS3
|
||||
|
||||
// Directory bucket
|
||||
|
||||
Name = "opi-dirbucket1";
|
||||
Name = "opi-dirbucket3";
|
||||
|
||||
Result = OPI_S3.CreateBucket(Name, BasicData);
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
Name = "opi-gpbucket1";
|
||||
Name = "opi-gpbucket3";
|
||||
|
||||
Result = OPI_S3.CreateBucket(Name, BasicData, False);
|
||||
```
|
||||
|
@ -40,13 +40,13 @@ Method at AWS documentation: [DeleteBucket](https://docs.aws.amazon.com/AmazonS3
|
||||
|
||||
// Directory bucket
|
||||
|
||||
Name = "opi-dirbucket1";
|
||||
Name = "opi-dirbucket3";
|
||||
|
||||
Result = OPI_S3.DeleteBucket(Name, BasicData);
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
Name = "opi-gpbucket1";
|
||||
Name = "opi-gpbucket3";
|
||||
|
||||
Result = OPI_S3.DeleteBucket(Name, BasicData, False);
|
||||
```
|
||||
|
49
docs/en/md/S3/Buckets-managment/Get-bucket-encryption.mdx
Normal file
49
docs/en/md/S3/Buckets-managment/Get-bucket-encryption.mdx
Normal file
@ -0,0 +1,49 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get bucket encryption
|
||||
Gets the previously set bucket encryption configuration
|
||||
|
||||
|
||||
|
||||
`Function GetBucketEncryption(Val Name, Val BasicData, Val Directory = True, Val Headers = Undefined) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Name | --name | String | ✔ | Bucket name |
|
||||
| BasicData | --data | Structure of KeyAndValue | ✔ | Basic request data. See GetBasicDataStructure |
|
||||
| Directory | --dir | Boolean | ✖ | True > Directory Bucket, False > General Purpose Bucket |
|
||||
| Headers | --headers | Map Of KeyAndValue | ✖ | Additional request headers, if necessary |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - serialized JSON response from storage
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Method at AWS documentation: [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.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 = "opi-newbucket2";
|
||||
|
||||
Result = OPI_S3.GetBucketEncryption(Name, BasicData, False);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
58
docs/en/md/S3/Buckets-managment/Put-bucket-encryption.mdx
Normal file
58
docs/en/md/S3/Buckets-managment/Put-bucket-encryption.mdx
Normal file
@ -0,0 +1,58 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Put bucket encryption
|
||||
Sets bucket encryption by XML configuration
|
||||
|
||||
|
||||
|
||||
`Function PutBucketEncryption(Val Name, Val BasicData, Val XmlConfig, Val Directory = True, Val Headers = Undefined) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Name | --name | String | ✔ | Bucket name |
|
||||
| BasicData | --data | Structure of KeyAndValue | ✔ | Basic request data. See GetBasicDataStructure |
|
||||
| XmlConfig | --conf | String | ✔ | XML string or file of encryption configuration |
|
||||
| Directory | --dir | Boolean | ✖ | True > Directory Bucket, False > General Purpose Bucket |
|
||||
| Headers | --headers | Map Of KeyAndValue | ✖ | Additional request headers, if necessary |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - serialized JSON response from storage
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Method at AWS documentation: [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.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 = "opi-newbucket2";
|
||||
|
||||
XmlConfig = "<ServerSideEncryptionConfiguration xmlns=""http://s3.amazonaws.com/doc/2006-03-01/"">
|
||||
| <Rule>
|
||||
| <ApplyServerSideEncryptionByDefault>
|
||||
| <SSEAlgorithm>AES256</SSEAlgorithm>
|
||||
| </ApplyServerSideEncryptionByDefault>
|
||||
| </Rule>
|
||||
|</ServerSideEncryptionConfiguration>";
|
||||
|
||||
Result = OPI_S3.PutBucketEncryption(Name, BasicData, XmlConfig, False);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
40
docs/en/md/S3/Common-methods/Send-request-with-body.mdx
Normal file
40
docs/en/md/S3/Common-methods/Send-request-with-body.mdx
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Send request with body
|
||||
Send http request with body
|
||||
|
||||
|
||||
|
||||
`Function SendRequestWithBody(Val Method, Val BasicData, Val Body, Val Headers = Undefined) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Method | --method | String | ✔ | HTTP method |
|
||||
| BasicData | --data | Structure of KeyAndValue | ✔ | Basic request data (with full URL). See GetBasicDataStructure |
|
||||
| Body | --body | String, BinaryData | ✔ | Binary data or file of request body data |
|
||||
| Headers | --headers | Map Of KeyAndValue | ✖ | Additional request headers, if necessary |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - serialized JSON response from storage
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Parameters with Binary data type can also accept file paths on disk and URLs
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
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..."
|
||||
}
|
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..."
|
||||
}
|
10
docs/ru/examples/S3/ПолучитьШифрованиеБакета.txt
Normal file
10
docs/ru/examples/S3/ПолучитьШифрованиеБакета.txt
Normal file
@ -0,0 +1,10 @@
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Имя = "opi-newbucket2";
|
||||
|
||||
Результат = OPI_S3.ПолучитьШифрованиеБакета(Имя, ОсновныеДанные, Ложь);
|
@ -1,10 +1,10 @@
|
||||
URL = "storage-155.s3hoster.by";
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
Наименование = "opi-dirbucket1";
|
||||
Наименование = "opi-dirbucket3";
|
||||
|
||||
Результат = OPI_S3.ПроверитьДоступностьБакета(Наименование, ОсновныеДанные, Истина);
|
||||
|
||||
|
@ -7,12 +7,12 @@
|
||||
|
||||
// Directory bucket
|
||||
|
||||
Наименование = "opi-dirbucket1";
|
||||
Наименование = "opi-dirbucket3";
|
||||
|
||||
Результат = OPI_S3.СоздатьБакет(Наименование, ОсновныеДанные);
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
Наименование = "opi-gpbucket1";
|
||||
Наименование = "opi-gpbucket3";
|
||||
|
||||
Результат = OPI_S3.СоздатьБакет(Наименование, ОсновныеДанные, Ложь);
|
||||
|
@ -7,12 +7,12 @@
|
||||
|
||||
// Directory bucket
|
||||
|
||||
Имя = "opi-dirbucket1";
|
||||
Имя = "opi-dirbucket3";
|
||||
|
||||
Результат = OPI_S3.УдалитьБакет(Имя, ОсновныеДанные);
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
Имя = "opi-gpbucket1";
|
||||
Имя = "opi-gpbucket3";
|
||||
|
||||
Результат = OPI_S3.УдалитьБакет(Имя, ОсновныеДанные, Ложь);
|
||||
|
18
docs/ru/examples/S3/УстановитьШифрованиеБакета.txt
Normal file
18
docs/ru/examples/S3/УстановитьШифрованиеБакета.txt
Normal file
@ -0,0 +1,18 @@
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Имя = "opi-newbucket2";
|
||||
|
||||
XMLКонфигурация = "<ServerSideEncryptionConfiguration xmlns=""http://s3.amazonaws.com/doc/2006-03-01/"">
|
||||
| <Rule>
|
||||
| <ApplyServerSideEncryptionByDefault>
|
||||
| <SSEAlgorithm>AES256</SSEAlgorithm>
|
||||
| </ApplyServerSideEncryptionByDefault>
|
||||
| </Rule>
|
||||
|</ServerSideEncryptionConfiguration>";
|
||||
|
||||
Результат = OPI_S3.УстановитьШифрованиеБакета(Имя, ОсновныеДанные, XMLКонфигурация, Ложь);
|
@ -32,13 +32,13 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
URL = "storage-155.s3hoster.by";
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
Наименование = "opi-dirbucket1";
|
||||
Наименование = "opi-dirbucket3";
|
||||
|
||||
Результат = OPI_S3.ПроверитьДоступностьБакета(Наименование, ОсновныеДанные, Истина);
|
||||
|
||||
|
@ -40,13 +40,13 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
// Directory bucket
|
||||
|
||||
Наименование = "opi-dirbucket1";
|
||||
Наименование = "opi-dirbucket3";
|
||||
|
||||
Результат = OPI_S3.СоздатьБакет(Наименование, ОсновныеДанные);
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
Наименование = "opi-gpbucket1";
|
||||
Наименование = "opi-gpbucket3";
|
||||
|
||||
Результат = OPI_S3.СоздатьБакет(Наименование, ОсновныеДанные, Ложь);
|
||||
```
|
||||
|
@ -40,13 +40,13 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
// Directory bucket
|
||||
|
||||
Имя = "opi-dirbucket1";
|
||||
Имя = "opi-dirbucket3";
|
||||
|
||||
Результат = OPI_S3.УдалитьБакет(Имя, ОсновныеДанные);
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
Имя = "opi-gpbucket1";
|
||||
Имя = "opi-gpbucket3";
|
||||
|
||||
Результат = OPI_S3.УдалитьБакет(Имя, ОсновныеДанные, Ложь);
|
||||
```
|
||||
|
49
docs/ru/md/S3/Buckets-managment/Get-bucket-encryption.mdx
Normal file
49
docs/ru/md/S3/Buckets-managment/Get-bucket-encryption.mdx
Normal file
@ -0,0 +1,49 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить шифрование бакета
|
||||
Получает установленную ранее конфигурацию шифрования бакета
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьШифрованиеБакета(Знач Наименование, Знач ОсновныеДанные, Знач Каталог = Истина, Знач Заголовки = Неопределено) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Наименование | --name | Строка | ✔ | Наименование бакета |
|
||||
| ОсновныеДанные | --data | Структура Из КлючИЗначение | ✔ | Основные данные запроса. См. ПолучитьСтруктуруДанных |
|
||||
| Каталог | --dir | Булево | ✖ | Истина > Directory Bucket, Ложь > General Purpose Bucket |
|
||||
| Заголовки | --headers | Соответствие Из КлючИЗначение | ✖ | Дополнительные заголовки запроса, если необходимо |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Метод в документации AWS: [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Имя = "opi-newbucket2";
|
||||
|
||||
Результат = OPI_S3.ПолучитьШифрованиеБакета(Имя, ОсновныеДанные, Ложь);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
58
docs/ru/md/S3/Buckets-managment/Put-bucket-encryption.mdx
Normal file
58
docs/ru/md/S3/Buckets-managment/Put-bucket-encryption.mdx
Normal file
@ -0,0 +1,58 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Установить шифрование бакета
|
||||
Устанавлиает шифрование бакета по XML конфигурации
|
||||
|
||||
|
||||
|
||||
`Функция УстановитьШифрованиеБакета(Знач Наименование, Знач ОсновныеДанные, Знач XMLКонфигурация, Знач Каталог = Истина, Знач Заголовки = Неопределено) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Наименование | --name | Строка | ✔ | Наименование бакета |
|
||||
| ОсновныеДанные | --data | Структура Из КлючИЗначение | ✔ | Основные данные запроса. См. ПолучитьСтруктуруДанных |
|
||||
| XMLКонфигурация | --conf | Строка | ✔ | XML строка или файл конфигурации шифрования |
|
||||
| Каталог | --dir | Булево | ✖ | Истина > Directory Bucket, Ложь > General Purpose Bucket |
|
||||
| Заголовки | --headers | Соответствие Из КлючИЗначение | ✖ | Дополнительные заголовки запроса, если необходимо |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Метод в документации AWS: [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
URL = "storage-155.s3hoster.by";
|
||||
AccessKey = "BRN5RKJE67...";
|
||||
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
|
||||
Region = "BTC";
|
||||
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Имя = "opi-newbucket2";
|
||||
|
||||
XMLКонфигурация = "<ServerSideEncryptionConfiguration xmlns=""http://s3.amazonaws.com/doc/2006-03-01/"">
|
||||
| <Rule>
|
||||
| <ApplyServerSideEncryptionByDefault>
|
||||
| <SSEAlgorithm>AES256</SSEAlgorithm>
|
||||
| </ApplyServerSideEncryptionByDefault>
|
||||
| </Rule>
|
||||
|</ServerSideEncryptionConfiguration>";
|
||||
|
||||
Результат = OPI_S3.УстановитьШифрованиеБакета(Имя, ОсновныеДанные, XMLКонфигурация, Ложь);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
40
docs/ru/md/S3/Common-methods/Send-request-with-body.mdx
Normal file
40
docs/ru/md/S3/Common-methods/Send-request-with-body.mdx
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Отправить запрос с телом
|
||||
Отправляет http запрос с телом
|
||||
|
||||
|
||||
|
||||
`Функция ОтправитьЗапросСТелом(Знач Метод, Знач ОсновныеДанные, Знач Тело, Знач Заголовки = Неопределено) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Метод | --method | Строка | ✔ | HTTP метод |
|
||||
| ОсновныеДанные | --data | Структура Из КлючИЗначение | ✔ | Основные данные запроса (c полным URL). См. ПолучитьСтруктуруДанных |
|
||||
| Тело | --body | Строка, ДвоичныеДанные | ✔ | Двоичное тело запроса или путь к файлу |
|
||||
| Заголовки | --headers | Соответствие Из КлючИЗначение | ✖ | Дополнительные заголовки запроса, если необходимо |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Параметры с типом данных Двоичные данные могут принимать также пути к файлам на диске и URL
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -82,26 +82,25 @@ EndFunction
|
||||
// Map Of KeyAndValue - serialized JSON response from storage
|
||||
Function SendRequestWithoutBody(Val Method, Val BasicData, Val Headers = Undefined) Export
|
||||
|
||||
CheckBasicData(BasicData);
|
||||
Response = SendRequest(Method, BasicData, , Headers);
|
||||
Return Response;
|
||||
|
||||
URL = BasicData["URL"];
|
||||
EndFunction
|
||||
|
||||
URLStructure = OPI_Tools.SplitURL(URL);
|
||||
Server = URLStructure["Server"];
|
||||
Address = URLStructure["Address"];
|
||||
Safe = URLStructure["Safe"];
|
||||
|
||||
Request = OPI_Tools.CreateRequest(Address);
|
||||
Connection = OPI_Tools.CreateConnection(Server, Safe);
|
||||
|
||||
AddAdditionalHeaders(Request, Headers);
|
||||
|
||||
AuthorizationHeader = CreateAuthorizationHeader(BasicData, Request, Connection, Method);
|
||||
Request.Headers.Insert("Authorization", AuthorizationHeader);
|
||||
|
||||
Response = OPI_Tools.ExecuteRequest(Request, Connection, Method, , True);
|
||||
Response = FormResponse(Response);
|
||||
// Send request with body
|
||||
// Send http request with body
|
||||
//
|
||||
// Parameters:
|
||||
// Method - String - HTTP method - method
|
||||
// BasicData - Structure of KeyAndValue - Basic request data (with full URL). See GetBasicDataStructure - data
|
||||
// Body - String, BinaryData - Binary data or file of request body data - body
|
||||
// Headers - Map Of KeyAndValue - Additional request headers, if necessary - headers
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from storage
|
||||
Function SendRequestWithBody(Val Method, Val BasicData, Val Body, Val Headers = Undefined) Export
|
||||
|
||||
Response = SendRequest(Method, BasicData, Body, Headers);
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
@ -186,6 +185,73 @@ Function CheckBucketAvailability(Val Name
|
||||
|
||||
EndFunction
|
||||
|
||||
// Put bucket encryption
|
||||
// Sets bucket encryption by XML configuration
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [PutBucketEncryption](@docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)
|
||||
//
|
||||
// Parameters:
|
||||
// Name - String - Bucket name - name
|
||||
// BasicData - Structure of KeyAndValue - Basic request data. See GetBasicDataStructure - data
|
||||
// XmlConfig - String - XML string or file of encryption configuration - conf
|
||||
// Directory - Boolean - True > Directory Bucket, False > General Purpose Bucket - dir
|
||||
// Headers - Map Of KeyAndValue - Additional request headers, if necessary - headers
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from storage
|
||||
Function PutBucketEncryption(Val Name
|
||||
, Val BasicData
|
||||
, Val XmlConfig
|
||||
, Val Directory = True
|
||||
, Val Headers = Undefined) Export
|
||||
|
||||
OPI_TypeConversion.GetLine(XmlConfig, True);
|
||||
XmlConfig = ПолучитьДвоичныеДанныеИзСтроки(XmlConfig);
|
||||
|
||||
URL = GetServiceURL(BasicData);
|
||||
URL = FormBucketURL(URL, Name, Directory);
|
||||
URL = URL + "?encryption";
|
||||
|
||||
BasicData.Insert("URL", URL);
|
||||
|
||||
Response = SendRequestWithBody("PUT", BasicData, XmlConfig, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get bucket encryption
|
||||
// Gets the previously set bucket encryption configuration
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [GetBucketEncryption](@docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)
|
||||
//
|
||||
// Parameters:
|
||||
// Name - String - Bucket name - name
|
||||
// BasicData - Structure of KeyAndValue - Basic request data. See GetBasicDataStructure - data
|
||||
// Directory - Boolean - True > Directory Bucket, False > General Purpose Bucket - dir
|
||||
// Headers - Map Of KeyAndValue - Additional request headers, if necessary - headers
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from storage
|
||||
Function GetBucketEncryption(Val Name
|
||||
, Val BasicData
|
||||
, Val Directory = True
|
||||
, Val Headers = Undefined) Export
|
||||
|
||||
URL = GetServiceURL(BasicData);
|
||||
URL = FormBucketURL(URL, Name, Directory);
|
||||
URL = URL + "?encryption";
|
||||
|
||||
BasicData.Insert("URL", URL);
|
||||
|
||||
Response = SendRequestWithoutBody("GET", BasicData, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get buckets list
|
||||
// Gets a list of buckets. It is possible to use filters if they are provided by your service
|
||||
//
|
||||
@ -370,26 +436,23 @@ Function GetURIString(Val Request)
|
||||
|
||||
EndFunction
|
||||
|
||||
Function GetParamsString(Val Request)
|
||||
Function GetParamsString(Request)
|
||||
|
||||
URI = Request.ResourceAddress;
|
||||
ParamsStart = StrFind(URI, "?");
|
||||
|
||||
If ParamsStart = 0 Then
|
||||
If ParamsStart = 0 Then
|
||||
|
||||
ParameterString = "";
|
||||
|
||||
Else
|
||||
|
||||
URILength = StrLen(URI);
|
||||
ParameterString = Right(URI, URILength - ParamsStart);
|
||||
ProcessRequestParametersString(ParameterString);
|
||||
|
||||
EndIf;
|
||||
|
||||
ParameterArray = StrSplit(ParameterString, "&");
|
||||
ParamsList = New ValueList();
|
||||
ParamsList.LoadValues(ParameterArray);
|
||||
|
||||
ParamsList.SortByValue();
|
||||
|
||||
ParameterString = StrConcat(ParamsList.UnloadValues(), "&");
|
||||
|
||||
Return ParameterString;
|
||||
|
||||
EndFunction
|
||||
@ -482,28 +545,69 @@ Function FormAuthorisationHeader(Val AccessKey, Val Scope, Val Signature, Val He
|
||||
|
||||
EndFunction
|
||||
|
||||
Procedure ProcessRequestParametersString(ParameterString)
|
||||
|
||||
ParameterArray = StrSplit(ParameterString, "&");
|
||||
ParamsList = New ValueList();
|
||||
ParamsList.LoadValues(ParameterArray);
|
||||
|
||||
ParamsList.SortByValue();
|
||||
ParameterArray = ParamsList.UnloadValues();
|
||||
|
||||
FinalParamsArray = New Array;
|
||||
|
||||
For N = 0 To ParameterArray.UBound() Do
|
||||
|
||||
QueryParameter = ParameterArray[N];
|
||||
|
||||
If StrFind(QueryParameter, "=") = 0 Then
|
||||
ParameterArray[N] = QueryParameter + "=";
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
ParameterString = StrConcat(ParameterArray, "&");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Miscellaneous
|
||||
|
||||
Function SendRequest(Val Method, Val BasicData, Val Body = Undefined, Val Headers = Undefined)
|
||||
|
||||
CheckBasicData(BasicData);
|
||||
|
||||
URL = BasicData["URL"];
|
||||
|
||||
URLStructure = OPI_Tools.SplitURL(URL);
|
||||
Server = URLStructure["Server"];
|
||||
Address = URLStructure["Address"];
|
||||
Safe = URLStructure["Safe"];
|
||||
|
||||
Request = OPI_Tools.CreateRequest(Address);
|
||||
Connection = OPI_Tools.CreateConnection(Server, Safe);
|
||||
|
||||
If ValueIsFilled(Body) Then
|
||||
SetRequestBody(Request, Body);
|
||||
EndIf;
|
||||
|
||||
AddAdditionalHeaders(Request, Headers);
|
||||
|
||||
AuthorizationHeader = CreateAuthorizationHeader(BasicData, Request, Connection, Method);
|
||||
Request.Headers.Insert("Authorization", AuthorizationHeader);
|
||||
|
||||
Response = OPI_Tools.ExecuteRequest(Request, Connection, Method, , True);
|
||||
Response = FormResponse(Response);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function BucketManagment(Val Name, Val BasicData, Val Directory, Val Method, Val Headers)
|
||||
|
||||
OPI_TypeConversion.GetLine(Name);
|
||||
OPI_TypeConversion.GetBoolean(Directory);
|
||||
|
||||
URL = GetServiceURL(BasicData);
|
||||
|
||||
If Directory Then
|
||||
URL = URL + Name;
|
||||
Else
|
||||
|
||||
If StrFind(URL, "://") Then
|
||||
URL = StrReplace(URL, "://", "://" + Name + ".");
|
||||
Else
|
||||
URL = Name + "." + URL;
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
URL = FormBucketURL(URL, Name, Directory);
|
||||
|
||||
BasicData.Insert("URL", URL);
|
||||
|
||||
@ -519,22 +623,25 @@ Function FormResponse(Val Response, Val ExpectedBinary = False)
|
||||
|
||||
If Not ExpectedBinary Or Status > 299 Then
|
||||
|
||||
ResponseData = New Map;
|
||||
BodyData = New Map;
|
||||
|
||||
ResponseBody = Response.GetBodyAsString();
|
||||
ResponseBody = TrimAll(ResponseBody);
|
||||
|
||||
If ValueIsFilled(ResponseBody) Then
|
||||
|
||||
Try
|
||||
ResponseData = OPI_Tools.ProcessXML(ResponseBody);
|
||||
BodyData = OPI_Tools.ProcessXML(ResponseBody);
|
||||
Except
|
||||
ResponseData = New Structure("notXMLMessage", ResponseBody);
|
||||
BodyData.Insert("notValidXMLMessage", ResponseBody);
|
||||
EndTry;
|
||||
|
||||
Else
|
||||
ResponseData = New Structure;
|
||||
EndIf;
|
||||
|
||||
ResponseData = New Structure("status,response", Status, ResponseData);
|
||||
ResponseData = New Map;
|
||||
ResponseData.Insert("status" , Status);
|
||||
ResponseData.Insert("response", BodyData);
|
||||
|
||||
Else
|
||||
ResponseData = Response.ПолучитьТелоКакДвоичныеДанные();
|
||||
@ -596,6 +703,38 @@ Procedure AddAdditionalHeaders(Receiver, Val Headers)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SetRequestBody(Request, Body)
|
||||
|
||||
OPI_TypeConversion.GetBinaryData(Body);
|
||||
Request.SetBodyFromBinary(Body);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Function FormBucketURL(Val URL, Val Name, Val Directory)
|
||||
|
||||
OPI_TypeConversion.GetLine(Name);
|
||||
OPI_TypeConversion.GetBoolean(Directory);
|
||||
|
||||
If Directory Then
|
||||
URL = URL + Name;
|
||||
Else
|
||||
|
||||
If StrFind(URL, "://") Then
|
||||
URL = StrReplace(URL, "://", "://" + Name + ".");
|
||||
Else
|
||||
URL = Name + "." + URL;
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
|
||||
If Not StrEndsWith(URL, "/") Then
|
||||
URL = URL + "/";
|
||||
EndIf;
|
||||
|
||||
Return URL;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -2113,6 +2113,8 @@ Procedure AWS_BucketsManagment() Export
|
||||
S3_CreateBucket(TestParameters);
|
||||
S3_GetBucketsList(TestParameters);
|
||||
S3_CheckBucketAvailability(TestParameters);
|
||||
S3_PutBucketEncryption(TestParameters);
|
||||
S3_GetBucketEncryption(TestParameters);
|
||||
S3_DeleteBucket(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
@ -14621,7 +14623,7 @@ Procedure S3_CreateBucket(FunctionParameters)
|
||||
|
||||
// Directory bucket
|
||||
|
||||
Name = "opi-dirbucket1";
|
||||
Name = "opi-dirbucket3";
|
||||
|
||||
Result = OPI_S3.CreateBucket(Name, BasicData);
|
||||
|
||||
@ -14631,7 +14633,7 @@ Procedure S3_CreateBucket(FunctionParameters)
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
Name = "opi-gpbucket1";
|
||||
Name = "opi-gpbucket3";
|
||||
|
||||
Result = OPI_S3.CreateBucket(Name, BasicData, False);
|
||||
|
||||
@ -14653,16 +14655,17 @@ Procedure S3_DeleteBucket(FunctionParameters)
|
||||
|
||||
// Directory bucket
|
||||
|
||||
Name = "opi-dirbucket1";
|
||||
Name = "opi-dirbucket3";
|
||||
|
||||
Result = OPI_S3.DeleteBucket(Name, BasicData);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteBucket (DB)", "S3"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result); // SKIP
|
||||
BasicData.Insert("URL", FunctionParameters["S3_URL"]); // SKIP
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
Name = "opi-gpbucket1";
|
||||
Name = "opi-gpbucket3";
|
||||
|
||||
Result = OPI_S3.DeleteBucket(Name, BasicData, False);
|
||||
|
||||
@ -14693,13 +14696,13 @@ EndProcedure
|
||||
|
||||
Procedure S3_CheckBucketAvailability(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
Name = "opi-dirbucket1";
|
||||
Name = "opi-dirbucket3";
|
||||
|
||||
Result = OPI_S3.CheckBucketAvailability(Name, BasicData, True);
|
||||
|
||||
@ -14715,6 +14718,56 @@ Procedure S3_CheckBucketAvailability(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure S3_GetBucketEncryption(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "opi-newbucket2";
|
||||
|
||||
Result = OPI_S3.GetBucketEncryption(Name, BasicData, False);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetBucketEncryption", "S3");
|
||||
OPI_TestDataRetrieval.Check_Map(Result);
|
||||
OPI_TestDataRetrieval.WriteLogFile("", "GetBucketEncryption", "S3");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure S3_PutBucketEncryption(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "opi-newbucket2";
|
||||
|
||||
XmlConfig = "<ServerSideEncryptionConfiguration xmlns=""http://s3.amazonaws.com/doc/2006-03-01/"">
|
||||
| <Rule>
|
||||
| <ApplyServerSideEncryptionByDefault>
|
||||
| <SSEAlgorithm>AES256</SSEAlgorithm>
|
||||
| </ApplyServerSideEncryptionByDefault>
|
||||
| </Rule>
|
||||
|</ServerSideEncryptionConfiguration>";
|
||||
|
||||
Result = OPI_S3.PutBucketEncryption(Name, BasicData, XmlConfig, False);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "PutBucketEncryption", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3NotImplemented(Result);
|
||||
OPI_TestDataRetrieval.WriteLogFile("", "PutBucketEncryption", "S3");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -443,6 +443,40 @@ Procedure WriteLog(Val Result, Val Method, Val Library = "") Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure WriteLogFile(Val Data, Val Method, Val Library) Export
|
||||
|
||||
Try
|
||||
|
||||
LogPath = "./docs/en/results";
|
||||
LibraryLogPath = LogPath + "/" + Library;
|
||||
|
||||
LogDirectory = New File(LogPath);
|
||||
|
||||
If Not LogDirectory.Exist() Then
|
||||
CreateDirectory(LogPath);
|
||||
EndIf;
|
||||
|
||||
LibraryLogCatalog = New File(LibraryLogPath);
|
||||
|
||||
If Not LibraryLogCatalog.Exist() Then
|
||||
CreateDirectory(LibraryLogPath);
|
||||
EndIf;
|
||||
|
||||
FilePath = LibraryLogPath + "/" + Method + ".log";
|
||||
LogFile = New File(FilePath);
|
||||
|
||||
If Not LogFile.Exist() Then
|
||||
LogDocument = New TextDocument;
|
||||
LogDocument.SetText(Data);
|
||||
LogDocument.Write(FilePath);
|
||||
EndIf;
|
||||
|
||||
Except
|
||||
Message("Failed to write log file!: " + ErrorDescription());
|
||||
EndTry;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure WriteLogCLI(Val Result, Val Method, Val Library = "") Export
|
||||
|
||||
WriteLog(Result, Method + " (CLI)");
|
||||
@ -1961,6 +1995,13 @@ Procedure Check_S3NotFound(Val Result) Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_S3NotImplemented(Val Result) Export
|
||||
|
||||
Success = Result["status"] = 501;
|
||||
ExpectsThat(Success).Равно(True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
@ -2147,40 +2188,6 @@ Procedure WriteParameterToFile(Val Parameter, Val Value, Val Path)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure WriteLogFile(Val Data, Val Method, Val Library)
|
||||
|
||||
Try
|
||||
|
||||
LogPath = "./docs/en/results";
|
||||
LibraryLogPath = LogPath + "/" + Library;
|
||||
|
||||
LogDirectory = New File(LogPath);
|
||||
|
||||
If Not LogDirectory.Exist() Then
|
||||
CreateDirectory(LogPath);
|
||||
EndIf;
|
||||
|
||||
LibraryLogCatalog = New File(LibraryLogPath);
|
||||
|
||||
If Not LibraryLogCatalog.Exist() Then
|
||||
CreateDirectory(LibraryLogPath);
|
||||
EndIf;
|
||||
|
||||
FilePath = LibraryLogPath + "/" + Method + ".log";
|
||||
LogFile = New File(FilePath);
|
||||
|
||||
If Not LogFile.Exist() Then
|
||||
LogDocument = New TextDocument;
|
||||
LogDocument.SetText(Data);
|
||||
LogDocument.Write(FilePath);
|
||||
EndIf;
|
||||
|
||||
Except
|
||||
Message("Failed to write log file!: " + ErrorDescription());
|
||||
EndTry;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure WriteCLICall(Val Library, Val Method, Val Options)
|
||||
|
||||
If Not OPI_Tools.IsOneScript() Then
|
||||
|
@ -52,11 +52,18 @@ Procedure GetBinaryData(Value) Export
|
||||
File = New File(Value);
|
||||
|
||||
If File.Exist() Then
|
||||
|
||||
Value = New BinaryData(Value);
|
||||
ElsIf StrFind(Value, "//") Then
|
||||
|
||||
ElsIf StrStartsWith(TrimL(Value), "http://")
|
||||
Or StrStartsWith(TrimL(Value), "https://") Then
|
||||
|
||||
Value = OPI_Tools.Get(Value);
|
||||
|
||||
Else
|
||||
|
||||
Value = Base64Value(Value);
|
||||
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
@ -243,20 +250,15 @@ Procedure GetLine(Value, Val FromSource = False) Export
|
||||
Value = TextReader.Read();
|
||||
TextReader.Close();
|
||||
|
||||
ElsIf StrStartsWith(Lower(Value), "http") Then
|
||||
ElsIf StrStartsWith(TrimL(Value), "http://")
|
||||
Or StrStartsWith(TrimL(Value), "https://") Then
|
||||
|
||||
TFN = GetTempFileName();
|
||||
CopyFile(Value, TFN);
|
||||
|
||||
TextReader = New TextReader(TFN);
|
||||
Value = TextReader.Read();
|
||||
TextReader.Close();
|
||||
|
||||
DeleteFiles(TFN);
|
||||
Value = OPI_Tools.Get(Value);
|
||||
GetLine(Value);
|
||||
|
||||
Else
|
||||
|
||||
Return;
|
||||
Value = OPI_Tools.NumberToString(Value);
|
||||
|
||||
EndIf;
|
||||
|
||||
@ -268,6 +270,10 @@ Procedure GetLine(Value, Val FromSource = False) Export
|
||||
|
||||
Value = OPI_Tools.JSONString(Value);
|
||||
|
||||
ElsIf TypeOf(Value) = Type("XMLWriter") Then
|
||||
|
||||
Value = Value.Close();
|
||||
|
||||
Else
|
||||
Return;
|
||||
EndIf;
|
||||
|
@ -483,6 +483,8 @@ Function RequestParametersToMap(Val ParameterString) Export
|
||||
|
||||
If KeyValueArray.Count() = NumberOfParts Then
|
||||
ReturnMapping.Insert(KeyValueArray[0], KeyValueArray[1]);
|
||||
Else
|
||||
ReturnMapping.Insert(KeyValueArray[0], Undefined);
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
@ -82,26 +82,25 @@ EndFunction
|
||||
// Map Of KeyAndValue - serialized JSON response from storage
|
||||
Function SendRequestWithoutBody(Val Method, Val BasicData, Val Headers = Undefined) Export
|
||||
|
||||
CheckBasicData(BasicData);
|
||||
Response = SendRequest(Method, BasicData, , Headers);
|
||||
Return Response;
|
||||
|
||||
URL = BasicData["URL"];
|
||||
EndFunction
|
||||
|
||||
URLStructure = OPI_Tools.SplitURL(URL);
|
||||
Server = URLStructure["Server"];
|
||||
Address = URLStructure["Address"];
|
||||
Safe = URLStructure["Safe"];
|
||||
|
||||
Request = OPI_Tools.CreateRequest(Address);
|
||||
Connection = OPI_Tools.CreateConnection(Server, Safe);
|
||||
|
||||
AddAdditionalHeaders(Request, Headers);
|
||||
|
||||
AuthorizationHeader = CreateAuthorizationHeader(BasicData, Request, Connection, Method);
|
||||
Request.Headers.Insert("Authorization", AuthorizationHeader);
|
||||
|
||||
Response = OPI_Tools.ExecuteRequest(Request, Connection, Method, , True);
|
||||
Response = FormResponse(Response);
|
||||
// Send request with body
|
||||
// Send http request with body
|
||||
//
|
||||
// Parameters:
|
||||
// Method - String - HTTP method - method
|
||||
// BasicData - Structure of KeyAndValue - Basic request data (with full URL). See GetBasicDataStructure - data
|
||||
// Body - String, BinaryData - Binary data or file of request body data - body
|
||||
// Headers - Map Of KeyAndValue - Additional request headers, if necessary - headers
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from storage
|
||||
Function SendRequestWithBody(Val Method, Val BasicData, Val Body, Val Headers = Undefined) Export
|
||||
|
||||
Response = SendRequest(Method, BasicData, Body, Headers);
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
@ -186,6 +185,73 @@ Function CheckBucketAvailability(Val Name
|
||||
|
||||
EndFunction
|
||||
|
||||
// Put bucket encryption
|
||||
// Sets bucket encryption by XML configuration
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [PutBucketEncryption](@docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)
|
||||
//
|
||||
// Parameters:
|
||||
// Name - String - Bucket name - name
|
||||
// BasicData - Structure of KeyAndValue - Basic request data. See GetBasicDataStructure - data
|
||||
// XmlConfig - String - XML string or file of encryption configuration - conf
|
||||
// Directory - Boolean - True > Directory Bucket, False > General Purpose Bucket - dir
|
||||
// Headers - Map Of KeyAndValue - Additional request headers, if necessary - headers
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from storage
|
||||
Function PutBucketEncryption(Val Name
|
||||
, Val BasicData
|
||||
, Val XmlConfig
|
||||
, Val Directory = True
|
||||
, Val Headers = Undefined) Export
|
||||
|
||||
OPI_TypeConversion.GetLine(XmlConfig, True);
|
||||
XmlConfig = GetBinaryDataFromString(XmlConfig);
|
||||
|
||||
URL = GetServiceURL(BasicData);
|
||||
URL = FormBucketURL(URL, Name, Directory);
|
||||
URL = URL + "?encryption";
|
||||
|
||||
BasicData.Insert("URL", URL);
|
||||
|
||||
Response = SendRequestWithBody("PUT", BasicData, XmlConfig, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get bucket encryption
|
||||
// Gets the previously set bucket encryption configuration
|
||||
//
|
||||
// Note
|
||||
// Method at AWS documentation: [GetBucketEncryption](@docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)
|
||||
//
|
||||
// Parameters:
|
||||
// Name - String - Bucket name - name
|
||||
// BasicData - Structure of KeyAndValue - Basic request data. See GetBasicDataStructure - data
|
||||
// Directory - Boolean - True > Directory Bucket, False > General Purpose Bucket - dir
|
||||
// Headers - Map Of KeyAndValue - Additional request headers, if necessary - headers
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from storage
|
||||
Function GetBucketEncryption(Val Name
|
||||
, Val BasicData
|
||||
, Val Directory = True
|
||||
, Val Headers = Undefined) Export
|
||||
|
||||
URL = GetServiceURL(BasicData);
|
||||
URL = FormBucketURL(URL, Name, Directory);
|
||||
URL = URL + "?encryption";
|
||||
|
||||
BasicData.Insert("URL", URL);
|
||||
|
||||
Response = SendRequestWithoutBody("GET", BasicData, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get buckets list
|
||||
// Gets a list of buckets. It is possible to use filters if they are provided by your service
|
||||
//
|
||||
@ -370,26 +436,23 @@ Function GetURIString(Val Request)
|
||||
|
||||
EndFunction
|
||||
|
||||
Function GetParamsString(Val Request)
|
||||
Function GetParamsString(Request)
|
||||
|
||||
URI = Request.ResourceAddress;
|
||||
ParamsStart = StrFind(URI, "?");
|
||||
|
||||
If ParamsStart = 0 Then
|
||||
If ParamsStart = 0 Then
|
||||
|
||||
ParameterString = "";
|
||||
|
||||
Else
|
||||
|
||||
URILength = StrLen(URI);
|
||||
ParameterString = Right(URI, URILength - ParamsStart);
|
||||
ProcessRequestParametersString(ParameterString);
|
||||
|
||||
EndIf;
|
||||
|
||||
ParameterArray = StrSplit(ParameterString, "&");
|
||||
ParamsList = New ValueList();
|
||||
ParamsList.LoadValues(ParameterArray);
|
||||
|
||||
ParamsList.SortByValue();
|
||||
|
||||
ParameterString = StrConcat(ParamsList.UnloadValues(), "&");
|
||||
|
||||
Return ParameterString;
|
||||
|
||||
EndFunction
|
||||
@ -482,28 +545,69 @@ Function FormAuthorisationHeader(Val AccessKey, Val Scope, Val Signature, Val He
|
||||
|
||||
EndFunction
|
||||
|
||||
Procedure ProcessRequestParametersString(ParameterString)
|
||||
|
||||
ParameterArray = StrSplit(ParameterString, "&");
|
||||
ParamsList = New ValueList();
|
||||
ParamsList.LoadValues(ParameterArray);
|
||||
|
||||
ParamsList.SortByValue();
|
||||
ParameterArray = ParamsList.UnloadValues();
|
||||
|
||||
FinalParamsArray = New Array;
|
||||
|
||||
For N = 0 To ParameterArray.UBound() Do
|
||||
|
||||
QueryParameter = ParameterArray[N];
|
||||
|
||||
If StrFind(QueryParameter, "=") = 0 Then
|
||||
ParameterArray[N] = QueryParameter + "=";
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
ParameterString = StrConcat(ParameterArray, "&");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Miscellaneous
|
||||
|
||||
Function SendRequest(Val Method, Val BasicData, Val Body = Undefined, Val Headers = Undefined)
|
||||
|
||||
CheckBasicData(BasicData);
|
||||
|
||||
URL = BasicData["URL"];
|
||||
|
||||
URLStructure = OPI_Tools.SplitURL(URL);
|
||||
Server = URLStructure["Server"];
|
||||
Address = URLStructure["Address"];
|
||||
Safe = URLStructure["Safe"];
|
||||
|
||||
Request = OPI_Tools.CreateRequest(Address);
|
||||
Connection = OPI_Tools.CreateConnection(Server, Safe);
|
||||
|
||||
If ValueIsFilled(Body) Then
|
||||
SetRequestBody(Request, Body);
|
||||
EndIf;
|
||||
|
||||
AddAdditionalHeaders(Request, Headers);
|
||||
|
||||
AuthorizationHeader = CreateAuthorizationHeader(BasicData, Request, Connection, Method);
|
||||
Request.Headers.Insert("Authorization", AuthorizationHeader);
|
||||
|
||||
Response = OPI_Tools.ExecuteRequest(Request, Connection, Method, , True);
|
||||
Response = FormResponse(Response);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function BucketManagment(Val Name, Val BasicData, Val Directory, Val Method, Val Headers)
|
||||
|
||||
OPI_TypeConversion.GetLine(Name);
|
||||
OPI_TypeConversion.GetBoolean(Directory);
|
||||
|
||||
URL = GetServiceURL(BasicData);
|
||||
|
||||
If Directory Then
|
||||
URL = URL + Name;
|
||||
Else
|
||||
|
||||
If StrFind(URL, "://") Then
|
||||
URL = StrReplace(URL, "://", "://" + Name + ".");
|
||||
Else
|
||||
URL = Name + "." + URL;
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
URL = FormBucketURL(URL, Name, Directory);
|
||||
|
||||
BasicData.Insert("URL", URL);
|
||||
|
||||
@ -519,22 +623,25 @@ Function FormResponse(Val Response, Val ExpectedBinary = False)
|
||||
|
||||
If Not ExpectedBinary Or Status > 299 Then
|
||||
|
||||
ResponseData = New Map;
|
||||
BodyData = New Map;
|
||||
|
||||
ResponseBody = Response.GetBodyAsString();
|
||||
ResponseBody = TrimAll(ResponseBody);
|
||||
|
||||
If ValueIsFilled(ResponseBody) Then
|
||||
|
||||
Try
|
||||
ResponseData = OPI_Tools.ProcessXML(ResponseBody);
|
||||
BodyData = OPI_Tools.ProcessXML(ResponseBody);
|
||||
Except
|
||||
ResponseData = New Structure("notXMLMessage", ResponseBody);
|
||||
BodyData.Insert("notValidXMLMessage", ResponseBody);
|
||||
EndTry;
|
||||
|
||||
Else
|
||||
ResponseData = New Structure;
|
||||
EndIf;
|
||||
|
||||
ResponseData = New Structure("status,response", Status, ResponseData);
|
||||
ResponseData = New Map;
|
||||
ResponseData.Insert("status" , Status);
|
||||
ResponseData.Insert("response", BodyData);
|
||||
|
||||
Else
|
||||
ResponseData = Response.GetBodyAsBinaryData();
|
||||
@ -596,6 +703,38 @@ Procedure AddAdditionalHeaders(Receiver, Val Headers)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SetRequestBody(Request, Body)
|
||||
|
||||
OPI_TypeConversion.GetBinaryData(Body);
|
||||
Request.SetBodyFromBinaryData(Body);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Function FormBucketURL(Val URL, Val Name, Val Directory)
|
||||
|
||||
OPI_TypeConversion.GetLine(Name);
|
||||
OPI_TypeConversion.GetBoolean(Directory);
|
||||
|
||||
If Directory Then
|
||||
URL = URL + Name;
|
||||
Else
|
||||
|
||||
If StrFind(URL, "://") Then
|
||||
URL = StrReplace(URL, "://", "://" + Name + ".");
|
||||
Else
|
||||
URL = Name + "." + URL;
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
|
||||
If Not StrEndsWith(URL, "/") Then
|
||||
URL = URL + "/";
|
||||
EndIf;
|
||||
|
||||
Return URL;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -443,6 +443,40 @@ Procedure WriteLog(Val Result, Val Method, Val Library = "") Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure WriteLogFile(Val Data, Val Method, Val Library) Export
|
||||
|
||||
Try
|
||||
|
||||
LogPath = "./docs/en/results";
|
||||
LibraryLogPath = LogPath + "/" + Library;
|
||||
|
||||
LogDirectory = New File(LogPath);
|
||||
|
||||
If Not LogDirectory.Exists() Then
|
||||
CreateDirectory(LogPath);
|
||||
EndIf;
|
||||
|
||||
LibraryLogCatalog = New File(LibraryLogPath);
|
||||
|
||||
If Not LibraryLogCatalog.Exists() Then
|
||||
CreateDirectory(LibraryLogPath);
|
||||
EndIf;
|
||||
|
||||
FilePath = LibraryLogPath + "/" + Method + ".log";
|
||||
LogFile = New File(FilePath);
|
||||
|
||||
If Not LogFile.Exists() Then
|
||||
LogDocument = New TextDocument;
|
||||
LogDocument.SetText(Data);
|
||||
LogDocument.Write(FilePath);
|
||||
EndIf;
|
||||
|
||||
Except
|
||||
Message("Failed to write log file!: " + ErrorDescription());
|
||||
EndTry;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure WriteLogCLI(Val Result, Val Method, Val Library = "") Export
|
||||
|
||||
WriteLog(Result, Method + " (CLI)");
|
||||
@ -1961,6 +1995,13 @@ Procedure Check_S3NotFound(Val Result) Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_S3NotImplemented(Val Result) Export
|
||||
|
||||
Success = Result["status"] = 501;
|
||||
ExpectsThat(Success).Равно(True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
@ -2147,40 +2188,6 @@ Procedure WriteParameterToFile(Val Parameter, Val Value, Val Path)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure WriteLogFile(Val Data, Val Method, Val Library)
|
||||
|
||||
Try
|
||||
|
||||
LogPath = "./docs/en/results";
|
||||
LibraryLogPath = LogPath + "/" + Library;
|
||||
|
||||
LogDirectory = New File(LogPath);
|
||||
|
||||
If Not LogDirectory.Exists() Then
|
||||
CreateDirectory(LogPath);
|
||||
EndIf;
|
||||
|
||||
LibraryLogCatalog = New File(LibraryLogPath);
|
||||
|
||||
If Not LibraryLogCatalog.Exists() Then
|
||||
CreateDirectory(LibraryLogPath);
|
||||
EndIf;
|
||||
|
||||
FilePath = LibraryLogPath + "/" + Method + ".log";
|
||||
LogFile = New File(FilePath);
|
||||
|
||||
If Not LogFile.Exists() Then
|
||||
LogDocument = New TextDocument;
|
||||
LogDocument.SetText(Data);
|
||||
LogDocument.Write(FilePath);
|
||||
EndIf;
|
||||
|
||||
Except
|
||||
Message("Failed to write log file!: " + ErrorDescription());
|
||||
EndTry;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure WriteCLICall(Val Library, Val Method, Val Options)
|
||||
|
||||
If Not OPI_Tools.IsOneScript() Then
|
||||
|
@ -2113,6 +2113,8 @@ Procedure AWS_BucketsManagment() Export
|
||||
S3_CreateBucket(TestParameters);
|
||||
S3_GetBucketsList(TestParameters);
|
||||
S3_CheckBucketAvailability(TestParameters);
|
||||
S3_PutBucketEncryption(TestParameters);
|
||||
S3_GetBucketEncryption(TestParameters);
|
||||
S3_DeleteBucket(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
@ -14621,7 +14623,7 @@ Procedure S3_CreateBucket(FunctionParameters)
|
||||
|
||||
// Directory bucket
|
||||
|
||||
Name = "opi-dirbucket1";
|
||||
Name = "opi-dirbucket3";
|
||||
|
||||
Result = OPI_S3.CreateBucket(Name, BasicData);
|
||||
|
||||
@ -14631,7 +14633,7 @@ Procedure S3_CreateBucket(FunctionParameters)
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
Name = "opi-gpbucket1";
|
||||
Name = "opi-gpbucket3";
|
||||
|
||||
Result = OPI_S3.CreateBucket(Name, BasicData, False);
|
||||
|
||||
@ -14653,16 +14655,17 @@ Procedure S3_DeleteBucket(FunctionParameters)
|
||||
|
||||
// Directory bucket
|
||||
|
||||
Name = "opi-dirbucket1";
|
||||
Name = "opi-dirbucket3";
|
||||
|
||||
Result = OPI_S3.DeleteBucket(Name, BasicData);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteBucket (DB)", "S3"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_S3Success(Result); // SKIP
|
||||
BasicData.Insert("URL", FunctionParameters["S3_URL"]); // SKIP
|
||||
|
||||
// General purpose bucket
|
||||
|
||||
Name = "opi-gpbucket1";
|
||||
Name = "opi-gpbucket3";
|
||||
|
||||
Result = OPI_S3.DeleteBucket(Name, BasicData, False);
|
||||
|
||||
@ -14693,13 +14696,13 @@ EndProcedure
|
||||
|
||||
Procedure S3_CheckBucketAvailability(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
Name = "opi-dirbucket1";
|
||||
Name = "opi-dirbucket3";
|
||||
|
||||
Result = OPI_S3.CheckBucketAvailability(Name, BasicData, True);
|
||||
|
||||
@ -14715,6 +14718,56 @@ Procedure S3_CheckBucketAvailability(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure S3_GetBucketEncryption(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "opi-newbucket2";
|
||||
|
||||
Result = OPI_S3.GetBucketEncryption(Name, BasicData, False);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetBucketEncryption", "S3");
|
||||
OPI_TestDataRetrieval.Check_Map(Result);
|
||||
OPI_TestDataRetrieval.WriteLogFile("", "GetBucketEncryption", "S3");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure S3_PutBucketEncryption(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["S3_URL"];
|
||||
AccessKey = FunctionParameters["S3_AccessKey"];
|
||||
SecretKey = FunctionParameters["S3_SecretKey"];
|
||||
Region = "BTC";
|
||||
|
||||
BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Name = "opi-newbucket2";
|
||||
|
||||
XmlConfig = "<ServerSideEncryptionConfiguration xmlns=""http://s3.amazonaws.com/doc/2006-03-01/"">
|
||||
| <Rule>
|
||||
| <ApplyServerSideEncryptionByDefault>
|
||||
| <SSEAlgorithm>AES256</SSEAlgorithm>
|
||||
| </ApplyServerSideEncryptionByDefault>
|
||||
| </Rule>
|
||||
|</ServerSideEncryptionConfiguration>";
|
||||
|
||||
Result = OPI_S3.PutBucketEncryption(Name, BasicData, XmlConfig, False);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "PutBucketEncryption", "S3");
|
||||
OPI_TestDataRetrieval.Check_S3NotImplemented(Result);
|
||||
OPI_TestDataRetrieval.WriteLogFile("", "PutBucketEncryption", "S3");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -483,6 +483,8 @@ Function RequestParametersToMap(Val ParameterString) Export
|
||||
|
||||
If KeyValueArray.Count() = NumberOfParts Then
|
||||
ReturnMapping.Insert(KeyValueArray[0], KeyValueArray[1]);
|
||||
Else
|
||||
ReturnMapping.Insert(KeyValueArray[0], Undefined);
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
@ -52,11 +52,18 @@ Procedure GetBinaryData(Value) Export
|
||||
File = New File(Value);
|
||||
|
||||
If File.Exists() Then
|
||||
|
||||
Value = New BinaryData(Value);
|
||||
ElsIf StrFind(Value, "//") Then
|
||||
|
||||
ElsIf StrStartsWith(TrimL(Value), "http://")
|
||||
Or StrStartsWith(TrimL(Value), "https://") Then
|
||||
|
||||
Value = OPI_Tools.Get(Value);
|
||||
|
||||
Else
|
||||
|
||||
Value = Base64Value(Value);
|
||||
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
@ -243,20 +250,15 @@ Procedure GetLine(Value, Val FromSource = False) Export
|
||||
Value = TextReader.Read();
|
||||
TextReader.Close();
|
||||
|
||||
ElsIf StrStartsWith(Lower(Value), "http") Then
|
||||
ElsIf StrStartsWith(TrimL(Value), "http://")
|
||||
Or StrStartsWith(TrimL(Value), "https://") Then
|
||||
|
||||
TFN = GetTempFileName();
|
||||
FileCopy(Value, TFN);
|
||||
|
||||
TextReader = New TextReader(TFN);
|
||||
Value = TextReader.Read();
|
||||
TextReader.Close();
|
||||
|
||||
DeleteFiles(TFN);
|
||||
Value = OPI_Tools.Get(Value);
|
||||
GetLine(Value);
|
||||
|
||||
Else
|
||||
|
||||
Return;
|
||||
Value = OPI_Tools.NumberToString(Value);
|
||||
|
||||
EndIf;
|
||||
|
||||
@ -268,6 +270,10 @@ Procedure GetLine(Value, Val FromSource = False) Export
|
||||
|
||||
Value = OPI_Tools.JSONString(Value);
|
||||
|
||||
ElsIf TypeOf(Value) = Type("XMLWriter") Then
|
||||
|
||||
Value = Value.Close();
|
||||
|
||||
Else
|
||||
Return;
|
||||
EndIf;
|
||||
|
@ -92,6 +92,47 @@
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "SendRequestWithBody";
|
||||
NewLine.МетодПоиска = "SENDREQUESTWITHBODY";
|
||||
NewLine.Параметр = "--method";
|
||||
NewLine.Описание = "HTTP method";
|
||||
NewLine.Область = "Common methods";
|
||||
NewLine.ОписаниеМетода = "Send http request with body";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "SendRequestWithBody";
|
||||
NewLine.МетодПоиска = "SENDREQUESTWITHBODY";
|
||||
NewLine.Параметр = "--data";
|
||||
NewLine.Описание = "Basic request data (with full URL). See GetBasicDataStructure";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "SendRequestWithBody";
|
||||
NewLine.МетодПоиска = "SENDREQUESTWITHBODY";
|
||||
NewLine.Параметр = "--body";
|
||||
NewLine.Описание = "Binary data or file of request body data";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "SendRequestWithBody";
|
||||
NewLine.МетодПоиска = "SENDREQUESTWITHBODY";
|
||||
NewLine.Параметр = "--headers";
|
||||
NewLine.Описание = "Additional request headers, if necessary (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
@ -225,6 +266,98 @@
|
||||
NewLine.Область = "Buckets managment";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "PutBucketEncryption";
|
||||
NewLine.МетодПоиска = "PUTBUCKETENCRYPTION";
|
||||
NewLine.Параметр = "--name";
|
||||
NewLine.Описание = "Bucket name";
|
||||
NewLine.Область = "Buckets managment";
|
||||
NewLine.ОписаниеМетода = "Sets bucket encryption by XML configuration";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "PutBucketEncryption";
|
||||
NewLine.МетодПоиска = "PUTBUCKETENCRYPTION";
|
||||
NewLine.Параметр = "--data";
|
||||
NewLine.Описание = "Basic request data. See GetBasicDataStructure";
|
||||
NewLine.Область = "Buckets managment";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "PutBucketEncryption";
|
||||
NewLine.МетодПоиска = "PUTBUCKETENCRYPTION";
|
||||
NewLine.Параметр = "--conf";
|
||||
NewLine.Описание = "XML string or file of encryption configuration";
|
||||
NewLine.Область = "Buckets managment";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "PutBucketEncryption";
|
||||
NewLine.МетодПоиска = "PUTBUCKETENCRYPTION";
|
||||
NewLine.Параметр = "--dir";
|
||||
NewLine.Описание = "True > Directory Bucket, False > General Purpose Bucket (optional, def. val. - Yes)";
|
||||
NewLine.Область = "Buckets managment";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "PutBucketEncryption";
|
||||
NewLine.МетодПоиска = "PUTBUCKETENCRYPTION";
|
||||
NewLine.Параметр = "--headers";
|
||||
NewLine.Описание = "Additional request headers, if necessary (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Buckets managment";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "GetBucketEncryption";
|
||||
NewLine.МетодПоиска = "GETBUCKETENCRYPTION";
|
||||
NewLine.Параметр = "--name";
|
||||
NewLine.Описание = "Bucket name";
|
||||
NewLine.Область = "Buckets managment";
|
||||
NewLine.ОписаниеМетода = "Gets the previously set bucket encryption configuration";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "GetBucketEncryption";
|
||||
NewLine.МетодПоиска = "GETBUCKETENCRYPTION";
|
||||
NewLine.Параметр = "--data";
|
||||
NewLine.Описание = "Basic request data. See GetBasicDataStructure";
|
||||
NewLine.Область = "Buckets managment";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "GetBucketEncryption";
|
||||
NewLine.МетодПоиска = "GETBUCKETENCRYPTION";
|
||||
NewLine.Параметр = "--dir";
|
||||
NewLine.Описание = "True > Directory Bucket, False > General Purpose Bucket (optional, def. val. - Yes)";
|
||||
NewLine.Область = "Buckets managment";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
NewLine.Метод = "GetBucketEncryption";
|
||||
NewLine.МетодПоиска = "GETBUCKETENCRYPTION";
|
||||
NewLine.Параметр = "--headers";
|
||||
NewLine.Описание = "Additional request headers, if necessary (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Buckets managment";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "s3";
|
||||
NewLine.Модуль = "OPI_S3";
|
||||
|
@ -81,15 +81,15 @@
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
Функция ОтправитьЗапросБезТела(Знач Метод, Знач ОсновныеДанные, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
|
||||
Ответ = ОтправитьЗапрос(Метод, ОсновныеДанные, , Заголовки);
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Отправить запрос с телом
|
||||
// Отправляет http запрос с телом
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Метод - Строка - HTTP метод - method
|
||||
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса (c полным URL). См. ПолучитьСтруктуруДанных - data
|
||||
@ -99,10 +99,10 @@
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
Функция ОтправитьЗапросСТелом(Знач Метод, Знач ОсновныеДанные, Знач Тело, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
|
||||
Ответ = ОтправитьЗапрос(Метод, ОсновныеДанные, Тело, Заголовки);
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@ -186,8 +186,8 @@
|
||||
КонецФункции
|
||||
|
||||
// Установить шифрование бакета
|
||||
// Устанавлиает шифрование бакета по дайджесту
|
||||
//
|
||||
// Устанавлиает шифрование бакета по XML конфигурации
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации AWS: [PutBucketEncryption](@docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)
|
||||
//
|
||||
@ -195,35 +195,35 @@
|
||||
// Наименование - Строка - Наименование бакета - name
|
||||
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - data
|
||||
// XMLКонфигурация - Строка - XML строка или файл конфигурации шифрования - conf
|
||||
// Каталог - Булево - Истина > Directory Bucket, Ложь > General Purpose Bucket - dir
|
||||
// Каталог - Булево - Истина > Directory Bucket, Ложь > General Purpose Bucket - dir
|
||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
Функция УстановитьШифрованиеБакета(Знач Наименование
|
||||
, Знач ОсновныеДанные
|
||||
, Знач XMLКонфигурация
|
||||
, Знач Каталог = Истина
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
, Знач ОсновныеДанные
|
||||
, Знач XMLКонфигурация
|
||||
, Знач Каталог = Истина
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(XMLКонфигурация, Истина);
|
||||
XMLКонфигурация = ПолучитьДвоичныеДанныеИзСтроки(XMLКонфигурация);
|
||||
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = СформироватьURLБакета(URL, Наименование, Каталог);
|
||||
URL = URL + "?encryption";
|
||||
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
|
||||
|
||||
Ответ = ОтправитьЗапросСТелом("PUT", ОсновныеДанные, XMLКонфигурация, Заголовки);
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить шифрование бакета
|
||||
// Получает установленную ранее конфигурацию шифрования бакета
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации AWS: [GetBucketEncryption](@docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)
|
||||
//
|
||||
@ -236,20 +236,20 @@
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
Функция ПолучитьШифрованиеБакета(Знач Наименование
|
||||
, Знач ОсновныеДанные
|
||||
, Знач Каталог = Истина
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
, Знач ОсновныеДанные
|
||||
, Знач Каталог = Истина
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = СформироватьURLБакета(URL, Наименование, Каталог);
|
||||
URL = URL + "?encryption";
|
||||
|
||||
URL = URL + "?encryption";
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список бакетов
|
||||
@ -437,22 +437,22 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьСтрокуПараметров(Запрос)
|
||||
|
||||
|
||||
URI = Запрос.АдресРесурса;
|
||||
НачалоПараметров = СтрНайти(URI, "?");
|
||||
|
||||
|
||||
Если НачалоПараметров = 0 Тогда
|
||||
|
||||
|
||||
СтрокаПараметров = "";
|
||||
|
||||
|
||||
Иначе
|
||||
|
||||
|
||||
ДлинаURI = СтрДлина(URI);
|
||||
СтрокаПараметров = Прав(URI, ДлинаURI - НачалоПараметров);
|
||||
ОбработатьСтрокуПараметровЗапроса(СтрокаПараметров);
|
||||
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Возврат СтрокаПараметров;
|
||||
|
||||
КонецФункции
|
||||
@ -546,26 +546,26 @@
|
||||
КонецФункции
|
||||
|
||||
Процедура ОбработатьСтрокуПараметровЗапроса(СтрокаПараметров)
|
||||
|
||||
|
||||
МассивПараметров = СтрРазделить(СтрокаПараметров, "&");
|
||||
СписокПараметров = Новый СписокЗначений();
|
||||
СписокПараметров.ЗагрузитьЗначения(МассивПараметров);
|
||||
|
||||
|
||||
СписокПараметров.СортироватьПоЗначению();
|
||||
МассивПараметров = СписокПараметров.ВыгрузитьЗначения();
|
||||
|
||||
|
||||
КонечныйМассивПараметров = Новый Массив;
|
||||
|
||||
|
||||
Для Н = 0 По МассивПараметров.ВГраница() Цикл
|
||||
|
||||
|
||||
ПараметрЗапроса = МассивПараметров[Н];
|
||||
|
||||
|
||||
Если СтрНайти(ПараметрЗапроса, "=") = 0 Тогда
|
||||
МассивПараметров[Н] = ПараметрЗапроса + "=";
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
СтрокаПараметров = СтрСоединить(МассивПараметров, "&");
|
||||
|
||||
КонецПроцедуры
|
||||
@ -574,8 +574,8 @@
|
||||
|
||||
#Область Прочее
|
||||
|
||||
Функция ОтправитьЗапрос(Знач Метод, Знач ОсновныеДанные, Знач Тело = Неопределено, Знач Заголовки = Неопределено)
|
||||
|
||||
Функция ОтправитьЗапрос(Знач Метод, Знач ОсновныеДанные, Знач Тело = Неопределено, Знач Заголовки = Неопределено)
|
||||
|
||||
ПроверитьОсновныеДанные(ОсновныеДанные);
|
||||
|
||||
URL = ОсновныеДанные["URL"];
|
||||
@ -587,7 +587,7 @@
|
||||
|
||||
Запрос = OPI_Инструменты.СоздатьЗапрос(Адрес);
|
||||
Соединение = OPI_Инструменты.СоздатьСоединение(Сервер, Защищенное);
|
||||
|
||||
|
||||
Если ЗначениеЗаполнено(Тело) Тогда
|
||||
УстановитьТелоЗапроса(Запрос, Тело);
|
||||
КонецЕсли;
|
||||
@ -607,7 +607,7 @@
|
||||
Функция УправлениеБакетом(Знач Имя, Знач ОсновныеДанные, Знач Каталог, Знач Метод, Знач Заголовки)
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = СформироватьURLБакета(URL, Имя, Каталог);
|
||||
URL = СформироватьURLБакета(URL, Имя, Каталог);
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
|
||||
@ -622,7 +622,7 @@
|
||||
Статус = Ответ.КодСостояния;
|
||||
|
||||
Если Не ОжидаютсяДвоичные Или Статус > 299 Тогда
|
||||
|
||||
|
||||
ДанныеОтвета = Новый Соответствие;
|
||||
ДанныеТела = Новый Соответствие;
|
||||
|
||||
@ -704,18 +704,18 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьТелоЗапроса(Запрос, Тело)
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Тело);
|
||||
Запрос.УстановитьТелоИзДвоичныхДанных(Тело);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция СформироватьURLБакета(Знач URL, Знач Имя, Знач Каталог)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Имя);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Имя);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Каталог);
|
||||
|
||||
Если Каталог Тогда
|
||||
|
||||
Если Каталог Тогда
|
||||
URL = URL + Имя;
|
||||
Иначе
|
||||
|
||||
@ -725,14 +725,14 @@
|
||||
URL = Имя + "." + URL;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Не СтрЗаканчиваетсяНа(URL, "/") Тогда
|
||||
URL = URL + "/";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат URL;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Не СтрЗаканчиваетсяНа(URL, "/") Тогда
|
||||
URL = URL + "/";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат URL;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -14734,7 +14734,7 @@
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьШифрованиеБакета", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьФайлЛога("", "ПолучитьШифрованиеБакета", "S3");
|
||||
|
||||
КонецПроцедуры
|
||||
@ -14749,8 +14749,8 @@
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Имя = "opi-newbucket2";
|
||||
|
||||
КонфигурацияXML = "<ServerSideEncryptionConfiguration xmlns=""http://s3.amazonaws.com/doc/2006-03-01/"">
|
||||
|
||||
XMLКонфигурация = "<ServerSideEncryptionConfiguration xmlns=""http://s3.amazonaws.com/doc/2006-03-01/"">
|
||||
| <Rule>
|
||||
| <ApplyServerSideEncryptionByDefault>
|
||||
| <SSEAlgorithm>AES256</SSEAlgorithm>
|
||||
@ -14758,7 +14758,7 @@
|
||||
| </Rule>
|
||||
|</ServerSideEncryptionConfiguration>";
|
||||
|
||||
Результат = OPI_S3.УстановитьШифрованиеБакета(Имя, ОсновныеДанные, КонфигурацияXML, Ложь);
|
||||
Результат = OPI_S3.УстановитьШифрованиеБакета(Имя, ОсновныеДанные, XMLКонфигурация, Ложь);
|
||||
|
||||
// END
|
||||
|
||||
|
@ -1996,11 +1996,11 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_S3НеПоддерживается(Знач Результат) Экспорт
|
||||
|
||||
|
||||
Успех = Результат["status"] = 501;
|
||||
ОжидаетЧто(Успех).Равно(Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@ -2038,9 +2038,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -52,18 +52,18 @@
|
||||
Файл = Новый Файл(Значение);
|
||||
|
||||
Если Файл.Существует() Тогда
|
||||
|
||||
|
||||
Значение = Новый ДвоичныеДанные(Значение);
|
||||
|
||||
|
||||
ИначеЕсли СтрНачинаетсяС(СокрЛ(Значение), "http://")
|
||||
Или СтрНачинаетсяС(СокрЛ(Значение), "https://") Тогда
|
||||
|
||||
|
||||
Значение = OPI_Инструменты.Get(Значение);
|
||||
|
||||
|
||||
Иначе
|
||||
|
||||
|
||||
Значение = Base64Значение(Значение);
|
||||
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
@ -252,7 +252,7 @@
|
||||
|
||||
ИначеЕсли СтрНачинаетсяС(СокрЛ(Значение), "http://")
|
||||
Или СтрНачинаетсяС(СокрЛ(Значение), "https://") Тогда
|
||||
|
||||
|
||||
Значение = OPI_Инструменты.Get(Значение);
|
||||
ПолучитьСтроку(Значение);
|
||||
|
||||
@ -269,11 +269,11 @@
|
||||
ИначеЕсли ЭтоКоллекция(Значение) Тогда
|
||||
|
||||
Значение = OPI_Инструменты.JSONСтрокой(Значение);
|
||||
|
||||
|
||||
ИначеЕсли ТипЗнч(Значение) = Тип("ЗаписьXML") Тогда
|
||||
|
||||
Значение = Значение.Закрыть();
|
||||
|
||||
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_S3.os
|
||||
// OneScript: ./OInt/core/Modules/OPI_S3.os
|
||||
// Lib: S3
|
||||
// CLI: s3
|
||||
|
||||
@ -81,15 +81,15 @@
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
Функция ОтправитьЗапросБезТела(Знач Метод, Знач ОсновныеДанные, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
|
||||
Ответ = ОтправитьЗапрос(Метод, ОсновныеДанные, , Заголовки);
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Отправить запрос с телом
|
||||
// Отправляет http запрос с телом
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Метод - Строка - HTTP метод - method
|
||||
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса (c полным URL). См. ПолучитьСтруктуруДанных - data
|
||||
@ -99,10 +99,10 @@
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
Функция ОтправитьЗапросСТелом(Знач Метод, Знач ОсновныеДанные, Знач Тело, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
|
||||
Ответ = ОтправитьЗапрос(Метод, ОсновныеДанные, Тело, Заголовки);
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@ -187,7 +187,7 @@
|
||||
|
||||
// Установить шифрование бакета
|
||||
// Устанавлиает шифрование бакета по XML конфигурации
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации AWS: [PutBucketEncryption](@docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)
|
||||
//
|
||||
@ -195,35 +195,35 @@
|
||||
// Наименование - Строка - Наименование бакета - name
|
||||
// ОсновныеДанные - Структура Из КлючИЗначение - Основные данные запроса. См. ПолучитьСтруктуруДанных - data
|
||||
// XMLКонфигурация - Строка - XML строка или файл конфигурации шифрования - conf
|
||||
// Каталог - Булево - Истина > Directory Bucket, Ложь > General Purpose Bucket - dir
|
||||
// Каталог - Булево - Истина > Directory Bucket, Ложь > General Purpose Bucket - dir
|
||||
// Заголовки - Соответствие Из КлючИЗначение - Дополнительные заголовки запроса, если необходимо - headers
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
Функция УстановитьШифрованиеБакета(Знач Наименование
|
||||
, Знач ОсновныеДанные
|
||||
, Знач XMLКонфигурация
|
||||
, Знач Каталог = Истина
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
, Знач ОсновныеДанные
|
||||
, Знач XMLКонфигурация
|
||||
, Знач Каталог = Истина
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(XMLКонфигурация, Истина);
|
||||
XMLКонфигурация = ПолучитьДвоичныеДанныеИзСтроки(XMLКонфигурация);
|
||||
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = СформироватьURLБакета(URL, Наименование, Каталог);
|
||||
URL = URL + "?encryption";
|
||||
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
|
||||
|
||||
Ответ = ОтправитьЗапросСТелом("PUT", ОсновныеДанные, XMLКонфигурация, Заголовки);
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить шифрование бакета
|
||||
// Получает установленную ранее конфигурацию шифрования бакета
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации AWS: [GetBucketEncryption](@docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)
|
||||
//
|
||||
@ -236,20 +236,20 @@
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от хранилища
|
||||
Функция ПолучитьШифрованиеБакета(Знач Наименование
|
||||
, Знач ОсновныеДанные
|
||||
, Знач Каталог = Истина
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
, Знач ОсновныеДанные
|
||||
, Знач Каталог = Истина
|
||||
, Знач Заголовки = Неопределено) Экспорт
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = СформироватьURLБакета(URL, Наименование, Каталог);
|
||||
URL = URL + "?encryption";
|
||||
|
||||
URL = URL + "?encryption";
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
|
||||
Ответ = ОтправитьЗапросБезТела("GET", ОсновныеДанные, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список бакетов
|
||||
@ -437,22 +437,22 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьСтрокуПараметров(Запрос)
|
||||
|
||||
|
||||
URI = Запрос.АдресРесурса;
|
||||
НачалоПараметров = СтрНайти(URI, "?");
|
||||
|
||||
|
||||
Если НачалоПараметров = 0 Тогда
|
||||
|
||||
|
||||
СтрокаПараметров = "";
|
||||
|
||||
|
||||
Иначе
|
||||
|
||||
|
||||
ДлинаURI = СтрДлина(URI);
|
||||
СтрокаПараметров = Прав(URI, ДлинаURI - НачалоПараметров);
|
||||
ОбработатьСтрокуПараметровЗапроса(СтрокаПараметров);
|
||||
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Возврат СтрокаПараметров;
|
||||
|
||||
КонецФункции
|
||||
@ -546,26 +546,26 @@
|
||||
КонецФункции
|
||||
|
||||
Процедура ОбработатьСтрокуПараметровЗапроса(СтрокаПараметров)
|
||||
|
||||
|
||||
МассивПараметров = СтрРазделить(СтрокаПараметров, "&");
|
||||
СписокПараметров = Новый СписокЗначений();
|
||||
СписокПараметров.ЗагрузитьЗначения(МассивПараметров);
|
||||
|
||||
|
||||
СписокПараметров.СортироватьПоЗначению();
|
||||
МассивПараметров = СписокПараметров.ВыгрузитьЗначения();
|
||||
|
||||
|
||||
КонечныйМассивПараметров = Новый Массив;
|
||||
|
||||
|
||||
Для Н = 0 По МассивПараметров.ВГраница() Цикл
|
||||
|
||||
|
||||
ПараметрЗапроса = МассивПараметров[Н];
|
||||
|
||||
|
||||
Если СтрНайти(ПараметрЗапроса, "=") = 0 Тогда
|
||||
МассивПараметров[Н] = ПараметрЗапроса + "=";
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
СтрокаПараметров = СтрСоединить(МассивПараметров, "&");
|
||||
|
||||
КонецПроцедуры
|
||||
@ -574,8 +574,8 @@
|
||||
|
||||
#Область Прочее
|
||||
|
||||
Функция ОтправитьЗапрос(Знач Метод, Знач ОсновныеДанные, Знач Тело = Неопределено, Знач Заголовки = Неопределено)
|
||||
|
||||
Функция ОтправитьЗапрос(Знач Метод, Знач ОсновныеДанные, Знач Тело = Неопределено, Знач Заголовки = Неопределено)
|
||||
|
||||
ПроверитьОсновныеДанные(ОсновныеДанные);
|
||||
|
||||
URL = ОсновныеДанные["URL"];
|
||||
@ -587,7 +587,7 @@
|
||||
|
||||
Запрос = OPI_Инструменты.СоздатьЗапрос(Адрес);
|
||||
Соединение = OPI_Инструменты.СоздатьСоединение(Сервер, Защищенное);
|
||||
|
||||
|
||||
Если ЗначениеЗаполнено(Тело) Тогда
|
||||
УстановитьТелоЗапроса(Запрос, Тело);
|
||||
КонецЕсли;
|
||||
@ -607,7 +607,7 @@
|
||||
Функция УправлениеБакетом(Знач Имя, Знач ОсновныеДанные, Знач Каталог, Знач Метод, Знач Заголовки)
|
||||
|
||||
URL = ПолучитьURLСервиса(ОсновныеДанные);
|
||||
URL = СформироватьURLБакета(URL, Имя, Каталог);
|
||||
URL = СформироватьURLБакета(URL, Имя, Каталог);
|
||||
|
||||
ОсновныеДанные.Вставить("URL", URL);
|
||||
|
||||
@ -622,7 +622,7 @@
|
||||
Статус = Ответ.КодСостояния;
|
||||
|
||||
Если Не ОжидаютсяДвоичные Или Статус > 299 Тогда
|
||||
|
||||
|
||||
ДанныеОтвета = Новый Соответствие;
|
||||
ДанныеТела = Новый Соответствие;
|
||||
|
||||
@ -704,18 +704,18 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьТелоЗапроса(Запрос, Тело)
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Тело);
|
||||
Запрос.УстановитьТелоИзДвоичныхДанных(Тело);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция СформироватьURLБакета(Знач URL, Знач Имя, Знач Каталог)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Имя);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Имя);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Каталог);
|
||||
|
||||
Если Каталог Тогда
|
||||
|
||||
Если Каталог Тогда
|
||||
URL = URL + Имя;
|
||||
Иначе
|
||||
|
||||
@ -725,14 +725,14 @@
|
||||
URL = Имя + "." + URL;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Не СтрЗаканчиваетсяНа(URL, "/") Тогда
|
||||
URL = URL + "/";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат URL;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Не СтрЗаканчиваетсяНа(URL, "/") Тогда
|
||||
URL = URL + "/";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат URL;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
|
||||
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
|
||||
|
||||
// MIT License
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
|
||||
// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@ -1996,11 +1996,11 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_S3НеПоддерживается(Знач Результат) Экспорт
|
||||
|
||||
|
||||
Успех = Результат["status"] = 501;
|
||||
ОжидаетЧто(Успех).Равно(Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tools/Modules/OPI_ПреобразованиеТипов.os
|
||||
// OneScript: ./OInt/tools/Modules/OPI_ПреобразованиеТипов.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@ -52,18 +52,18 @@
|
||||
Файл = Новый Файл(Значение);
|
||||
|
||||
Если Файл.Существует() Тогда
|
||||
|
||||
|
||||
Значение = Новый ДвоичныеДанные(Значение);
|
||||
|
||||
|
||||
ИначеЕсли СтрНачинаетсяС(СокрЛ(Значение), "http://")
|
||||
Или СтрНачинаетсяС(СокрЛ(Значение), "https://") Тогда
|
||||
|
||||
|
||||
Значение = OPI_Инструменты.Get(Значение);
|
||||
|
||||
|
||||
Иначе
|
||||
|
||||
|
||||
Значение = Base64Значение(Значение);
|
||||
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
@ -252,7 +252,7 @@
|
||||
|
||||
ИначеЕсли СтрНачинаетсяС(СокрЛ(Значение), "http://")
|
||||
Или СтрНачинаетсяС(СокрЛ(Значение), "https://") Тогда
|
||||
|
||||
|
||||
Значение = OPI_Инструменты.Get(Значение);
|
||||
ПолучитьСтроку(Значение);
|
||||
|
||||
@ -269,11 +269,11 @@
|
||||
ИначеЕсли ЭтоКоллекция(Значение) Тогда
|
||||
|
||||
Значение = OPI_Инструменты.JSONСтрокой(Значение);
|
||||
|
||||
|
||||
ИначеЕсли ТипЗнч(Значение) = Тип("ЗаписьXML") Тогда
|
||||
|
||||
Значение = Значение.Закрыть();
|
||||
|
||||
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@ -14734,7 +14734,7 @@
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьШифрованиеБакета", "S3");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьФайлЛога("", "ПолучитьШифрованиеБакета", "S3");
|
||||
|
||||
КонецПроцедуры
|
||||
@ -14749,7 +14749,7 @@
|
||||
ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
|
||||
|
||||
Имя = "opi-newbucket2";
|
||||
|
||||
|
||||
XMLКонфигурация = "<ServerSideEncryptionConfiguration xmlns=""http://s3.amazonaws.com/doc/2006-03-01/"">
|
||||
| <Rule>
|
||||
| <ApplyServerSideEncryptionByDefault>
|
||||
|
@ -92,6 +92,47 @@
|
||||
НоваяСтрока.Область = "Общие методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ОтправитьЗапросСТелом";
|
||||
НоваяСтрока.МетодПоиска = "ОТПРАВИТЬЗАПРОССТЕЛОМ";
|
||||
НоваяСтрока.Параметр = "--method";
|
||||
НоваяСтрока.Описание = "HTTP метод";
|
||||
НоваяСтрока.Область = "Общие методы";
|
||||
НоваяСтрока.ОписаниеМетода = "Отправляет http запрос с телом";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ОтправитьЗапросСТелом";
|
||||
НоваяСтрока.МетодПоиска = "ОТПРАВИТЬЗАПРОССТЕЛОМ";
|
||||
НоваяСтрока.Параметр = "--data";
|
||||
НоваяСтрока.Описание = "Основные данные запроса (c полным URL). См. ПолучитьСтруктуруДанных";
|
||||
НоваяСтрока.Область = "Общие методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ОтправитьЗапросСТелом";
|
||||
НоваяСтрока.МетодПоиска = "ОТПРАВИТЬЗАПРОССТЕЛОМ";
|
||||
НоваяСтрока.Параметр = "--body";
|
||||
НоваяСтрока.Описание = "Двоичное тело запроса или путь к файлу";
|
||||
НоваяСтрока.Область = "Общие методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ОтправитьЗапросСТелом";
|
||||
НоваяСтрока.МетодПоиска = "ОТПРАВИТЬЗАПРОССТЕЛОМ";
|
||||
НоваяСтрока.Параметр = "--headers";
|
||||
НоваяСтрока.Описание = "Дополнительные заголовки запроса, если необходимо (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Общие методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
@ -225,6 +266,98 @@
|
||||
НоваяСтрока.Область = "Работа с бакетами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "УстановитьШифрованиеБакета";
|
||||
НоваяСтрока.МетодПоиска = "УСТАНОВИТЬШИФРОВАНИЕБАКЕТА";
|
||||
НоваяСтрока.Параметр = "--name";
|
||||
НоваяСтрока.Описание = "Наименование бакета";
|
||||
НоваяСтрока.Область = "Работа с бакетами";
|
||||
НоваяСтрока.ОписаниеМетода = "Устанавлиает шифрование бакета по XML конфигурации";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "УстановитьШифрованиеБакета";
|
||||
НоваяСтрока.МетодПоиска = "УСТАНОВИТЬШИФРОВАНИЕБАКЕТА";
|
||||
НоваяСтрока.Параметр = "--data";
|
||||
НоваяСтрока.Описание = "Основные данные запроса. См. ПолучитьСтруктуруДанных";
|
||||
НоваяСтрока.Область = "Работа с бакетами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "УстановитьШифрованиеБакета";
|
||||
НоваяСтрока.МетодПоиска = "УСТАНОВИТЬШИФРОВАНИЕБАКЕТА";
|
||||
НоваяСтрока.Параметр = "--conf";
|
||||
НоваяСтрока.Описание = "XML строка или файл конфигурации шифрования";
|
||||
НоваяСтрока.Область = "Работа с бакетами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "УстановитьШифрованиеБакета";
|
||||
НоваяСтрока.МетодПоиска = "УСТАНОВИТЬШИФРОВАНИЕБАКЕТА";
|
||||
НоваяСтрока.Параметр = "--dir";
|
||||
НоваяСтрока.Описание = "Истина > Directory Bucket, Ложь > General Purpose Bucket (необяз. по ум. - Да)";
|
||||
НоваяСтрока.Область = "Работа с бакетами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "УстановитьШифрованиеБакета";
|
||||
НоваяСтрока.МетодПоиска = "УСТАНОВИТЬШИФРОВАНИЕБАКЕТА";
|
||||
НоваяСтрока.Параметр = "--headers";
|
||||
НоваяСтрока.Описание = "Дополнительные заголовки запроса, если необходимо (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Работа с бакетами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ПолучитьШифрованиеБакета";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬШИФРОВАНИЕБАКЕТА";
|
||||
НоваяСтрока.Параметр = "--name";
|
||||
НоваяСтрока.Описание = "Наименование бакета";
|
||||
НоваяСтрока.Область = "Работа с бакетами";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает установленную ранее конфигурацию шифрования бакета";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ПолучитьШифрованиеБакета";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬШИФРОВАНИЕБАКЕТА";
|
||||
НоваяСтрока.Параметр = "--data";
|
||||
НоваяСтрока.Описание = "Основные данные запроса. См. ПолучитьСтруктуруДанных";
|
||||
НоваяСтрока.Область = "Работа с бакетами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ПолучитьШифрованиеБакета";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬШИФРОВАНИЕБАКЕТА";
|
||||
НоваяСтрока.Параметр = "--dir";
|
||||
НоваяСтрока.Описание = "Истина > Directory Bucket, Ложь > General Purpose Bucket (необяз. по ум. - Да)";
|
||||
НоваяСтрока.Область = "Работа с бакетами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
НоваяСтрока.Метод = "ПолучитьШифрованиеБакета";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬШИФРОВАНИЕБАКЕТА";
|
||||
НоваяСтрока.Параметр = "--headers";
|
||||
НоваяСтрока.Описание = "Дополнительные заголовки запроса, если необходимо (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Работа с бакетами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "s3";
|
||||
НоваяСтрока.Модуль = "OPI_S3";
|
||||
|
Loading…
x
Reference in New Issue
Block a user