逻辑应用程序 - 无法评估,因为 属性 不存在

logic apps - cannot be evaluated because property doesn't exist

在逻辑应用程序中,我有一个表达式:

coalesce(triggerbody().data.job_id,triggerbody().resource_id,'error')

我基本上想得到第一个不为空的,但是 json 有效载荷中不存在其中一个。我收到一个错误:

'模板语言表达式 'coalesce(triggerbody().data.job_id,triggerbody().resource_id,'error')' 无法计算,因为 属性 'data' 不存在,可用的属性是 'transaction_id, event_type, event_time, resource, resource_id, account_id, resource_third_party_id, request_user_type, request_user_id'。请参阅 https://aka.ms/logicexpressions 了解使用详情。'.

如果数据不存在,则应使用该值 "null" 和 resource_id。有什么想法会是什么样子的表达式?

这里的问题是您正在尝试访问空元素的 属性:

coalesce(triggerbody().data.job_id,triggerbody().resource_id,'error')

由于 triggerbody().data 为空,Logic App 无法计算 triggerbody().data.job_id,你应该先检查 triggerbody().data 是否为 null.