Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Stately

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

 Stately

【関西開催】AWS Community Builders Meetup 2026 Winter にて酔いどれバイブ登壇しました

https://kansai-cbs.connpass.com/event/380534/

Avatar for mu7889yoon / Yuta Nakamura

mu7889yoon / Yuta Nakamura

January 29, 2026
Tweet

More Decks by mu7889yoon / Yuta Nakamura

Other Decks in Technology

Transcript

  1. 実際に動かしてみる import { DynamoDBClient, PutItemCommand, GetItemCommand } from "@aws-sdk/client-dynamodb"; export

    async function handler(TableName: string, Key: Record<string, any>, Item: Record<string, any>) { const client = new DynamoDBClient({}); await client.send(new PutItemCommand({ TableName, Item })); const result = await client.send(new GetItemCommand({ TableName, Key })); return result; } 便利①
  2. トランスパイル開始 stately transpile index.ts --pretty > index.asl.json ASLが出てくる { "QueryLanguage":

    "JSONata", "StartAt": "putItem_1", "States": { "putItem_1": { "Type": "Task", "Resource": "arn:aws:states:::aws-sdk:dynamodb:putItem", "Parameters": { "TableName.$": "$.TableName", "Item.$": "$.Item" }, "ResultPath": "$.putItem_1Result", "Next": "getItem_1" }, "getItem_1": { "Type": "Task", "Resource": "arn:aws:states:::aws-sdk:dynamodb:getItem", "Parameters": { "TableName.$": "$.TableName", "Key.$": "$.Key" }, 便利②
  3. AWS cli でバリデーション aws stepfunctions validate-state-machine-definition \ --definition file://index.asl.json --type

    STANDARD { "result": "FAIL", "diagnostics": [ { 通りません、QueryLanguage周りのエラーが発生しています。 便利④