Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Description for EXTERNAL DATA SOURCE ObjectStorage has been added YQ-4026 #14127

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

dorooleg
Copy link
Collaborator

@dorooleg dorooleg commented Feb 3, 2025

Changelog entry

YQ-4026

Changelog category

  • Documentation (changelog entry is not required)

Additional information

...

Copy link

github-actions bot commented Feb 3, 2025

2025-02-03 10:55:04 UTC Pre-commit check linux-x86_64-relwithdebinfo for 797d72e has started.
2025-02-03 10:55:53 UTC Artifacts will be uploaded here
2025-02-03 10:58:56 UTC ya make is running...
🔴 2025-02-03 10:59:28 UTC Build failed, see the logs. Also see fail summary

Copy link

github-actions bot commented Feb 3, 2025

2025-02-03 10:55:10 UTC Pre-commit check linux-x86_64-release-asan for 797d72e has started.
2025-02-03 10:55:21 UTC Artifacts will be uploaded here
2025-02-03 10:57:43 UTC ya make is running...
🔴 2025-02-03 10:58:17 UTC Build failed, see the logs. Also see fail summary

Copy link

github-actions bot commented Feb 3, 2025

2025-02-03 13:48:39 UTC Pre-commit check linux-x86_64-relwithdebinfo for 778801f has started.
2025-02-03 13:48:51 UTC Artifacts will be uploaded here
2025-02-03 13:51:19 UTC ya make is running...
🟢 2025-02-03 13:52:58 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
0 0 0 0 0 0

🟢 2025-02-03 13:53:04 UTC Build successful.

Copy link

github-actions bot commented Feb 3, 2025

2025-02-03 13:48:54 UTC Pre-commit check linux-x86_64-release-asan for 778801f has started.
2025-02-03 13:49:05 UTC Artifacts will be uploaded here
2025-02-03 13:51:28 UTC ya make is running...
🟢 2025-02-03 13:52:54 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
0 0 0 0 0 0

🟢 2025-02-03 13:53:00 UTC Build successful.

Copy link

github-actions bot commented Feb 3, 2025

✅ Documentation build

Revision built successfully
Revision preview link

@dorooleg dorooleg changed the title Description for EXTERNAL DATA SOURCE ObjectStorage has been added Description for EXTERNAL DATA SOURCE ObjectStorage has been added YQ-4026 Feb 3, 2025
Copy link

github-actions bot commented Feb 3, 2025

2025-02-03 14:11:08 UTC Pre-commit check linux-x86_64-relwithdebinfo for 8eaaf8f has started.
2025-02-03 14:11:24 UTC Artifacts will be uploaded here
2025-02-03 14:13:45 UTC ya make is running...
🟢 2025-02-03 14:15:14 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
0 0 0 0 0 0

🟢 2025-02-03 14:15:21 UTC Build successful.

Copy link

github-actions bot commented Feb 3, 2025

2025-02-03 14:13:34 UTC Pre-commit check linux-x86_64-release-asan for 8eaaf8f has started.
2025-02-03 14:13:46 UTC Artifacts will be uploaded here
2025-02-03 14:16:11 UTC ya make is running...
🟢 2025-02-03 14:16:16 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
0 0 0 0 0 0

🟢 2025-02-03 14:16:22 UTC Build successful.

Copy link

github-actions bot commented Feb 3, 2025

✅ Documentation build

Revision built successfully
Revision preview link

Copy link

github-actions bot commented Feb 3, 2025

2025-02-03 14:22:34 UTC Pre-commit check linux-x86_64-relwithdebinfo for 35bc7d8 has started.
2025-02-03 14:22:47 UTC Artifacts will be uploaded here
2025-02-03 14:25:09 UTC ya make is running...
🟢 2025-02-03 14:26:38 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
0 0 0 0 0 0

🟢 2025-02-03 14:26:44 UTC Build successful.

Copy link

github-actions bot commented Feb 3, 2025

2025-02-03 14:23:42 UTC Pre-commit check linux-x86_64-release-asan for 35bc7d8 has started.
2025-02-03 14:23:58 UTC Artifacts will be uploaded here
2025-02-03 14:26:37 UTC ya make is running...
🟢 2025-02-03 14:26:43 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
0 0 0 0 0 0

🟢 2025-02-03 14:26:49 UTC Build successful.

Copy link

github-actions bot commented Feb 3, 2025

✅ Documentation build

Revision built successfully
Revision preview link

@dorooleg dorooleg marked this pull request as ready for review February 4, 2025 06:46
@dorooleg dorooleg requested a review from a team as a code owner February 4, 2025 06:46
vitalyisaev2
vitalyisaev2 previously approved these changes Feb 5, 2025
@github-actions github-actions bot added documentation Improvements or additions to documentation and removed new-feature labels Feb 7, 2025
blinkov
blinkov previously requested changes Feb 7, 2025
Comment on lines 25 to 33
## Creating an external connection to S3 bucket {#external-data-source-settings}

There are two types of buckets in S3: public and private. To connect to a public bucket, you need to use `AUTH_METHOD="NONE"`, and to connect to a private bucket, `AUTH_METHOD="AWS"`. A detailed description of `AWS` can be found [here](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html). `AUTH_METHOD="NONE"` means that no authentication should be used. In case of `AUTH_METHOD="AWS"`, you need to specify several additional parameters:

- `AWS_ACCESS_KEY_ID_SECRET_NAME` - reference to the name of the [secret](../../datamodel/secrets.md) where `AWS_ACCESS_KEY_ID` is stored.
- `AWS_SECRET_ACCESS_KEY_SECRET_NAME` - reference to the name of the [secret](../../datamodel/secrets.md) where `AWS_SECRET_ACCESS_KEY` is stored.
- `AWS_REGION` - region from which reading will be performed, for example `ru-central-1`.

To set up a connection to a public bucket, it is enough to execute the following SQL query. The query will create an external connection named `object_storage`, which will point to a specific S3 bucket named `bucket`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Creating an external connection to S3 bucket {#external-data-source-settings}
There are two types of buckets in S3: public and private. To connect to a public bucket, you need to use `AUTH_METHOD="NONE"`, and to connect to a private bucket, `AUTH_METHOD="AWS"`. A detailed description of `AWS` can be found [here](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html). `AUTH_METHOD="NONE"` means that no authentication should be used. In case of `AUTH_METHOD="AWS"`, you need to specify several additional parameters:
- `AWS_ACCESS_KEY_ID_SECRET_NAME` - reference to the name of the [secret](../../datamodel/secrets.md) where `AWS_ACCESS_KEY_ID` is stored.
- `AWS_SECRET_ACCESS_KEY_SECRET_NAME` - reference to the name of the [secret](../../datamodel/secrets.md) where `AWS_SECRET_ACCESS_KEY` is stored.
- `AWS_REGION` - region from which reading will be performed, for example `ru-central-1`.
To set up a connection to a public bucket, it is enough to execute the following SQL query. The query will create an external connection named `object_storage`, which will point to a specific S3 bucket named `bucket`.
## Creating an external connection to an S3 bucket {#external-data-source-settings}
There are two types of buckets in S3: public and private. To connect to a public bucket, use `AUTH_METHOD="NONE"`. To connect to a private bucket, use `AUTH_METHOD="AWS"`. A detailed description of `AWS` can be found [here](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html). `AUTH_METHOD="NONE"` means that no authentication is used. If `AUTH_METHOD="AWS"` is specified, several additional parameters are required:
- `AWS_ACCESS_KEY_ID_SECRET_NAME` reference to the name of the [secret](../../datamodel/secrets.md) where `AWS_ACCESS_KEY_ID` is stored.
- `AWS_SECRET_ACCESS_KEY_SECRET_NAME` reference to the name of the [secret](../../datamodel/secrets.md) where `AWS_SECRET_ACCESS_KEY` is stored.
- `AWS_REGION` region from which reading is performed, for example, `ru-central-1`.
To set up a connection to a public bucket, execute the following SQL query. The query creates an external connection named `object_storage`, which points to a specific S3 bucket named `bucket`.

);
```

To set up a connection to a private bucket, you need to run a few SQL queries. First, you need to create [secrets](../../datamodel/secrets.md) containing `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To set up a connection to a private bucket, you need to run a few SQL queries. First, you need to create [secrets](../../datamodel/secrets.md) containing `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`
To set up a connection to a private bucket, you need to run a few SQL queries. First, create [secrets](../../datamodel/secrets.md) containing `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`.

CREATE OBJECT aws_access_key (TYPE SECRET) WITH (value=`<key>`);
```

The next step is to create an external connection named `object_storage`, which will point out to a specific S3 bucket named `bucket` and also use `AUTH_METHOD="AWS"`. The parameters `AWS_ACCESS_KEY_ID_SECRET_NAME`, `AWS_SECRET_ACCESS_KEY_SECRET_NAME`, and `AWS_REGION` are filled in for `AWS`. The values of these parameters are described above
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The next step is to create an external connection named `object_storage`, which will point out to a specific S3 bucket named `bucket` and also use `AUTH_METHOD="AWS"`. The parameters `AWS_ACCESS_KEY_ID_SECRET_NAME`, `AWS_SECRET_ACCESS_KEY_SECRET_NAME`, and `AWS_REGION` are filled in for `AWS`. The values of these parameters are described above
The next step is to create an external connection named `object_storage`, which points to a specific S3 bucket named `bucket` and uses `AUTH_METHOD="AWS"`. The parameters `AWS_ACCESS_KEY_ID_SECRET_NAME`, `AWS_SECRET_ACCESS_KEY_SECRET_NAME`, and `AWS_REGION` are filled in for `AWS`. The values of these parameters are described above.

);
```

The example of using the created external connection `object_storage` can be found [here](#working_with_s3).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The example of using the created external connection `object_storage` can be found [here](#working_with_s3).
An example of using the created external connection `object_storage` can be found [here](#working_with_s3).

);
```

The example of using the created external connection `object_storage` can be found [here](#working_with_s3).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This order of explanation and link back to the beginning feels odd. Instead of making people jump back and forth, we'd better create a connection first and then show how to use it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Согласен, действительно не логично. Поправил порядок

Comment on lines 25 to 33
## Создание внешнего подключения на S3 бакет {#external-data-source-settings}

Бакеты в S3 бывают двух видов: публичные и приватные. Для подключения к публичному бакету необходимо использовать `AUTH_METHOD="NONE"`, а для подключения к приватному - `AUTH_METHOD="AWS"`. Подробное описание `AWS` можно найти [здесь](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html). `AUTH_METHOD="NONE"` означает, что не нужно использовать какую либо аутентификацию. В случае `AUTH_METHOD="AWS"` необходимо указать несколько дополнительных параметров:

- `AWS_ACCESS_KEY_ID_SECRET_NAME` - ссылка на имя [секрета](../../datamodel/secrets.md) в котором хранится `AWS_ACCESS_KEY_ID`.
- `AWS_SECRET_ACCESS_KEY_SECRET_NAME` - ссылка на имя [секрета](../../datamodel/secrets.md) в котором хранится `AWS_SECRET_ACCESS_KEY`.
- `AWS_REGION` - регион из которого будет происходить чтение, например `ru-central-1`.

Для настройки соединения к публичному бакету достаточно выполнить следующий SQL-запрос. Запрос создаст внешнее подключение с именем `object_storage`, которое будет указывать на конкретный S3 бакет с именем `bucket`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Создание внешнего подключения на S3 бакет {#external-data-source-settings}
Бакеты в S3 бывают двух видов: публичные и приватные. Для подключения к публичному бакету необходимо использовать `AUTH_METHOD="NONE"`, а для подключения к приватному - `AUTH_METHOD="AWS"`. Подробное описание `AWS` можно найти [здесь](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html). `AUTH_METHOD="NONE"` означает, что не нужно использовать какую либо аутентификацию. В случае `AUTH_METHOD="AWS"` необходимо указать несколько дополнительных параметров:
- `AWS_ACCESS_KEY_ID_SECRET_NAME` - ссылка на имя [секрета](../../datamodel/secrets.md) в котором хранится `AWS_ACCESS_KEY_ID`.
- `AWS_SECRET_ACCESS_KEY_SECRET_NAME` - ссылка на имя [секрета](../../datamodel/secrets.md) в котором хранится `AWS_SECRET_ACCESS_KEY`.
- `AWS_REGION` - регион из которого будет происходить чтение, например `ru-central-1`.
Для настройки соединения к публичному бакету достаточно выполнить следующий SQL-запрос. Запрос создаст внешнее подключение с именем `object_storage`, которое будет указывать на конкретный S3 бакет с именем `bucket`.
## Создание внешнего подключения к S3-бакету {#external-data-source-settings}
Бакеты в S3 бывают двух видов: публичные и приватные. Для подключения к публичному бакету необходимо использовать `AUTH_METHOD="NONE"`, а для подключения к приватному `AUTH_METHOD="AWS"`. Подробное описание `AWS` можно найти [здесь](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html). `AUTH_METHOD="NONE"` означает, что аутентификация не требуется. В случае `AUTH_METHOD="AWS"` необходимо указать несколько дополнительных параметров:
- `AWS_ACCESS_KEY_ID_SECRET_NAME` ссылка на имя [секрета](../../datamodel/secrets.md), в котором хранится `AWS_ACCESS_KEY_ID`.
- `AWS_SECRET_ACCESS_KEY_SECRET_NAME` ссылка на имя [секрета](../../datamodel/secrets.md), в котором хранится `AWS_SECRET_ACCESS_KEY`.
- `AWS_REGION` регион, из которого будет происходить чтение, например `ru-central-1`.
Для настройки соединения с публичным бакетом достаточно выполнить следующий SQL-запрос. Запрос создаст внешнее подключение с именем `object_storage`, которое будет указывать на конкретный S3-бакет с именем `bucket`.

);
```

Для настройки соединения к приватному бакету необходимо выполнить несколько SQL-запросов. В начале нужно создать [секреты](../../datamodel/secrets.md), содержащие `AWS_ACCESS_KEY_ID` и `AWS_SECRET_ACCESS_KEY`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Для настройки соединения к приватному бакету необходимо выполнить несколько SQL-запросов. В начале нужно создать [секреты](../../datamodel/secrets.md), содержащие `AWS_ACCESS_KEY_ID` и `AWS_SECRET_ACCESS_KEY`
Для настройки соединения с приватным бакетом необходимо выполнить несколько SQL-запросов. Сначала нужно создать [секреты](../../datamodel/secrets.md), содержащие `AWS_ACCESS_KEY_ID` и `AWS_SECRET_ACCESS_KEY`.

CREATE OBJECT aws_access_key (TYPE SECRET) WITH (value=`<key>`);
```

Следующим шагом создается внешнее подключение с именем `object_storage`, которое будет указывать на конкретный S3 бакет с именем `bucket`, а также использовать `AUTH_METHOD="AWS"`, для которого заполняются параметры `AWS_ACCESS_KEY_ID_SECRET_NAME`, `AWS_SECRET_ACCESS_KEY_SECRET_NAME`, `AWS_REGION`. Значения этих параметров описаны выше
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Следующим шагом создается внешнее подключение с именем `object_storage`, которое будет указывать на конкретный S3 бакет с именем `bucket`, а также использовать `AUTH_METHOD="AWS"`, для которого заполняются параметры `AWS_ACCESS_KEY_ID_SECRET_NAME`, `AWS_SECRET_ACCESS_KEY_SECRET_NAME`, `AWS_REGION`. Значения этих параметров описаны выше
Следующим шагом создаётся внешнее подключение с именем `object_storage`, которое будет указывать на конкретный S3-бакет с именем `bucket`, а также использовать `AUTH_METHOD="AWS"`, для которого заполняются параметры `AWS_ACCESS_KEY_ID_SECRET_NAME`, `AWS_SECRET_ACCESS_KEY_SECRET_NAME`, `AWS_REGION`. Значения этих параметров описаны выше.

Copy link

github-actions bot commented Feb 7, 2025

2025-02-07 16:54:32 UTC Pre-commit check linux-x86_64-relwithdebinfo for d38fa5e has started.
2025-02-07 16:58:29 UTC Artifacts will be uploaded here
2025-02-07 17:01:03 UTC ya make is running...
🟢 2025-02-07 17:02:31 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
0 0 0 0 0 0

🟢 2025-02-07 17:02:38 UTC Build successful.

Copy link

github-actions bot commented Feb 7, 2025

✅ Documentation build

Revision built successfully
Revision preview link

Copy link

github-actions bot commented Feb 7, 2025

2025-02-07 17:01:35 UTC Pre-commit check linux-x86_64-release-asan for d38fa5e has started.
2025-02-07 17:02:00 UTC Artifacts will be uploaded here
2025-02-07 17:04:38 UTC ya make is running...
🟢 2025-02-07 17:04:44 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
0 0 0 0 0 0

🟢 2025-02-07 17:04:52 UTC Build successful.

Copy link

github-actions bot commented Feb 10, 2025

2025-02-10 14:09:48 UTC Pre-commit check linux-x86_64-release-asan for 80fe52e has started.
2025-02-10 14:10:02 UTC Artifacts will be uploaded here
2025-02-10 14:12:42 UTC ya make is running...
🟢 2025-02-10 14:14:21 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
0 0 0 0 0 0

🟢 2025-02-10 14:14:27 UTC Build successful.

Copy link

github-actions bot commented Feb 10, 2025

2025-02-10 14:10:12 UTC Pre-commit check linux-x86_64-relwithdebinfo for 80fe52e has started.
2025-02-10 14:10:25 UTC Artifacts will be uploaded here
2025-02-10 14:13:00 UTC ya make is running...
🟢 2025-02-10 14:14:37 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
0 0 0 0 0 0

🟢 2025-02-10 14:14:43 UTC Build successful.

Copy link

✅ Documentation build

Revision built successfully
Revision preview link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants