はじめに
OneLake は Azure Data Lake Storage Gen2 と互換性をもつAPIを提供してるということで、↓を Onelake 宛に実施します。
タネとしては--trusted-microsoft-suffixes で、onelake.dfs.fabric.microsoft.com に 認証トークンを送信する許可をしてやれば動きます。
ユーザー IDでの認証
手順
対象のアップロード先のURLを取得します。
以下の形式でコマンドを実行する
export AZCOPY_AUTO_LOGIN_TYPE=DEVICE
azcopy copy {ファイルパス} {確認したURL}/{ファイルパス} --trusted-microsoft-suffixes onelake.dfs.fabric.microsoft.com
結果
補足
こちらの認証方法は version=10.23.0 だと動作しませんでした・・・とりあえずISSUEをあげています
そのため、本記事はazcli の10.15.0 で確認しています
サービスプリンシパルでの認証
こっちは最新バージョンでも動きました。
前提条件
「サービス プリンシパルは Fabric API を使用できます」を有効にしておく必要があります。
これが有効じゃないとサービスプリンシパルをワークスペースロールに追加できません。
手順
2.以下の形式でコマンドを実行する
export AZCOPY_AUTO_LOGIN_TYPE=SPN
export AZCOPY_SPA_APPLICATION_ID=<application-id>
export AZCOPY_SPA_CLIENT_SECRET=<client-secret>
export AZCOPY_TENANT_ID=<tenant-id>
azcopy copy {ファイルパス} {確認したURL}/{ファイルパス} --trusted-microsoft-suffixes onelake.dfs.fabric.microsoft.com
結果は割愛
powershell
こういうのもあるみたい