次の方法で共有


AzCopy

AzCopy は、Azure Storage アカウント間のデータ転送を容易にするために設計された強力なコマンドライン ユーティリティです。 Microsoft OneLake は Azure Storage と同じ API、SDK、およびツールをサポートしているため、AzCopy を使用して OneLake との間でデータを読み込むこともできます。 この記事は、成果物間でのデータのコピーからデータのアップロードまたはダウンロードまで、OneLake で AzCopy を使用する場合に役立ちます。

AzCopy と OneLake を使用する理由

AzCopy は、大規模および大規模なデータ移動でのデータ プレーン操作に最適化されています。 ストレージ アカウント (OneLake を含む) 間でデータをコピーすると、データはストレージ サーバーからストレージ サーバーに直接移動され、パフォーマンスのボトルネックが最小限に抑えられます。 AzCopy は、ネットワークの中断と再試行を処理するための組み込みのメカニズムを備えた、使いやすく信頼性の高い機能でもあります。 AzCopy を使用すると、OneLake にデータをアップロードしたり、既存のソースから Fabric のアイテムに直接データを読み込んだりするのが簡単です。

信頼されたワークスペース アクセスと AzCopy

信頼されたワークスペース アクセスを使用すると、Azure Storage アカウントでリソース インスタンスルールを構成することで、ファイアウォールが有効な Azure Storage アカウントに安全にアクセスできます。 この規則により、特定の Fabric ワークスペースは、ショートカット、パイプライン、AzCopy などの一部の Fabric エクスペリエンスからストレージ アカウントのファイアウォールにアクセスできます。 信頼されたワークスペース アクセスを構成することで、AzCopy はファイアウォールが有効な Azure Storage アカウントのデータを、ファイアウォールの保護に影響を与えることなく OneLake にコピーできます。 詳細については、 信頼されたワークスペース へのアクセスに関するページを参照してください。

はじめに

AzCopy を初めて使用する場合は、「AzCopy の概要 」で AzCopy をダウンロードして使用する方法を学習できます。

OneLake で AzCopy を使用する場合は、覚えておく必要があるいくつかの重要なポイントがあります。

  1. --trusted-microsoft-suffixes パラメーターを使用して、信頼されたドメインとして "fabric.microsoft.com" を追加します。
  2. OneLake ではテナントのみが考慮されるため、Microsoft Entra ID でログインするときに、ソースの Azure Storage アカウントのサブスクリプションを選択します。
  3. コマンド プロンプトで AzCopy を使用する場合は二重引用符を使用し、PowerShell では単一引用符を使用します。

また、この記事のサンプルでは、Microsoft Entra ID にソースと宛先の両方にアクセスするための適切なアクセス許可があることを前提としています。

最後に、データ移動に少なくとも 1 つのソースと変換先が必要です。このページのサンプルでは、2 つの Fabric Lakehouse と 1 つの ADLS アカウントを使用します。

サンプル: Fabric ワークスペース間でのデータのコピー

azcopy copy コマンドを使用して、あるワークスペース内のレイクハウスから別のワークスペースにファイルを コピー するには、このサンプルを使用します。 最初に azcopy login を実行して、最初に認証することを忘れないでください。

Syntax


azcopy copy "https://onelake.dfs.fabric.microsoft.com/<source-workspace-name>/<source-item-name>/Files/<source-file-path>" "https://onelake.dfs.fabric.microsoft.com/<destination-workspace-name>/<destination-item-name>/Files/<destination-file-path>" --trusted-microsoft-suffixes "fabric.microsoft.com" 

コピー操作は同期であるため、コマンドが戻るときにすべてのファイルがコピーされます。

サンプル: 共有アクセス署名 (SAS) を使用して ADLS から OneLake にデータをコピーする

Shared Access Signature (SAS) は、Azure Storage と OneLake への短期的な委任アクセスを提供し、ツールまたはユーザーが 1 回限りアップロードまたはダウンロードのためにストレージに一時的にアクセスできるようにする優れたオプションです。 Azure Storage アカウントが OneLake とは異なるテナントにある場合は、SAS も優れたオプションです。テナントが異なる場合、Entra 承認は機能しません。

このサンプルでは、一意の SAS トークンを使用して、Azure Storage と OneLake の両方に対して認証を行います。 Azure Storage と OneLake での SAS トークンの生成と使用の詳細については、次のページを参照してください。

Note

AzCopy で SAS トークンを使用して OneLake に対する認証を行う場合は、'''-s2s-preserve-access-tier' パラメーターを false に設定する必要があります。


azcopy copy "https://<account-name>.blob.core.windows.net/<source-container-name>/<source-file-path>?<blob-sas-token>" "https://onelake.dfs.fabric.microsoft.com/<destination-workspace-name>/<destination-item-name>/Files/<destination-file-path>?<onelake-sas-token>" --trusted-microsoft-suffixes "fabric.microsoft.com" --s2s-preserve-access-tier=false

Limitations

OneLake はマネージド データ レイクであるため、AzCopy では一部の操作がサポートされていません。 たとえば、AzCopy を使用してアイテムまたはワークスペース全体を移動またはコピーすることはできません。 代わりに、Fabric エクスペリエンス (ポータルなど) を使用して移動先の場所に新しい項目を作成し、AzCopy を使用して既存の項目の内容を新しい項目に移動します。

テナント間操作

2 つの Fabric テナント間で直接操作を実行する場合は、 外部データ共有を使用する必要があります。 つまり、現在、AzCopy を使用して 2 つの Fabric テナント間でデータを直接読み込むことはできません。そのため、テナント間での直接操作が行われます。 データをローカルまたは Spark クラスターにダウンロードし、新しいテナントにデータを再アップロードするなど、データを読み込む他の方法が機能します。