Azure ストレージからデータを取得する

この記事では、Azure ストレージ (ADLS Gen2 コンテナー、BLOB コンテナー、または個々の BLOB) から新規または既存のテーブルにデータを取得する方法について説明します。

前提条件

ソース

  1. KQL データベースの下部のリボンで、[データの取得] を選択します。

    [データの取り込み] ウィンドウで [ソース] タブが選択されます。

  2. 使用可能な一覧からデータ ソースを選択します。 この例では Azure ストレージからデータを取り込もうとしています。

    [ソース] タブが選択されている [データの取得] ウィンドウのスクリーンショット。

構成

  1. ターゲット テーブルを選択します。 新しいテーブルにデータを取り込む場合は、[+ 新しいテーブル] を選択し、テーブル名を入力します。

    Note

    テーブル名には、スペース、英数字、ハイフン、アンダースコアを含め、最大 1024 文字を使用できます。 特殊文字はサポートされていません。

  2. データ ソースを追加するには、[URI] フィールドにストレージの接続文字列を貼り付けてから、+ を選択します。 次の表に、サポートされている認証方法と、Azure ストレージからデータを取り込むのに必要なアクセス許可を示します。

    認証方法 個々の BLOB BLOB コンテナー Azure Data Lake Storage Gen2
    Shared Access (SAS) トークン 読み取りと書き込み Read と List Read と List
    ストレージ アカウント アクセス キー

    Note

    • 個々の BLOB を 10 個まで追加すること、または 1 つのコンテナーから最大 5,000 個の BLOB を取り込むことができます。 両方を同時に取り込むことはできません。
    • 各 BLOB の最大サイズは未圧縮で 1 GB です。
    1. BLOB コンテナーまたは Azure Data Lake Storage Gen2 の接続文字列を貼り付けた場合は、下記の省略可能なフィルターを追加できます。

      新しいテーブルが入力され、1 つのサンプル データ ファイルが選択されている [構成] タブのスクリーンショット。

      設定 フィールドの説明
      ファイル フィルター (省略可能)
      フォルダー パス 特定のフォルダー パスを持つファイルを取り込むようにデータをフィルター処理します。
      ファイル拡張子 特定のファイル拡張子を持つファイルのみを取り込むようにデータをフィルター処理します。
  3. [次へ] を選択します

検査

[検査] タブが開き、データのプレビューが表示されます。

インジェスト プロセスを完了するには、[完了] を選択します。

[検査] タブのスクリーンショット。

必要に応じて、次の操作を行います。

列の編集

Note

  • 表形式 (CSV、TSV、PSV) では、列を 2 回マップすることはできません。 既存の列にマップするには、最初に新しい列を削除します。
  • 既存の列の型を変更することはできません。 異なる形式の列にマップしようとすると、空の列になってしまう場合があります。

テーブルに加えることができる変更は、次のパラメーターによって異なります。

  • テーブルの種類が新規かまたは既存か
  • マッピングの種類が新規かまたは既存か
テーブルの種類です。 マッピングの種類 使用可能な調整
新しいテーブル 新しいマッピング 列の名前変更、データ型の変更、データ ソースの変更、マッピング変換、列の追加、列の削除
既存のテーブル 新しいマッピング 新しい列の追加 (その後、データ型の変更、名前変更、更新が可能)
既存のテーブル 既存のマッピング なし

編集のために開いている列のスクリーンショット。

マッピング変換

一部のデータ形式マッピング (Parquet、JSON、Avro) では、簡単な取り込み時の変換がサポートされています。 マッピング変換を適用するには、[列の編集] ウィンドウで列を作成または更新します。

マッピング変換は、データ型が int または long であるソースを使用して、string または datetime 型の列に対して実行できます。 サポートされているマッピング変換は次のとおりです。

  • DateTimeFromUnixSeconds
  • DateTimeFromUnixMilliseconds
  • DateTimeFromUnixMicroseconds
  • DateTimeFromUnixNanoseconds

データ型に基づく [詳細] オプション

表形式 (CSV、TSV、PSV):

  • 表形式を "既存のテーブル" に取り込もうとしている場合は、[詳細]>[テーブル スキーマを保持する] を選択できます。 表形式データには、ソース データを既存の列にマップするために使用される列名が必ずしも含まれるとは限りません。 このオプションをオンにすると、マッピングは順番に行われ、テーブル スキーマは同じままになります。 このオプションをオフにすると、データ構造に関係なく、受信するデータに対して新しい列が作成されます。

  • 最初の行を列名として使用するには、[詳細]>[最初の行を列ヘッダーにする] を選択します。

    詳細 CSV オプションのスクリーンショット。

JSON:

  • JSON データの列分割を指定するには、[詳細]>[入れ子のレベル] を 1 から 100 までで選択します。

  • [詳細]>[エラーのある JSON 行をスキップする] を選択すると、データは JSON 形式で取り込まれます。 このチェック ボックスをオフのままにすると、データは multijson 形式で取り込まれます。

    詳細 JSON オプションのスクリーンショット。

まとめ

[データ準備] ウィンドウでは、データ インジェストが正常に終了した場合、3 つのステップすべてに緑色のチェックマークが表示されます。 カードを選択してクエリを実行すること、取り込まれたデータを削除すること、インジェストの概要のダッシュボードを表示することができます。

データ インジェストが完了した概要ページのスクリーンショット。