by shigemk2

当面は技術的なことしか書かない

memo Lambda Alias

memo Lambda Alias

  • LambdaのAliasはLambdaのバージョンを示すポインター
  • Lambdaを更新するときは、過去バージョンについてスナップショットを作り、新しくAliasを作って、ポインターは新しいLambdaを指し示す
    • 一つのプロジェクトで複数の開発者がいる場合は、更新と同時にバージョン(=Alias)を発行することを公式では勧めている
    • Aliasだけ作って、複数のAliasに対し1つのバージョンにたいしてポインターを貼ることは可能
  • apexでLambdaを更新するときにIAMロールでDeleteFunctionの権限を抜きにしてLambdaの更新をかけると、時々DeleteFunctionの権限が無いって怒られる
    • でもドキュメントを見る限りは、Lambdaの更新にDeleteFunctionの権限は必要なさげ

memo AWS Lambda API

memo AWS Lambda API

多いのか少ないのか微妙な数のAPI

  • AddPermission
  • CreateAlias
  • CreateEventSourceMapping
  • CreateFunction
  • DeleteAlias
  • DeleteEventSourceMapping
  • DeleteFunction
  • DeleteFunctionConcurrency
  • GetAccountSettings
  • GetAlias
  • GetEventSourceMapping
  • GetFunction
  • GetFunctionConfiguration
  • GetPolicy
  • Invoke
  • InvokeAsync
  • ListAliases
  • ListEventSourceMappings
  • ListFunctions
  • ListTags
  • ListVersionsByFunction
  • PublishVersion
  • PutFunctionConcurrency
  • RemovePermission
  • TagResource
  • UntagResource
  • UpdateAlias
  • UpdateEventSourceMapping
  • UpdateFunctionCode
  • UpdateFunctionConfiguration

NoCredentialProviders: no valid providers in chain

NoCredentialProviders: no valid providers in chain

apex実行時にこのエラーが出た際、考えられる可能性について。

  • (特にローカルで実行時に)クレデンシャルが正しく設定されていない、もしくは無設定
  • (特にEC2上で実行時に)apexを実行できるIAMロールが正常に設定されてない

あと、apexを実行するときにはAWS_REGIONの変数が設定されている必要があるけど、 apex deploy -s AWS_REGION=ap-northeast-1 my-lambda こういう感じで設定してもやっぱりエラーになる。