规则执行时函数“GetDynamodb”执行失败。无法从 dynamo 中检索和/或解析请求的项。

0

【以下的问题经过翻译处理】 我们有一个规则,其条件基于DynamoDB中的数据。我们希望基于给定的键在数据库中是否有条目进行过滤。查询语句如下:

SELECT * FROM '$aws/events/presence/connected/+' WHERE NOT isNull(get_dynamodb(MY_TABLE, 'HashKey', MY_HASHKEY, 'RangeKey', MY_RANGEKEY, MY_ROLE))

当数据存在时,规则按预期工作,但当数据不存在时,我们在云监视器中记录了以下错误:

details: Not able to retrieve and/or parse the requested item from dynamo. ErrorMessage:
eventType: FunctionExecution
logLevel: ERROR

details: Function 'GetDynamodb' failed to execute for rule MY_RULE. Not able to retrieve and/or parse the requested item from dynamo. ErrorMessage:
eventType: RuleExecution
logLevel: ERROR
reason: ExternFunctionException

因此,问题如下:

  1. 我是否可以使用get_dynamodb函数来检查数据库中是否存在项,还是只有在我知道给定键的数据存在时才能使用此函数?
  2. 在上述情况下,我应该期望我的错误操作触发吗?(测试表明我的错误操作没有触发)?
profile picture
EXPERTE
gefragt vor 5 Monaten36 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 你好Magne。

  1. 如果一个条目不存在,你可以使用它,但会引发你目前遇到的“FunctionExecution”错误。所以这可能不是你想要的行为。
  2. 不会。错误操作仅在规则操作遇到错误时触发。你的规则查询未能产生匹配结果(因为错误发生在WHERE子句中),因此没有任何操作被触发。
profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen