Azure 自动化:无法绑定参数 'Context'

Azure-automation: Cannot bind parameter 'Context'

我正在尝试使用 azure automation powershell 工作流在 Azure datalake 中创建新目录。 我的代码是这样的:

    $ctx = New-AzStorageContext -ConnectionString $connectionstring

    New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -Directory

我得到的错误信息:

New-AzDataLakeGen2Item : Cannot bind parameter 'Context'. Cannot convert the "Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext" value of type "Deserialized.Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext" to type "Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext

我不知道如何解决这个错误?非常感谢任何帮助。

在我们的本地环境中,我们创建了一个 Powershell runbook 运行 PowerShell 版本 5.1。

使用上面相同的共享 cmdlet,我们能够在 Azure Data lake 存储帐户中创建一个新目录。我们已使用系统托管身份从自动化帐户连接到订阅资源。

这是我们在自动化帐户中使用的 Powershell 脚本:

 Disable-AzContextAutosave -Scope Process  # Ensures you do not inherit an AzContext in your runbook
 $AzureContext = (Connect-AzAccount -Identity).context # Connect to Azure with system-assigned managed identity
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription -DefaultProfile $AzureContext  # set and store context
    
Import-module -name Az.Storage

$ctx=New-AzStorageContext -StorageAccountName "<strgaccountName>" -StorageAccountKey "<storageaccountKey>"
New-AzDataLakeGen2Item -Context $ctx -FileSystem "testfiler" -Path "dir1/dir2" -Directory

这里是示例输出以供参考: