Lambda Durable Functions の呼び出しには修飾付き ARN が必須
Durable Function を普通の関数名で呼び出したら即エラーになった。
An error occurred (InvalidParameterValueException) when calling the Invoke operation: You cannot invoke a durable function using an unqualified ARN.fn-Fraud-Detection:$LATEST のようにバージョン修飾子を付ける必要がある。publish-version で作成したバージョン番号でもよい。
# 正しい($LATEST をエスケープ)
aws lambda invoke --function-name "fn-Fraud-Detection:\$LATEST" ...
# 間違い($LATEST がシェル変数として展開され空文字になる)
aws lambda invoke --function-name "fn-Fraud-Detection:$LATEST" ...シェルスクリプトでは $LATEST の $ がエスケープ対象になる点も罠だ。ダブルクォート内では \$LATEST、シングルクォート内ならそのまま $LATEST で通る。通常の Lambda 関数では未修飾でも動くため、Durable Functions を初めて触るときに確実にハマるポイントだと思う。
