ADF Web 活动错误:请求内容无效且无法反序列化:“解析值后遇到意外字符”

问题描述 投票:0回答:1
我在 ADF 的 Web 活动中收到错误消息:

请求内容无效,无法反序列化:'之后 解析值时遇到意外字符:

进一步研究这个错误,我发现从笔记本中收到一个错误:

---------------------------------------------------------------------------\nValueError Traceback (most recent call last)\n/tmp/ipykernel_10465/628309876.py in <module>\n 7 \n 8 \n----> 9 split_df.columns = ['dot1', 'dot2', 'dot3', 'dot4', 'dot5']\n 10 print(split_df)\n\n~/cluster-env/env/lib/python3.8/site-packages/pandas/core/generic.py in __setattr__(self, name, value)\n 5476 try:\n 5477 object.__getattribute__(self, name)\n-> 5478 return object.__setattr__(self, name, value)\n 5479 except AttributeError:\n 5480 pass\n\npandas/_libs/properties.pyx in pandas._libs.properties.AxisProperty.__set__()\n\n~/cluster-env/env/lib/python3.8/site-packages/pandas/core/generic.py in _set_axis(self, axis, labels)\n 668 def _set_axis(self, axis: int, labels: Index) -> None:\n 669 labels = ensure_index(labels)\n--> 670 self._mgr.set_axis(axis, labels)\n 671 self._clear_item_cache()\n 672 \n\n~/cluster-env/env/lib/python3.8/site-packages/pandas/core/internals/managers.py in set_axis(self, axis, new_labels)\n 218 \n 219 if new_len != old_len:\n--> 220 raise ValueError(\n 221 f\"Length mismatch: Expected axis has {old_len} elements, new \"\n 222 f\"values have {new_len} elements\"\n\nValueError: Length mismatch: Expected axis has 9 elements, new values have 5 elements"
当我将此错误发送到网络活动以发送电子邮件时,我收到上述网络活动错误。

尝试过的解决方案:

因此,为了克服这个错误,我使用表达式创建了一个变量“ErrorMessage”,它将首先保存错误消息:

@activity('Notebook1').error.Message
然后另一个变量变量('CleanErrorMessage')将保存干净的消息替换 
 到 '',使用

@replace(variables('ErrorMessage'),'\n','')
但它没有按预期工作

你能帮我解决这个问题,并从笔记本错误消息中删除这个特殊符号和换行符,以便我可以将错误以 json 格式传递给 Web 活动并获取结果。

网络活动 Json:

{ "Pipeline":"@{pipeline().Pipeline}", "ErrorMessage": "@{variables('CleanErrorMessage')}", "DataFactoryName":"@{pipeline().DataFactory}", "Runid":"@{pipeline().RunId}" }
    
azure-data-factory apache-synapse azure-notebooks
1个回答
0
投票
您可以执行以下操作来使其正常工作。

    您可以将双引号替换为两个单引号并将其转换为字符串。下面是要执行的表达式。
@string(replace(activity('Notebook1').error.Message, '"',''''))

    您可以将正文内容粘贴到正文文本字段框中,而无需在 Web 活动中单击“添加动态内容”。如果您要在动态内容中粘贴正文文本字段,则可以使用其他双引号或字符串函数,如 Microsoft QnA 中的
  • 类似问题中给出。
© www.soinside.com 2019 - 2024. All rights reserved.