4.7.2 Поддержка хранилищ, совместимых с S3
Поддержка S3 в MySQL Shell была протестирована со следующими совместимыми с S3 хранилищами:
-
Amazon Web Services S3
Дополнительную информацию см. в документации Amazon Simple Storage Service.
-
Хранилище объектов Oracle Cloud Infrastructure
Дополнительную информацию см. в .
MySQL Shell поддерживает настройку учетных данных AWS в переменных окружения и в конфигурационных файлах.
Приоритет параметров конфигурации
Параметры конфигурации используются в порядке приоритета:
Параметр. Например,
s3Profileимеет приоритет над переменной окруженияAWS_PROFILEи профилем по умолчанию в конфигурационном файле.Переменная окружения. Например, переменная окружения
AWS_SHARED_CREDENTIALS_FILEимеет приоритет над стандартным расположением файлаcredentials,~/.aws/credentials.Переменная окружения DEFAULT, если она существует. Например, переменная окружения
AWS_REGIONи переменная окруженияAWS_DEFAULT_REGION.Параметр, определенный в конфигурационном файле.
Значения по умолчанию AWS.
Например, для региона AWS в порядке приоритета:
s3Regionпараметр.AWS_REGIONпеременная окружения.AWS_DEFAULT_REGIONпеременная окружения.Регион, определенный в конфигурационном файле.
Значение по умолчанию для
us-east-1.
Учетные данные AWS считываются в следующем порядке приоритета:
Переменные окружения, если параметр
s3Profileне определен.Файл учетных данных для указанного профиля.
credential_process, как определено в файле конфигурации. Этот тип конфигурации содержит внешнюю команду, которая извлекает или генерирует учетные данные аутентификации AWS и записывает их вstdout.Файл конфигурации для указанного профиля.
Переменные окружения
Дополнительную информацию о переменных окружения 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 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.