AzCopy は、Azure Storage アカウント間のデータ転送を容易にするために設計された強力なコマンドライン ユーティリティです。 Microsoft OneLake は Azure Storage と同じ API、SDK、およびツールをサポートしているため、AzCopy を使用して OneLake との間でデータを読み込むこともできます。 この記事は、成果物間でのデータのコピーからデータのアップロードまたはダウンロードまで、OneLake で AzCopy を使用する場合に役立ちます。
AzCopy と OneLake を使用する理由
AzCopy は、大規模および大規模なデータ移動でのデータ プレーン操作に最適化されています。 ストレージ アカウント (OneLake を含む) 間でデータをコピーすると、データはストレージ サーバーからストレージ サーバーに直接移動され、パフォーマンスのボトルネックが最小限に抑えられます。 AzCopy は、ネットワークの中断と再試行を処理するための組み込みのメカニズムを備えた、使いやすく信頼性の高い機能でもあります。 AzCopy を使用すると、OneLake にデータをアップロードしたり、既存のソースから Fabric のアイテムに直接データを読み込んだりするのが簡単です。
はじめに
AzCopy を初めて使用する場合は、「AzCopy の概要 」で AzCopy をダウンロードして使用する方法を学習できます。
OneLake で AzCopy を使用する場合は、覚えておく必要があるいくつかの重要なポイントがあります。
- --trusted-microsoft-suffixes パラメーターを使用して、信頼されたドメインとして "fabric.microsoft.com" を追加します。
- OneLake ではテナントのみが考慮されるため、Microsoft Entra ID でログインするときに、ソースの Azure Storage アカウントのサブスクリプションを選択します。
- コマンド プロンプトで AzCopy を使用する場合は二重引用符を使用し、PowerShell では単一引用符を使用します。
また、この記事のサンプルでは、Microsoft Entra ID にソースと宛先の両方にアクセスするための適切なアクセス許可があることを前提としています。
最後に、データ移動に少なくとも 1 つのソースと変換先が必要です。このページのサンプルでは、2 つの Fabric Lakehouse と 1 つの ADLS アカウントを使用します。
サンプル: Fabric ワークスペース間でのデータのコピー
azcopy copy コマンドを使用して、あるワークスペース内のレイクハウスから別のワークスペースにファイルを コピー するには、このサンプルを使用します。 最初に azcopy login
を実行して、最初に認証することを忘れないでください。
構文
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 トークンの生成と使用の詳細については、次のページを参照してください。
- OneLake Shared Access Signature (SAS) を作成する方法
- Shared Access Signature (SAS) を使用して Azure Storage リソースへの制限付きアクセスを許可する
注
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
制限事項
OneLake はマネージド データ レイクであるため、AzCopy では一部の操作がサポートされていません。 たとえば、AzCopy を使用してアイテムまたはワークスペース全体を移動またはコピーすることはできません。 代わりに、Fabric エクスペリエンス (ポータルなど) を使用して移動先の場所に新しい項目を作成し、AzCopy を使用して既存の項目の内容を新しい項目に移動します。