チラシの裏の書き置き

技術的な話をするブログのタイトルじゃない気がする

AWSのSAM CLI(Windows版)が起動しないので調整する

AWSSAM(Serverless Application Model) CLIというのがあります。ざっくり説明するとLambdaをローカルで動かせるようにするやつです。
Windows版はご丁寧にインストーラで提供されているのですが、入れて動かなくなったので直し方のメモです。将来のバージョンでは直るかもしれない。

具体的には、次のエラーが出て動きません。

PS C:\Users\taiko> sam --version
'""' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

samの実態はC:\Program Files\Amazon\AWSSAMCLI\bin\sam.cmdにあります。*1
中身を見てみるとSAM CLIに付いているPythonを使うか既にインストールされているPythonを使うか判定している部分で転けている様子。

今回はSAM CLIに付いてきたPythonを使うので、26行目あたりにあるパスを最初から変数に入れてしまいます。

@echo OFF
REM="""
setlocal
set PythonExe="%~dp0/../runtime/python.exe"

これで解決。めでたしめでたし。

PS C:\Users\taiko> sam --version
SAM CLI, version 0.10.0

*1:64bit版の場合