Spec-Zone.ru › MySQL Shell 8.4

4.7.2 Поддержка хранилищ, совместимых с S3

Поддержка S3 в MySQL Shell была протестирована со следующими совместимыми с S3 хранилищами:

  • Amazon Web Services S3

    Дополнительную информацию см. в документации Amazon Simple Storage Service.

  • Хранилище объектов Oracle Cloud Infrastructure

    Дополнительную информацию см. в .

MySQL Shell поддерживает настройку учетных данных AWS в переменных окружения и в конфигурационных файлах.

  • Приоритет параметров конфигурации

  • Переменные окружения

  • Конфигурационные файлы

  • Стратегия повторных подключений

Приоритет параметров конфигурации

Параметры конфигурации используются в порядке приоритета:

  1. Параметр. Например, s3Profile имеет приоритет над переменной окружения AWS_PROFILE и профилем по умолчанию в конфигурационном файле.

  2. Переменная окружения. Например, переменная окружения AWS_SHARED_CREDENTIALS_FILE имеет приоритет над стандартным расположением файла credentials, ~/.aws/credentials.

  3. Переменная окружения DEFAULT, если она существует. Например, переменная окружения AWS_REGION и переменная окружения AWS_DEFAULT_REGION.

  4. Параметр, определенный в конфигурационном файле.

  5. Значения по умолчанию AWS.

Например, для региона AWS в порядке приоритета:

  1. s3Region параметр.

  2. AWS_REGION переменная окружения.

  3. AWS_DEFAULT_REGION переменная окружения.

  4. Регион, определенный в конфигурационном файле.

  5. Значение по умолчанию для us-east-1.

Учетные данные AWS считываются в следующем порядке приоритета:

  1. Переменные окружения, если параметр s3Profile не определен.

  2. Файл учетных данных для указанного профиля.

  3. credential_process, как определено в файле конфигурации. Этот тип конфигурации содержит внешнюю команду, которая извлекает или генерирует учетные данные аутентификации AWS и записывает их в stdout.

  4. Файл конфигурации для указанного профиля.

Переменные окружения

Дополнительную информацию о переменных окружения AWS см. в Переменные окружения для настройки AWS CLI

Вы можете определить следующие переменные окружения, специфичные для AWS S3:

  • AWS_PROFILE: Указывает имя профиля для использования. Это может быть имя профиля в файлах credentials или config, или значение default для использования профиля по умолчанию. Эта переменная окружения переопределяет профиль [default], указанный в конфигурационном файле. Вы можете переопределить эту переменную окружения параметром --s3Profile.

  • AWS_SHARED_CREDENTIALS_FILE: Путь к файлу, используемому для хранения ключей доступа. Например, ~/.aws/credentials.

  • AWS_CONFIG_FILE: Путь к файлу, используемому для хранения профилей конфигурации. Например, ~/.aws/config.

  • AWS_REGION: Указывает регион AWS для отправки запроса. Это значение переопределяет переменную окружения AWS_DEFAULT_REGION и значение profile, определенное в конфигурационном файле.

  • AWS_DEFAULT_REGION: Указывает регион AWS для отправки запроса. Это значение переопределяется параметром --s3Region и переменной окружения AWS_REGION, если они указаны.

  • AWS_ACCESS_KEY_ID: Указывает ключ доступа AWS, связанный с пользователем IAM или ролью.

  • AWS_SECRET_ACCESS_KEY: Указывает секретный ключ, связанный с ключом доступа. Эта переменная переопределяет значение aws_secret_access_key, определенное в профиле.

  • AWS_SESSION_TOKEN: Указывает значение маркера сеанса, необходимого при использовании временных учетных данных безопасности. Эта переменная переопределяет значение aws_session_token, определенное в профиле.

Конфигурационные файлы

MySQL Shell требует следующих параметров в одном или нескольких конфигурационных файлах:

  • aws_access_key_id: Указывает ключ доступа, связанный с пользователем. Если его нет, генерируется исключение.

  • aws_secret_access_key: Указывает секретный ключ, связанный с ключом доступа. Если его нет, генерируется исключение.

  • aws_session_token: Указывает маркер сеанса, необходимый при использовании временных учетных данных безопасности. Если его нет, он не используется для аутентификации пользователя.

  • region: Указывает регион облачной службы. Если его нет, используется значение по умолчанию us-east-1.

  • credential_process: Этот тип конфигурации содержит внешнюю команду, которая извлекает или генерирует учетные данные аутентификации AWS и записывает их в stdout.

    Примечание

    credential_process может быть определен только в файле config.

    Дополнительную информацию см. в следующем:

    • Процесс AWS Credentials

    • Параметры конфигурации и учетных данных AWS

    • Получение учетных данных AWS с помощью внешнего процесса

Если вы установили и настроили AWS CLI, MySQL Shell автоматически считывает параметры подключения из стандартного расположения, .aws/. Чтобы использовать альтернативную конфигурацию, используйте соответствующие параметры переопределения в командной строке.

Если вы используете API совместимости S3 от Oracle Cloud Infrastructure, см. для получения информации о создании необходимых учетных данных.

Примечание

По умолчанию AWS CLI создаёт два конфигурационных файла, config, который хранит параметры, такие как регион и формат вывода, и credentials, который хранит ключи доступа и токены сеансов. Также возможно разместить все параметры конфигурации в одном файле, config. Дополнительную информацию см. в Настройка и параметры аутентификации AWS. Однако, если вы определили ключи доступа и секретные ключи доступа в обоих файлах, те, что определены в файле credentials, имеют приоритет.

Следующий пример показывает стандартные файлы конфигурации AWS CLI:

        /home/.aws/credentials

        [default]
        aws_access_key_id = AKIA6AV......
        aws_secret_access_key = XHRY579I.....

        /home/.aws/config

        [default]
        region = us-west-1
        output = json

      

Стратегия повторных подключений

Все неудачные подключения к AWS S3 повторно пытаются трижды с задержкой в 1 секунду между попытками.

Если ошибка возникает через 10 минут после создания подключения, задержка меняется на экспоненциальную стратегию отката:

  • Первая задержка: 3-6 секунд

  • Вторая задержка: 18-36 секунд

  • Третья задержка: 40-80 секунд

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-shell-8.4-en/mysql-shell-cloud-service-configuration-s3api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API