Как избежать одиночных кавычек в шаблоне ARM с помощью функции @concat - PullRequest
1 голос
/ 09 января 2020

У меня есть шаблон для конвейера данных с целевым приемником набора данных, который я хочу развернуть с помощью менеджера ресурсов, и 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)

наиболее вероятно из-за значения параметра для fileName .

Каков наилучший способ предоставления имени файла с датой, рассчитанной во время экспорта данных и части имя взято из параметра?

1 Ответ

1 голос
/ 09 января 2020

Используйте переменную и произведите вычисление значения этой переменной или используйте функцию replace ().

...