如何使用@concat函数转义ARM模板中的单引号

How to escape single quotes in ARM Template with @concat function

我有带有目标数据集接收器的数据工厂管道模板,我想使用资源管理器和 Java Azure SDK 进行部署:

{
      "name": "[concat(parameters('factoryName'), '/', parameters('pipeline_pipelineConfiguration_pipelineTemplate_destinationDataset01'))]",
      "type": "Microsoft.DataFactory/factories/datasets",
      "apiVersion": "2018-06-01",
      "properties": {
        "linkedServiceName": {
          "referenceName": "[parameters('pipeline_pipelineConfiguration_pipelineTemplate_destinationLinkedService01')]",
          "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "DelimitedText",
        "typeProperties": {
          "location": {
            "type": "AzureBlobStorageLocation",
            "fileName": {
              "value": "[concat('@concat(utcnow(\'yyyy-MM-dd\'),\'-',parameters('pipeline_pipelineConfiguration_destination'),',.txt\'')]",
              "type": "Expression"
            },
            "container": ""
          },
          "columnDelimiter": ",",
          "escapeChar": "\",
          "firstRowAsHeader": true,
          "quoteChar": "\""
        },
        "schema": []
      },
      "dependsOn": [
        "[concat(variables('factoryId'), '/linkedServices/', parameters('pipeline_pipelineConfiguration_pipelineTemplate_DestinationLinkedService01'))]"
      ]
    }

我遇到异常:

com.fasterxml.jackson.core.JsonParseException: Unrecognized character escape ''' (code 39)

很可能是因为 value 参数 fileName.

提供文件名的最佳方法是什么,其中包含根据导出数据时间计算的日期和部分名称取自参数?

使用变量并计算这个变量的值 或使用 replace() 函数。