使用 Azure CLI 进行 Synapse Pipelines 部署

问题描述 投票:0回答:1

我正在使用以下 YAML 代码在 PowerShell 核心中使用 CLI 部署 Synapse 对象(数据集/数据流/管道)

- task: AzureCLI@2
        inputs:
          azureSubscription: 'ServiceConnection'
          scriptType: 'pscore'
          scriptLocation: 'inlineScript'
          inlineScript: 'az synapse dataset create --workspace-name SynapseWorkspaceName --name SQLServer1 --file @"$(System.DefaultWorkingDirectory)/dataset/SqlServer.json"'

我收到以下错误

here-string 标头之后、行尾之前不允许有任何字符。

注意:我可以在以下场景中使用相同的 Azure CLI 命令(如上所示)创建 Synapse 对象

  1. 在我的本地机器中
  2. Azure DevOps - 使用 Bash 作为 SciptType 的 Azure CLI

Azure CLI 命令还允许我们传递 JSON 内容(问题是当您仅传递 JSON 文件名时),这工作正常。

感谢您的帮助。

谢谢,

普莱文

azure-devops azure-cli azure-synapse-pipeline
1个回答
0
投票

在 Linux 计算机上安装的

pwsh
和 Windows 计算机上安装的 PowerShell 中运行命令时,我可以重现相同的错误。

根据使用Azure CLI的提示|微软学习

PowerShell中有一些特殊字符,例如@。要在 PowerShell 中运行 Azure CLI,请在特殊字符前添加 ``` 以对其进行转义。

因此,

 AzureCLI
管道任务在```的帮助下工作。

pool:
  vmImage: ubuntu-latest
steps:
- task: AzureCLI@2
  inputs:
    azureSubscription: 'ARMSvcCnnAutoSub7'
    scriptType: 'pscore'
    scriptLocation: 'inlineScript'
    inlineScript: |
      az synapse dataset create --workspace-name azdevsynapseworkspace --name SQLServer1 --file `@"$(System.DefaultWorkingDirectory)/dataset/SqlServer.json"

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.