Это потому, что CloudFormation создает запрос SQL с версией 2015-10-08
, и эта версия не поддерживает функцию parse_time
:
Используйте функцию parse_time для форматирования отметки времени в человеке. удобочитаемый формат даты / времени. Поддерживается SQL версия 2016-03-23 и выше.
Добавление AwsIotSqlVersion: '2016-03-23'
в шаблон решает проблему.
IoTTopicRule:
Type: AWS::IoT::TopicRule
Properties:
TopicRulePayload:
Actions:
- DynamoDBv2:
...
AwsIotSqlVersion: '2016-03-23'
RuleDisabled: false
Sql: |
SELECT
clientid() as hashKey,
concat('weather_', parse_time("YYYY-MM-dd'T'hh:mm:ss", timestamp())) as rangeKey,
FROM 'topic'