11.4 Утилита параллельного импорта таблиц
Утилита параллельного импорта таблиц оболочки MySQL Shell util.importTable() обеспечивает быстрый импорт данных в реляционную таблицу MySQL для больших файлов данных. Утилита анализирует входной файл данных, разбивает его на части, и загружает эти части на целевой сервер MySQL с использованием параллельных соединений. Утилита способна выполнять импорт больших данных многократно быстрее, чем стандартная однопоточная загрузка с помощью оператора.
О программе
Утилита параллельного импорта таблиц оболочки MySQL Shell поддерживает вывод утилиты экспорта таблиц оболочки MySQL Shell, которая может сжимать файл данных в качестве вывода и экспортировать его в локальную папку или в хранилище Object Storage. По умолчанию для утилиты параллельного импорта таблиц используется диалект по умолчанию для выходного файла, созданного утилитой экспорта таблиц. Утилиту параллельного импорта таблиц также можно использовать для загрузки файлов из других источников.
Файл или файлы данных для импорта могут находиться в следующих местах:
В месте, доступном клиенту-хосту в качестве локального диска.
В удалённом месте, доступном клиенту-хосту через HTTP или HTTPS, указанном с помощью URL. Сопоставление шаблонов для файлов, доступных таким образом, не поддерживается.
В хранилище Oracle Cloud Infrastructure Object Storage.
Данные импортируются в одну реляционную таблицу на сервере MySQL, к которому подключено активное сеанса MySQL.
При запуске утилиты параллельного импорта таблиц вы указываете соответствие между полями в файле или файлах данных и столбцами в таблице MySQL. Вы можете задать параметры обработки полей и строк, как и для оператора, чтобы обработать файлы данных в произвольных форматах. Для нескольких файлов все файлы должны быть в одном формате. По умолчанию утилита соответствует файлу, созданному с помощью оператора с настройками по умолчанию для этого оператора. Утилита также имеет предопределённые диалекты, которые соответствуют стандартным форматам данных для CSV-файлов (созданных в системах DOS или UNIX), TSV-файлов и JSON, и вы можете настроить их с помощью параметров обработки полей и строк, если необходимо. Обратите внимание, что данные JSON должны быть в формате «документ на строку».
В утилиту параллельного импорта таблиц с момента её появления было добавлено несколько функций, поэтому для получения полной функциональности утилиты используйте последнюю версию оболочки MySQL Shell.
- Предварительная обработка входных данных
Утилита параллельного импорта таблиц может извлекать столбцы из файла или файлов данных для предварительной обработки ввода, так же, как и с оператором.
- Импорт из Oracle Cloud Infrastructure Object Storage
Данные должны быть импортированы из места, доступного клиенту-хосту в качестве локального диска, или данные могут быть импортированы из хранилища Oracle Cloud Infrastructure Object Storage, указанного параметром
osBucketName.- Импорт из нескольких файлов данных
Утилита параллельного импорта таблиц может импортировать один входной файл данных в одну реляционную таблицу и также способна импортировать указанный список файлов, поддерживая сопоставление по шаблонам для включения всех соответствующих файлов из расположения. Несколько файлов, загруженных одной командой утилиты, помещаются в одну реляционную таблицу, поэтому, например, данные, экспортированные с нескольких хостов, могут быть объединены в одну таблицу для использования в аналитике.
- Обработка сжатых файлов
Утилита параллельного импорта таблиц может принимать несжатый входной файл данных. Утилита анализирует файл данных, разбивает его на части и загружает части в реляционную таблицу на целевом сервере MySQL, распределяя части между параллельными подключениями.
Утилита также может принимать файлы данных, сжатые в форматах
gzip(.gz) иzstd(.zst), автоматически определяя формат по расширению файла. Утилита загружает сжатый файл из хранилища в сжатом формате, экономя пропускную способность для этой части передачи.Сжатые файлы не могут быть разбиты на части, поэтому вместо этого утилита использует свои параллельные подключения для одновременной декомпрессии и загрузки нескольких файлов на целевой сервер. Если входных данных один файл, загрузка сжатого файла может использовать только одно подключение.
Утилита загрузки дампов оболочки MySQL util.loadDump() предназначена для импорта сочетания разбиения выходных файлов и метаданных, созданных утилитой дампов экземпляра оболочки MySQL util.dumpInstance(), утилитой дампов схемы util.dumpSchemas() и утилитой дампов таблиц util.dumpTables(). Утилиту параллельного импорта таблиц можно использовать в сочетании с утилитой загрузки дампов, если вы хотите изменить любые данные в разбиении выходных файлов перед их загрузкой на целевой сервер. Для этого сначала используйте утилиту загрузки дампов для загрузки только DDL для выбранной таблицы, чтобы создать таблицу на целевом сервере. Затем используйте утилиту параллельного импорта таблиц, чтобы извлечь и преобразовать данные из выходных файлов для таблицы и импортировать их в целевую таблицу. Повторяйте этот процесс по мере необходимости для любых других таблиц, где вы хотите изменить данные. Наконец, используйте утилиту загрузки дампов для загрузки DDL и данных для любых оставшихся таблиц, которые вы не хотите изменять, исключая таблицы, которые вы изменили. Описание процедуры см. в разделе Изменение данных дампов.
Требования и ограничения
Утилита параллельного импорта таблиц требует классическое подключение к целевому серверу. Она в настоящее время не поддерживает подключения X Protocol.
Утилита параллельного импорта таблиц использует операторы LOAD DATA LOCAL
INFILE для загрузки данных, поэтому переменная системы должна быть установлена на значение ON на целевом сервере. Вы можете сделать это, выполнив следующую команду в режиме SQL до запуска утилиты параллельного импорта таблиц:
SET GLOBAL local_infile = 1;
Чтобы избежать известной потенциальной проблемы безопасности с LOAD
DATA LOCAL, когда сервер MySQL отвечает утилите параллельного импорта таблиц на запросы LOAD DATA с запросами на передачу файлов, утилита отправляет только предопределенные куски данных и игнорирует любые конкретные запросы, предпринятые сервером. Подробнее см. .
Запуск утилиты
Утилита параллельного импорта таблиц требует существующего подключения по классическому протоколу MySQL к целевому серверу MySQL. Каждый поток открывает свою сессию для отправки фрагментов данных на сервер MySQL, или, в случае сжатых файлов, для одновременной отправки нескольких файлов. Вы можете настроить количество потоков, количество байтов, отправляемых в каждом фрагменте, и максимальную скорость передачи данных в каждом потоке, чтобы сбалансировать нагрузку на сеть и скорость передачи данных. Утилита не может работать через подключения X Protocol, которые не поддерживают операторы LOAD
DATA.
В API MySQL Shell утилита параллельного импорта таблиц является функцией глобального объекта util и имеет следующую сигнатуру:
importTable ({file_name | file_list}, options) options — это словарь опций импорта, который можно опустить, если он пуст. Опции перечислены в заключительной части этого раздела.
file_name — это строка, определяющая имя и путь к единственному файлу, содержащему данные для импорта. В качестве альтернативы, file_list — это массив путей к файлам, определяющий несколько файлов данных. В Windows обратные слэши в путях к файлам должны быть экранированы, или можно использовать косые слэши вместо них.
Для файлов, доступных хосту клиента на локальном диске, можно префиксровать путь к каталогу схемой
file://или разрешить ей использовать значение по умолчанию. Для файлов, доступ к которым осуществляется таким образом, пути к файлам могут содержать подстановочные символы*(несколько символов) и?(один символ) для сопоставления с образцом. Обратите внимание, что если эти подстановочные символы присутствуют в путях к файлам, утилита рассматривает их как подстановочные символы и, следовательно, может попытаться применить неверную стратегию для передачи файлов.Для файлов, доступных хосту клиента через HTTP или HTTPS, укажите URL-адрес или список URL-адресов, префиксрованных соответствующими схемами
http://илиhttps://в форматеhttp[s]://host.domain[:port]/path. Для файлов, доступ к которым осуществляется таким образом, сопоставление с образцом недоступно. Сервер HTTP должен поддерживать заголовок запроса Range и возвращать заголовок ответа Content-Range клиенту.Для файлов в ведре хранилища объектов Oracle Cloud Infrastructure укажите путь к файлу в ведре и используйте опцию
osBucketNameдля указания имени ведра.
Функция возвращает значение void или исключение в случае ошибки. Если импорт прерывается пользователем с помощью Ctrl+C или из-за ошибки, утилита прекращает отправку данных. Когда сервер завершает обработку полученных данных, возвращаются сообщения, показывающие фрагмент, который импортировался каждым потоком в момент остановки, процент завершения и количество записей, обновленных в целевой таблице.
Следующие примеры, первый в режиме JavaScript MySQL Shell, а второй в режиме Python MySQL Shell, импортируют данные из единственного CSV-файла /tmp/productrange.csv в таблицу products в базе данных mydb, пропуская заголовок строки файла:
mysql-js> util.importTable("/tmp/productrange.csv", {schema: "mydb", table: "products", dialect: "csv-unix", skipRows: 1, showProgress: true})
mysql-py> util.import_table("/tmp/productrange.csv", {"schema": "mydb", "table": "products", "dialect": "csv-unix", "skipRows": 1, "showProgress": True})
Следующий пример в режиме Python MySQL Shell указывает только диалект для CSV-файла. mydb — это активная схема для сессии MySQL Shell. Таким образом, утилита импортирует данные из файла /tmp/productrange.csv в таблицу productrange в базе данных mydb:
mysql-py> \use mydb
mysql-py> util.import_table("/tmp/productrange.csv", {"dialect": "csv-unix"})
Следующий пример в режиме Python MySQL Shell импортирует данные из нескольких файлов, включая набор файлов с индивидуальными именами, диапазоны файлов, указанные с использованием подстановочных символов, и сжатые файлы:
mysql-py> util.import_table(
[
"data_a.csv",
"data_b*",
"data_c*",
"data_d.tsv.zst",
"data_e.tsv.zst",
"data_f.tsv.gz",
"/backup/replica3/2021_01_12/data_g.tsv",
"/backup/replica3/2021_01_13/*.tsv",
],
{"schema": "mydb", "table": "productrange"}
) Утилиту параллельного импорта таблиц также можно вызвать из командной строки с помощью командного интерфейса mysqlsh. С этим интерфейсом утилиту вызывают, как показано в следующих примерах:
mysqlsh mysql://root:@127.0.0.1:3366 --ssl-mode=DISABLED -- util import-table /r/mytable.dump --schema=mydb --table=regions --bytes-per-chunk=10M --linesTerminatedBy=$'\r\n'
При импорте нескольких файлов данных, диапазоны файлов, указанные с использованием подстановочных символов, расширяются логикой сопоставления с образцом glob MySQL Shell, если они заключены в кавычки, как в следующем примере. В противном случае они расширяются логикой сопоставления с образцом для оболочки пользователя, в которой вы ввели команду mysqlsh.
mysqlsh mysql://root:@127.0.0.1:3366 -- util import-table data_a.csv "data_b*" data_d.tsv.zst --schema=mydb --table=productrange --osBucketName=mybucket
Обратите внимание, что, как показано в приведенном выше примере, символы новой строки должны передаваться с использованием цитирования ANSI-C в оболочках, которые поддерживают эту функцию (таких как bash, ksh, mksh и zsh). Подробную информацию о интеграции с mysqlsh в командной строке см. в разделе 5.8 «Интеграция API командной строки».
Параметры импорта таблиц
Следующие параметры импорта доступны для утилиты параллельного импорта таблиц, чтобы указать, как данные будут импортироваться:
-
schema: "db_name" Имя целевой базы данных на подключенном сервере MySQL. Если вы опустите этот параметр, утилита попытается определить и использовать имя схемы, используемой для текущего сеанса MySQL Shell, как указано в строке подключения URI, команде
\useили параметре MySQL Shell. Если имя схемы не указано и не может быть определено из сеанса, возвращается ошибка.-
table: "table_name" Имя целевой реляционной таблицы. Если вы опустите этот параметр, утилита предполагает, что имя таблицы — это имя файла данных без расширения. Целевая таблица должна существовать в целевой базе данных.
-
columns:array of column names -
Массив строк, содержащий имена столбцов из файла или файлов импорта в порядке, соответствующем столбцам в целевой реляционной таблице. Используйте этот параметр, если импортируемые данные не содержат все столбцы целевой таблицы или если порядок полей в импортируемых данных отличается от порядка столбцов в таблице. Если вы опустите этот параметр, ожидается, что строки ввода будут содержать соответствующее поле для каждого столбца в целевой таблице.
Вы можете использовать этот параметр для захвата столбцов из файла или файлов импорта для предобработки входных данных, аналогично выполнению оператора. Когда вы используете целочисленное значение вместо имени столбца в массиве, этот столбец из файла или файлов импорта захватывается как переменная пользователя
@, напримерint@1. Захваченные данные можно проигнорировать или использовать параметрdecodeColumnsдля преобразования данных и присвоения их столбцу в целевой таблице.В этом примере в режиме JavaScript MySQL Shell второй и четвёртый столбцы из файла импорта присваиваются переменным пользователя
@1и@2, и параметрdecodeColumnsдля их присвоения столбцам целевой таблицы отсутствует, поэтому они игнорируются.mysql-js>
util.importTable('file.txt', { table: 't1', columns: ['column1', 1, 'column2', 2, 'column3'] }); -
decodeColumns:dictionary -
Словарь пар ключ-значение, который присваивает столбцы из файла импорта, захваченные как переменные пользователя с помощью параметра
columns, столбцам в целевой таблице и определяет преобразования предобработки для них таким же образом, как и клаузаSETоператора.В этом примере в режиме JavaScript MySQL Shell первый входной столбец из файла данных используется как первый столбец в целевой таблице. Второй входной столбец, которому была присвоена переменная
@1с помощью параметраcolumns, подвергается операцию деления перед использованием в качестве значения второго столбца в целевой таблице.mysql-js>
util.importTable('file.txt', { columns: ['column1', 1], decodeColumns: {'column2': '@1 / 100'} });В этом примере в режиме JavaScript MySQL Shell входные столбцы из файла данных присваиваются переменным, затем преобразуются различными способами и используются для заполнения столбцов целевой таблицы:
mysql-js>
util.importTable('file.txt', { table: 't1', columns: [1, 2], decodeColumns: { 'a': '@1', 'b': '@2', 'sum': '@1 + @2', 'multiple': '@1 * @2', 'power': 'POW(@1, @2)' } }); -
skipRows:number Пропустить указанное количество строк в начале файла импорта или, в случае нескольких файлов импорта, в начале каждого файла, включённого в список файлов. Этот параметр можно использовать для пропуска начальной строки заголовков, содержащей имена столбцов, при загрузке в таблицу. По умолчанию строки не пропускаются.
-
replaceDuplicates: [true|false] Если строки ввода, имеющие такое же значение для первичного ключа или уникального индекса, как и существующая строка, должны быть заменены (
true) или пропущены (false). По умолчанию используется значениеfalse.-
dialect: [default|csv|csv-unix|tsv|json] -
Используйте набор параметров обработки полей и строк, подходящих для указанного формата файла. Вы можете использовать выбранный диалект в качестве основы для дальнейшей настройки, также указав один или несколько параметров
linesTerminatedBy,fieldsTerminatedBy,fieldsEnclosedBy,fieldsOptionallyEnclosedиfieldsEscapedByдля изменения настроек. По умолчанию диалект соответствует файлу, созданному с помощью оператора со значениями параметров по умолчанию для этого оператора. Это значение по умолчанию для выходного файла, созданного утилитой экспорта таблиц MySQL Shell. Доступны другие диалекты для CSV-файлов (созданных как на системах DOS, так и на системах UNIX), TSV-файлов и JSON-данных. Настройки, применяемые для каждого диалекта, указаны ниже:Таблица 11.2 Параметры диалекта для утилиты параллельного импорта таблиц
Таблица 11.2 Параметры диалекта для утилиты параллельного импорта таблиц dialectlinesTerminatedByfieldsTerminatedByfieldsEnclosedByfieldsOptionallyEnclosedfieldsEscapedBydefault[LF]
[TAB]
[empty]
false\
csv[CR][LF]
,
''
true\
csv-unix[LF]
,
''
false\
tsv[CR][LF]
[TAB]
''
true\
json[LF]
[LF]
[empty]
false[empty]
ПримечаниеЗначения возврата каретки и перевода строки для диалектов независимы от операционной системы.
Если вы используете параметры
linesTerminatedBy,fieldsTerminatedBy,fieldsEnclosedBy,fieldsOptionallyEnclosedиfieldsEscapedBy, в зависимости от правил экранирования вашей оболочки команд, символ обратного слэша (\) может потребоваться удвоить, если вы используете его в значениях параметров.Как и сервер MySQL с оператором , MySQL Shell не проверяет параметры обработки полей и строк, которые вы указываете. Неправильный выбор этих параметров может привести к тому, что данные будут импортированы в неправильные поля, частично и/или некорректно. Всегда проверяйте свои настройки перед запуском импорта и проверяйте результаты после него.
-
linesTerminatedBy: "characters" Один или несколько символов (или пустая строка), которые завершают каждую строку в файле или файлах входных данных. Значение по умолчанию соответствует указанному диалекту или символу перевода строки (
\n), если параметр диалекта опущен. Этот параметр эквивалентен параметруLINES TERMINATED BYоператора . Обратите внимание, что утилита не предоставляет эквивалента параметраLINES STARTING BYоператораLOAD DATA, который установлен в пустую строку.-
fieldsTerminatedBy: "characters" Один или несколько символов (или пустая строка), которые завершают каждое поле в файле или файлах входных данных. Значение по умолчанию соответствует указанному диалекту или символу табуляции (
\t), если параметр диалекта опущен. Этот параметр эквивалентен параметруFIELDS TERMINATED BYоператора .-
fieldsEnclosedBy: "character" Один символ (или пустая строка), который заключает каждое поле в файле или файлах входных данных. Значение по умолчанию соответствует указанному диалекту или пустая строка, если параметр диалекта опущен. Этот параметр эквивалентен параметру
FIELDS ENCLOSED BYоператора .-
fieldsOptionallyEnclosed: [ true | false ] Заключает ли символ, заданный для
fieldsEnclosedBy, все поля в файле или файлах входных данных (false) или заключается поля только в некоторых случаях (true). По умолчанию значение соответствует указанному диалекту илиfalse, если параметр диалекта опущен. Этот параметр делает параметрfieldsEnclosedByэквивалентным параметруFIELDS OPTIONALLY ENCLOSED BYоператора .-
fieldsEscapedBy: "character" Символ, который начинает последовательности экранирования в файле или файлах входных данных. Если он не указан, интерпретация последовательностей экранирования не происходит. Значение по умолчанию соответствует указанному диалекту или обратный слэш (\), если параметр диалекта опущен. Этот параметр эквивалентен параметру
FIELDS ESCAPED BYоператора .-
characterSet: "charset" Этот параметр задает кодировку набора символов, в которой интерпретируются входные данные при импорте. Установка параметра в
binaryозначает, что преобразования при импорте не выполняются. Если параметр опущен, для интерпретации входных данных используется кодировка символов, заданная системной переменной.-
bytesPerChunk: "size" Для списка нескольких файлов входных данных этот параметр недоступен. Для одного файла входных данных этот параметр задаёт количество байтов (плюс любые дополнительные байты, необходимые для достижения конца строки), которые потоки отправляют для каждого вызова целевого сервера. Утилита распределяет данные на фрагменты этого размера для потоков, которые собирают и отправляют их на целевой сервер. Размер фрагмента можно указать в байтах или с использованием суффиксов k (килобайты), M (мегабайты), G (гигабайты). Например,
bytesPerChunk="2k"заставляет потоки отправлять фрагменты приблизительно в 2 килобайта. Минимальный размер фрагмента составляет 131072 байта, а значение по умолчанию — 50 Мбайт.-
threads:number
-
Максимальное количество параллельных потоков для отправки данных из входного файла или файлов на целевой сервер. Если вы не указываете количество потоков, используется максимальное значение по умолчанию — 8. Для списка нескольких входных файлов утилита создает указанное или максимальное количество потоков. Для единственного входного файла утилита рассчитывает подходящее количество потоков до этого максимума, используя следующую формулу:
min{max{1, threads}, chunks}}где
threads— максимальное количество потоков, аchunks— количество фрагментов, на которые данные будут разделены, вычисляется путём деления размера файла на размерbytesPerChunk, а затем добавления 1. Вычисление гарантирует, что если максимальное количество потоков превышает фактическое количество отправляемых фрагментов, утилита не создаст больше потоков, чем необходимо.Сжатые файлы не могут быть разделены на фрагменты, поэтому утилита вместо этого использует свои параллельные подключения для загрузки нескольких файлов одновременно. Если имеется только один входной файл данных, загрузка сжатого файла может использовать только одно подключение.
-
maxRate: "rate" Максимальный предел пропускной способности данных в байтах в секунду на поток. Используйте этот параметр, если необходимо избежать перегрузки сети или ввода-вывода или ЦП для клиентского узла или целевого сервера. Максимальная скорость может быть указана как число байтов или с использованием суффиксов k (килобайты), M (мегабайты), G (гигабайты). Например,
maxRate="5M"ограничивает каждый поток до 5 МБ данных в секунду, что для восьми потоков даёт скорость передачи 40 МБ/с. По умолчанию значение равно 0, что означает отсутствие ограничения.-
showProgress: [ true | false ] Отображать (
true) или скрывать (false) информацию о ходе импорта. По умолчанию значение равноtrue, если stdout является терминалом (tty), иfalseв противном случае.-
sessionInitSql:list of strings -
Список SQL-запросов, которые необходимо выполнить в начале каждой клиентской сессии для загрузки данных в целевой экземпляр MySQL. Вы можете использовать этот параметр для изменения переменных сессии. Например, следующие запросы пропускают двоичный журналик на целевом экземпляре MySQL для сессий, используемых утилитой в ходе импорта, и увеличивают количество потоков, доступных для создания индексов:
sessionInitSQL: ["SET SESSION sql_log_bin=0;", "SET SESSION innodb_ddl_threads=8,"]
Если при выполнении SQL-запросов произойдет ошибка, импорт прекратится и будет возвращено сообщение об ошибке.
Параметры для Oracle Cloud Infrastructure
MySQL Shell поддерживает импорт входных файлов данных, хранящихся в ведрах Oracle Cloud Infrastructure Object Storage.
-
osBucketName: "string" Название ведра Oracle Cloud Infrastructure Object Storage, в котором находится входной файл данных. По умолчанию используется профиль
[DEFAULT]в файле конфигурации Oracle Cloud Infrastructure CLI, расположенном по адресу~/.oci/config, для подключения к ведру. Вы можете заменить его альтернативным профилем, используя параметрыociConfigFileиociProfile. Инструкции по настройке файла конфигурации CLI см. на странице Файл конфигурации SDK и CLI.-
osNamespace: "string" Пространство имён Oracle Cloud Infrastructure, в котором расположено ведро Object Storage, имя которого указано в
osBucketName. Пространство имён для ведра Object Storage отображается на вкладке «Информация о ведре» страницы сведений о ведре в консоли Oracle Cloud Infrastructure или может быть получено с помощью командной строки Oracle Cloud Infrastructure.-
ociConfigFile: "string" Файл конфигурации Oracle Cloud Infrastructure CLI, содержащий профиль, используемый для подключения, вместо файла в стандартном расположении
~/.oci/config.-
ociProfile: "string" Имя профиля Oracle Cloud Infrastructure, используемого для подключения, вместо профиля
[DEFAULT]в файле конфигурации Oracle Cloud Infrastructure CLI, используемом для подключения.
Параметры для совместимых с S3 служб
MySQL Shell поддерживает импорт входных файлов данных, хранящихся в совместимых с S3 ведрах, таких как Amazon Web Services (AWS) S3.
MySQL Shell поддерживает конфигурацию AWS S3 в параметрах командной строки, переменных среды и конфигурационных файлах. Параметры командной строки имеют приоритет над переменными среды, конфигурационными файлами и параметрами по умолчанию.
Сведения о требованиях к конфигурации см. в разделе 4.7 «Конфигурация облачной службы».
-
s3BucketName: "string" Название ведра S3, в котором находятся файлы дампов. По умолчанию используется профиль
defaultв файлах конфигурации Amazon Web Services (AWS) CLIconfigиcredentials, расположенных по адресу~/.aws/, для подключения к ведру S3. Вы можете заменить альтернативные конфигурации и учетные данные для подключения, используя параметрыs3ConfigFileиs3CredentialsFile. Инструкции по установке и настройке AWS CLI см. на странице Начало работы с AWS CLI.-
s3CredentialsFile: "string" Файл учетных данных, содержащий учетные данные пользователя для подключения вместо файла по умолчанию по адресу
~/.aws/credentials. Обычно файл учетных данных содержитaws_access_key_idиaws_secret_access_keyдля подключения.-
s3ConfigFile: "string" Файл конфигурации AWS CLI, содержащий профиль, используемый для подключения, вместо файла по умолчанию по адресу
~/.aws/config. Обычно в этом файле содержатся регион и тип вывода для подключения.-
s3Profile: "string" Имя профиля s3 CLI, используемого для подключения, вместо профиля
defaultв файле конфигурации AWS CLI, используемом для подключения.-
s3Region: "string" Название региона, используемого для подключения.
-
s3EndpointOverride: "string" -
URL конечной точки, используемой вместо значения по умолчанию.
При подключении к совместимому с S3 API Oracle Cloud Infrastructure конечная точка имеет следующий формат:
https://. Заменитеnamespace.compat.objectstorage.region.oraclecloud.comnamespaceна пространство имён Object Storage иregionна идентификатор вашего региона. Например, идентификатор региона для региона США Восточный (Эшберн) —us-ashburn-1.Для пространства имён с именем axaxnpcrorw5 в регионе США Восточный (Эшберн):
https://axaxnpcrorw5.compat.objectstorage.us-ashburn-1.oraclecloud.com.
Параметры для Microsoft Azure Blob Storage
MySQL Shell поддерживает импорт из Microsoft Azure Blob Storage.
MySQL Shell поддерживает конфигурацию Microsoft Azure Blob Storage в параметрах командной строки, переменных среды и конфигурационных файлах. Параметры командной строки имеют приоритет над переменными среды и конфигурационными файлами.
Сведения о требованиях к конфигурации и порядке приоритета типов конфигурации см. в разделе 4.7 «Конфигурация облачной службы».
-
azureContainerName: "string" Обязательно. Название Azure-контейнера, из которого необходимо импортировать таблицу. Контейнер должен существовать.
-
azureConfigFile: "string" -
Необязательно. Файл конфигурации, содержащий параметры подключения к хранилищу вместо файла по умолчанию, например,
~/.azure/config. Если он не определён, используется файл конфигурации по умолчанию.azureContainerNameдолжен быть определён и не должен быть пустым. -
azureStorageAccount: "string" Необязательно. Название Azure-хранилища, используемого для операции.
-
azureStorageSasToken: "string" Необязательно. Токен Azure Shared Access Signature (SAS), используемый для аутентификации операции вместо ключа.
© 2025 Oracle
Licensed under the GPLv2 License.