@shinyaz

Lambda Durable Functions SDK の DurableContext は named import できない

約1分

Durable Functions の公式ドキュメントの TypeScript サンプルに import { withDurableExecution, DurableContext } と書いてあったのでそのまま使ったら、Lambda 実行時に以下のエラーが出た。

出力結果
SyntaxError: The requested module '@aws/durable-execution-sdk-js'
does not provide an export named 'DurableContext'

DurableContext は TypeScript の型としてのみエクスポートされており、ランタイムの ESM モジュールには実体がない。.mjs ファイルで直接デプロイする場合は withDurableExecution のみ import する。

JavaScript(.mjs)
import { withDurableExecution } from "@aws/durable-execution-sdk-js";
 
export const handler = withDurableExecution(
  async (event, context) => {
    // context は自動的に DurableContext 型になる
    await context.step("my-step", async () => { /* ... */ });
  }
);

TypeScript でビルドする場合は import type { DurableContext } を使えば型チェックが効く。ランタイムに .mjs を直接デプロイするケースでのみ問題になる。

共有する

田原 慎也

田原 慎也

ソリューションアーキテクト @ AWS

AWS ソリューションアーキテクトとして金融業界のお客様を中心に技術支援を行っています。クラウドアーキテクチャや AI/ML に関する学びをこのサイトで発信しています。このサイトの内容は個人の見解であり、所属企業の公式な意見や見解を代表するものではありません。