azure - 使用 PowerShell 将文件上传到 Azure 数据湖存储

标签 azure powershell automation azure-data-lake-gen2

下面的代码手动工作,但我想做的是找到一种方法,可以通过作业自动运行它,并登录到我的 azure 帐户,并且不会在代码中公开帐户 key 。

有什么建议吗?

{Connect-AzAccount
Select-AzSubscription -SubscriptionId <subId>
$ctx = New-AzStorageContext -StorageAccountName <Accounttest> -UseConnectedAccount
$ctx = New-AzStorageContext -StorageAccountName <Accounttest> 
 -StorageAccountKey <accoutnKey>
$filesystemName = "DataFiles"
New-AzStorageContainer -Context $ctx -Name $filesystemName
# folder directory
$filesystemName = " DataFiles "
$dirname = "my-directory/"
New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -Directory

#Upload a file to a directory
$localSrcFile =  "upload2.txt"
$filesystemName = " DataFiles "
$dirname = "my-directory/"
$destPath = $dirname + (Get-Item $localSrcFile).Name
New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $destPath -Source $localSrcFile -Force
 
}

最佳答案

我认为最好将 PowerShell 脚本放入 Azure Pipelines 中的 DevOps 管道中。需要一个服务主体。您需要在 Azure DevOps 中配置服务连接,并且您的服务主体应该是 Data Lake Storage 所在资源组上的 Contributor。

查看链接:Manage service connections

关于azure - 使用 PowerShell 将文件上传到 Azure 数据湖存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69515787/

相关文章:

google-chrome - Jenkins 中的 TestCafe 无法建立浏览器连接

azure - 一次性为所有虚拟机分配标签

java - 通过索引定位元素对于具有相似属性的元素不起作用

Azure CLI - 运行脚本文件

node.js - 是否有任何实时示例使用 mocha 或 jest 工具为 azure nodejs 函数编写单元测试用例

带有变量参数的 Powershell 调用运算符(&)

Java Process.waitFor() 和 Readline 挂起

PowerShell 脚本不会作为 Windows 计划任务执行

azure - 有没有办法将 TypeScript 编译器作为 Azure Git 部署的一部分来运行

azure - 运行由 VS2019 创建的 Azure Docker 容器注册表