MySQL Shell 9.0  /  MySQL Shell 工具  /  平行表格匯入工具

11.4 平行表格匯入工具

MySQL Shell 的平行表格匯入工具 util.importTable() 可為大型資料檔案提供快速資料匯入至 MySQL 關聯式表格的功能。此工具會分析輸入資料檔案,將其分散成區塊,並使用平行連線將區塊上傳至目標 MySQL 伺服器。此工具完成大型資料匯入的速度,比使用 LOAD DATA 陳述式的標準單執行緒上傳快上許多倍。

關於此工具

MySQL Shell 的平行表格匯入工具支援 MySQL Shell 表格匯出工具的輸出,該工具可以壓縮其產生的輸出資料檔案,並將其匯出至本機資料夾或物件儲存儲存貯體。平行表格匯入工具的預設方言是表格匯出工具產生的輸出檔案的預設方言。平行表格匯入工具也可以用來上傳來自其他來源的檔案。

要匯入的資料檔案可以位於以下任何位置

  • 用戶端主機可存取為本機磁碟的位置。

  • 用戶端主機可透過 HTTP 或 HTTPS 存取的遠端位置,以 URL 指定。不支援以此方式存取檔案的模式比對。

  • Oracle Cloud Infrastructure 物件儲存儲存貯體。

資料會匯入至作用中 MySQL 工作階段連線的 MySQL 伺服器中的單一關聯式表格。

執行平行表格匯入工具時,您需指定資料檔案中欄位與 MySQL 表格中欄位的對應關係。您可以設定欄位和行處理選項,如同 LOAD DATA 陳述式,以處理任意格式的資料檔案。對於多個檔案,所有檔案必須採用相同格式。此工具的預設方言會對應到使用 SELECT...INTO OUTFILE 陳述式 (採用該陳述式的預設設定) 所建立的檔案。此工具也有預設的方言,會對應至 CSV 檔案 (在 DOS 或 UNIX 系統上建立)、TSV 檔案和 JSON 的標準資料格式,您可以視需要使用欄位和行處理選項自訂這些方言。請注意,JSON 資料必須採用每行一個文件的格式。

自平行表格匯入工具推出以來,已新增許多功能,因此請使用最新版的 MySQL Shell 以取得此工具的完整功能。

輸入前處理

平行表格匯入工具可以從資料檔案擷取欄位以進行輸入前處理,方式與使用 LOAD DATA 陳述式相同。可以捨棄選取的資料,或者您可以轉換資料並將其指派給目標表格中的欄位。

Oracle Cloud Infrastructure 物件儲存匯入

資料必須從用戶端主機可存取為本機磁碟的位置匯入,或者資料可以從 Oracle Cloud Infrastructure 物件儲存儲存貯體匯入,方法是使用 osBucketName 選項指定。

多個資料檔案匯入

平行表格匯入工具可以將單一輸入資料檔案匯入至單一關聯式表格,而且也可以匯入指定的檔案清單,並且支援萬用字元模式比對,以包含來自某個位置的所有相關檔案。由單一工具執行所上傳的多個檔案會放置在單一關聯式表格中,因此,舉例來說,可以將從多個主機匯出的資料合併到單一表格中,以用於分析。

壓縮檔案處理

平行表格匯入工具可以接受未壓縮的輸入資料檔案。此工具會分析資料檔案,將其分散成區塊,並將區塊上傳至目標 MySQL 伺服器中的關聯式表格,並在平行連線之間分割區塊。此工具也可以接受以 gzip (.gz) 和 zstd (.zst) 格式壓縮的資料檔案,並根據副檔名自動偵測格式。此工具會從儲存空間以上傳壓縮格式的壓縮檔案,以節省該部分傳輸的頻寬。壓縮檔案無法分散成區塊,因此,此工具會改用其平行連線來解壓縮並同時將多個檔案上傳至目標伺服器。如果只有一個輸入資料檔案,壓縮檔案的上傳只能使用單一連線。

MySQL Shell 的傾印載入工具 util.loadDump() 的設計目的是匯入 MySQL Shell 執行個體傾印工具 util.dumpInstance()、結構描述傾印工具 util.dumpSchemas() 和表格傾印工具 util.dumpTables() 所產生的區塊式輸出檔案和中繼資料組合。如果您想要在將區塊式輸出檔案上傳至目標伺服器之前修改其中的任何資料,則可以結合使用平行表格匯入工具與傾印載入工具。若要執行此操作,請先使用傾印載入工具僅載入選取表格的 DDL,以在目標伺服器上建立表格。然後使用平行表格匯入工具從表格的輸出檔案擷取並轉換資料,並將其匯入至目標表格。視需要針對任何您想要修改資料的其他表格重複該程序。最後,使用傾印載入工具載入任何您不想要修改之其餘表格的 DDL 和資料,但不包括您修改的表格。如需此程序的說明,請參閱修改傾印的資料

需求與限制

平行表格匯入工具使用 LOAD DATA LOCAL INFILE 陳述式上傳資料,因此目標伺服器上的 local_infile 系統變數必須設定為 ON。您可以在執行平行表格匯入工具之前,先在 SQL 模式下發出下列陳述式來執行此操作

SET GLOBAL local_infile = 1;

為了避免 LOAD DATA LOCAL 已知的潛在安全性問題,當 MySQL 伺服器回覆平行表格匯入工具的 LOAD DATA 檔案傳輸要求時,此工具只會傳送預先決定的資料區塊,並忽略伺服器嘗試的任何特定要求。如需詳細資訊,請參閱LOAD DATA LOCAL 的安全性考量

執行工具

平行表格匯入工具需要與目標 MySQL 伺服器建立現有的傳統 MySQL 通訊協定連線。每個執行緒都會開啟自己的工作階段,將資料區塊傳送至 MySQL 伺服器,或者在壓縮檔案的情況下,平行傳送多個檔案。您可以調整執行緒數量、每個區塊中傳送的位元組數量,以及每個執行緒的最大資料傳輸速率,以平衡網路上的負載和資料傳輸速度。此工具無法透過不支援 LOAD DATA 陳述式的 X 通訊協定連線運作。

在 MySQL Shell API 中,平行表格匯入工具是 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 或因錯誤而中途停止匯入,則此工具會停止傳送資料。當伺服器完成處理收到的資料時,會傳回訊息,顯示每個執行緒當時正在匯入的區塊、完成百分比,以及目標表格中更新的記錄數。

以下範例中,第一個範例使用 MySQL Shell 的 JavaScript 模式,第二個範例使用 MySQL Shell 的 Python 模式,皆將單一 CSV 檔案 /tmp/productrange.csv 中的資料匯入 mydb 資料庫的 products 表格,並跳過檔案中的標頭列。

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})

以下範例使用 MySQL Shell 的 Python 模式,僅指定 CSV 檔案的方言 (dialect)。 mydb 是 MySQL Shell 工作階段的啟用綱要。因此,此公用程式會將 /tmp/productrange.csv 檔案中的資料匯入 mydb 資料庫中的 productrange 表格。

mysql-py> \use mydb
mysql-py> util.import_table("/tmp/productrange.csv", {"dialect": "csv-unix"})

以下範例使用 MySQL Shell 的 Python 模式,從多個檔案匯入資料,包括個別命名的檔案、使用萬用字元模式比對指定的檔案範圍,以及壓縮檔案。

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'

當您匯入多個資料檔案時,如果使用引號括住,則使用萬用字元模式比對指定的檔案範圍會由 MySQL Shell 的 glob 模式比對邏輯展開,如下列範例所示。否則,它們會由您輸入 mysqlsh 命令的使用者 shell 的模式比對邏輯展開。

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

請注意,如上述範例所示,換行字元必須在使用此功能的 shell 中使用 ANSI-C 引號傳遞 (例如 bashkshmkshzsh)。如需 mysqlsh 命令列整合的相關資訊,請參閱 第 5.8 節,「API 命令列整合」

匯入表格的選項

以下匯入選項可用於平行表格匯入公用程式,以指定如何匯入資料。

schema: "db_name"

已連線 MySQL 伺服器上目標資料庫的名稱。如果您省略此選項,公用程式會嘗試識別並使用目前 MySQL Shell 工作階段所使用的綱要名稱,如連線 URI 字串、\use 命令或 MySQL Shell 選項中所指定。如果未指定綱要名稱且無法從工作階段中識別,則會傳回錯誤。

table: "table_name"

目標關聯式表格的名稱。如果您省略此選項,公用程式會假設表格名稱為資料檔案的名稱,不含副檔名。目標表格必須存在於目標資料庫中。

columns: column names 的陣列

包含匯入檔案中欄名稱的字串陣列,按照它們對應到目標關聯式表格中欄的順序給定。如果匯入的資料不包含目標表格的所有欄,或者匯入的資料中欄位的順序與表格中欄的順序不同,請使用此選項。如果您省略此選項,則輸入行預期會包含目標表格中每個欄的相符欄位。

您可以使用此選項從匯入檔案擷取欄以進行輸入前置處理,與 LOAD DATA 陳述式的方式相同。當您在陣列中使用整數值來代替欄名稱時,匯入檔案中的該欄會被擷取為使用者變數 @int,例如 @1。選取的資料可以被捨棄,或者您可以使用 decodeColumns 選項來轉換資料並將其指派給目標表格中的欄。

在 MySQL Shell 的 JavaScript 模式的此範例中,匯入檔案中的第二和第四欄會指派給使用者變數 @1@2,並且沒有 decodeColumns 選項將它們指派給目標表格中的任何欄,因此它們會被捨棄。

mysql-js> util.importTable('file.txt', {
            table: 't1',
            columns: ['column1', 1, 'column2', 2, 'column3']
          });
decodeColumns: dictionary

鍵值對的字典,將由 columns 選項擷取為使用者變數的匯入檔案欄指派給目標表格中的欄,並指定它們的前置處理轉換,與 LOAD DATA 陳述式的 SET 子句方式相同。

在 MySQL Shell 的 JavaScript 模式的此範例中,資料檔案的第一個輸入欄會用作目標表格中的第一欄。第二個輸入欄,已由 columns 選項指派給變數 @1,會在用作目標表格中第二欄的值之前,進行除法運算。

mysql-js> util.importTable('file.txt', {
            columns: ['column1', 1],
            decodeColumns: {'column2': '@1 / 100'}
          });

在 MySQL Shell 的 JavaScript 模式的此範例中,資料檔案中的輸入欄都會指派給變數,然後以各種方式轉換,並用來填入目標表格的欄。

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]

使用一組適用於指定檔案格式的欄位和行處理選項。您可以使用選定的方言作為進一步自訂的基礎,方法是也指定一或多個 linesTerminatedByfieldsTerminatedByfieldsEnclosedByfieldsOptionallyEnclosedfieldsEscapedBy 選項來變更設定。預設方言會對應到使用 SELECT...INTO OUTFILE 陳述式以該陳述式的預設設定建立的檔案。這是 MySQL Shell 的表格匯出公用程式產生的輸出檔案的預設值。其他方言可用於符合 CSV 檔案 (在 DOS 或 UNIX 系統上建立)、TSV 檔案和 JSON 資料。每個方言的套用設定如下

表格 11.2 平行表格匯入公用程式的方言設定

dialect

linesTerminatedBy

fieldsTerminatedBy

fieldsEnclosedBy

fieldsOptionallyEnclosed

fieldsEscapedBy

default

[LF]

[TAB]

[空]

false

\

csv

[CR][LF]

,

''

","

\

true

[LF]

,

''

false

\

csv-unix

[CR][LF]

[TAB]

''

","

\

tsv

[LF]

[LF]

[空]

false

[空]


json
  1. 注意

  2. 方言的回車符和換行符值與作業系統無關。

  3. 如果您使用 linesTerminatedByfieldsTerminatedByfieldsEnclosedByfieldsOptionallyEnclosedfieldsEscapedBy 選項,根據您的命令解譯器的跳脫慣例,如果您在選項值中使用反斜線字元 (\),則可能需要將其加倍。

與使用 LOAD DATA 陳述式的 MySQL 伺服器一樣,MySQL Shell 不會驗證您指定的欄位和行處理選項。針對這些選項不準確的選取可能會導致資料匯入到錯誤的欄位、部分或不正確地匯入。在開始匯入之前,請務必驗證您的設定,並在之後驗證結果。

linesTerminatedBy: "characters"

終止輸入資料檔案中每行的一或多個字元 (或空字串)。預設值與指定的方言相同,如果省略方言選項,則為換行字元 (\n)。此選項等效於 LOAD DATA 陳述式的 LINES TERMINATED BY 選項。請注意,此公用程式沒有提供 LOAD DATA 陳述式的 LINES STARTING BY 選項的對等項目,該選項設定為空字串。

fieldsTerminatedBy: "characters"

終止輸入資料檔案中每個欄位的一或多個字元 (或空字串)。預設值與指定的方言相同,如果省略方言選項,則為 Tab 字元 (\t)。此選項等效於 LOAD DATA 陳述式的 FIELDS TERMINATED BY 選項。

fieldsEnclosedBy: "character"

括住輸入資料檔案中每個欄位的單一字元 (或空字串)。預設值與指定的方言相同,如果省略方言選項,則為空字串。此選項等效於 LOAD DATA 陳述式的 FIELDS ENCLOSED BY 選項。

fieldsOptionallyEnclosed: [ true | false ]

fieldsEnclosedBy 給定的字元是否括住輸入資料檔案中的所有欄位 (false),或僅在某些情況下括住欄位 (true)。預設值與指定的方言相同,如果省略方言選項,則為 false。此選項使 fieldsEnclosedBy 選項等效於 LOAD DATA 陳述式的 FIELDS OPTIONALLY ENCLOSED BY 選項。

fieldsEscapedBy: "character"

在輸入資料檔案中開始跳脫序列的字元。如果未提供此字元,則不會進行跳脫序列解譯。預設值與指定的方言相同,如果省略方言選項,則為反斜線 (\)。此選項等效於 LOAD DATA 陳述式的 FIELDS ESCAPED BY 選項。

characterSet: "charset"

此選項指定在匯入期間解譯輸入資料的字元集編碼。將選項設定為 binary 表示在匯入期間不進行任何轉換。當您省略此選項時,匯入會使用 character_set_database 系統變數指定的字元集來解譯輸入資料。

bytesPerChunk: "size"

對於多個輸入資料檔案的清單,此選項不可用。對於單一輸入資料檔案,此選項指定執行緒為每個 LOAD DATA 呼叫傳送到目標伺服器的位元組數 (加上到達行尾所需的任何其他位元組)。此公用程式會將資料分配到此大小的區塊中,以供執行緒擷取並傳送到目標伺服器。區塊大小可以指定為位元組數,或使用尾碼 k (千位元組)、M (百萬位元組)、G (十億位元組)。例如,bytesPerChunk="2k" 會使執行緒傳送約 2 千位元組的區塊。最小區塊大小為 131072 位元組,預設區塊大小為 50M。

用於將輸入檔案或多個檔案中的資料傳送到目標伺服器的最大平行執行緒數量。如果未指定執行緒數量,則預設最大值為 8。對於多個輸入資料檔案的列表,該工具會建立指定的或最大數量的執行緒。對於單一輸入資料檔案,該工具會使用以下公式計算要建立的適當執行緒數量,直到達到最大值。

min{max{1, threads}, chunks}}

其中 threads 是最大執行緒數量,而 chunks 是資料將被分割成的區塊數量,其計算方式是將檔案大小除以 bytesPerChunk 大小,然後加 1。此計算可確保如果最大執行緒數量超過實際要傳送的區塊數量,工具不會建立超出必要的執行緒。

壓縮檔案無法分割成區塊,因此工具會改用其平行連線來一次上傳多個檔案。如果只有一個輸入資料檔案,則壓縮檔案的上傳只能使用單一連線。

maxRate: "rate"

每個執行緒每秒的資料輸送量上限(以位元組為單位)。如果您需要避免使網路或客戶端主機或目標伺服器的 I/O 或 CPU 飽和,請使用此選項。最大速率可以指定為位元組數,或使用後綴 k(千位元組)、M(兆位元組)、G(吉位元組)。例如,maxRate="5M" 將每個執行緒限制為每秒 5MB 的資料,對於八個執行緒而言,傳輸速率為 40MB/秒。預設值為 0,表示沒有限制。

showProgress: [ true | false ]

顯示 (true) 或隱藏 (false) 匯入的進度資訊。如果 stdout 是終端機 (tty),則預設值為 true,否則為 false

sessionInitSql: 字串列表

在用於將資料載入目標 MySQL 實例的每個客戶端會話開始時要執行的 SQL 陳述式列表。您可以使用此選項來變更會話變數。例如,以下陳述式會略過目標 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: "字串"

輸入資料檔案所在的 Oracle Cloud Infrastructure Object Storage 儲存桶的名稱。預設情況下,位於 ~/.oci/config 的 Oracle Cloud Infrastructure CLI 設定檔中的 [DEFAULT] 設定檔用於建立與儲存桶的連線。您可以使用 ociConfigFileociProfile 選項,替代用於連線的替代設定檔。有關設定 CLI 設定檔的說明,請參閱 SDK 和 CLI 設定檔

osNamespace: "字串"

osBucketName 指定的 Object Storage 儲存桶所在的 Oracle Cloud Infrastructure 命名空間。Object Storage 儲存桶的命名空間會顯示在 Oracle Cloud Infrastructure 主控台中儲存桶詳細資訊頁面的「儲存桶資訊」索引標籤中,或者可以使用 Oracle Cloud Infrastructure 命令列介面取得。

ociConfigFile: "字串"

包含要用於連線的設定檔的 Oracle Cloud Infrastructure CLI 設定檔,而不是預設位置 ~/.oci/config 中的設定檔。

ociProfile: "字串"

要用於連線的 Oracle Cloud Infrastructure 設定檔的設定檔名稱,而不是用於連線的 Oracle Cloud Infrastructure CLI 設定檔中的 [DEFAULT] 設定檔。

ociAuth: "字串"

連線至 Oracle Cloud Infrastructure 時要使用的驗證方法。此選項需要 osBucketName 配置有效值。

提供以下選項

  • api_key:OCI 連線使用 OCI 設定檔。請參閱 第 4.7.1 節「Oracle Cloud Infrastructure Object Storage」

    如果 osBucketName 定義了有效值,但未定義 ociAuth,則 api_key 是使用的預設值。

  • instance_principal:OCI 連線使用執行個體主體驗證。請參閱 執行個體主體驗證

    如果定義了 ociConfigFileociProfile,則無法使用此選項。

  • resource_principal:OCI 連線使用資源主體驗證。請參閱 資源主體驗證

    如果定義了 ociConfigFileociProfile,則無法使用此選項。

  • security_token:OCI 連線使用臨時產生的會話權杖。請參閱 基於會話權杖的驗證

與 S3 相容的服務的選項

MySQL Shell 支援匯入儲存在與 S3 相容的儲存桶中的輸入資料檔案,例如 Amazon Web Services (AWS) S3。

json

MySQL Shell 支援命令列選項、環境變數和設定檔中的 AWS S3 設定。命令列選項會覆寫環境變數、設定檔和預設選項。

有關設定需求的資訊,請參閱 第 4.7 節「雲端服務設定」

s3BucketName: "字串"

傾印檔案所在的 S3 儲存桶的名稱。預設情況下,位於 ~/.aws/ 的 Amazon Web Services (AWS) CLI configcredentials 檔案中的 default 設定檔用於建立與 S3 儲存桶的連線。您可以使用 s3ConfigFiles3CredentialsFile 選項,替代用於連線的替代設定和憑證。有關安裝和設定 AWS CLI 的說明,請參閱 AWS CLI 入門

s3CredentialsFile: "字串"

包含用於連線的使用者憑證的憑證檔案,而不是預設位置 ~/.aws/credentials 中的憑證檔案。通常,憑證檔案包含用於連線的 aws_access_key_idaws_secret_access_key

s3ConfigFile: "字串"

包含要用於連線的設定檔的 AWS CLI 設定檔,而不是預設位置 ~/.aws/config 中的設定檔。通常,設定檔包含用於連線的區域和輸出類型。

s3Profile: "字串"

要用於連線的 S3 CLI 設定檔的設定檔名稱,而不是用於連線的 AWS CLI 設定檔中的 default 設定檔。

s3Region: "字串"

要用於連線的區域名稱。

s3EndpointOverride: "字串"

要使用的端點 URL,而不是預設端點。

連線至 Oracle Cloud Infrastructure S3 相容性 API 時,端點採用以下格式:https://命名空間.compat.objectstorage.區域.oraclecloud.com。將 命名空間 替換為 Object Storage 命名空間,並將 區域 替換為您的區域識別碼。例如,美國東部 (阿什本) 區域的區域識別碼為 us-ashburn-1

對於美國東部 (阿什本) 區域中名為 axaxnpcrorw5 的命名空間

https://axaxnpcrorw5.compat.objectstorage.us-ashburn-1.oraclecloud.com.

Microsoft Azure Blob 儲存體的選項

MySQL Shell 支援從 Microsoft Azure Blob 儲存體匯入。

json

MySQL Shell 支援命令列選項、環境變數和設定檔中的 Microsoft Azure Blob 儲存體設定。命令列選項會覆寫環境變數和設定檔。

有關設定需求和設定類型優先順序的資訊,請參閱 第 4.7 節「雲端服務設定」

azureContainerName: "字串"

強制性。要從中匯入表格的 Azure 容器的名稱。容器必須存在。

azureConfigFile: "字串"

選用。包含儲存體連線參數的設定檔,而不是預設位置中的設定檔,例如 ~/.azure/config。如果未定義此設定檔,則會使用預設設定檔。

必須定義 azureContainerName,且不能為空。

azureStorageAccount: "字串"

選用。要用於作業的 Azure 儲存體帳戶的名稱。

azureStorageSasToken: "字串"

選用。要用於作業驗證的 Azure 共用存取簽章 (SAS) 權杖,而不是金鑰。