Lambda関数をCloud9上で開発しています。
Lambdaではテスト時に環境変数を呼び出せるのですが、Cloud9からテストをするとエラーとなってしまいます。
Cloud9でも同じ結果を得られるようにしたいです。
Lambda環境変数は、Cloud9上ではどのように設定すればよいでしょうか??
対処方法をご教授ください。
よろしくお願いいたします。
ソースコード
import json import os def lambda_handler(event, context): env = os.environ.get('ENV') return { 'ENV': f'環境変数 = {env}', }
Lambda結果
{ "ENV": "環境変数 = test" }
Cloud9側yamlファイル(env_test.yaml)
AWSTemplateFormatVersion: '2010-09-09' Transform: 'AWS::Serverless-2016-10-31' Description: An AWS Serverless Specification template describing your function. Resources: envtest: Type: 'AWS::Serverless::Function' Properties: Handler: lambda_function.lambda_handler Runtime: python3.8 CodeUri: . Description: '' MemorySize: 128 Timeout: 3 Role: 'arn:aws:iam::xxxxxxxxx:role/service-role/env_test-role-kot0qfag' Environment: Variables: ENV: test
Cloud9側payloadsファイル(lambda-payloads.json)
{ "key1": "value1", "key2": "value2", "key3": "value3" }
Cloud9側ローンチファイル(launch.json)
{ "configurations": [ { "type": "aws-sam", "request": "direct-invoke", "name": "env_test:lambda_function.lambda_handler (python3.8)", "invokeTarget": { "target": "template", "templatePath": "env_test/env_test.yaml", "logicalId": "envtest" }, "lambda": { "runtime": "python3.8", "payload": { "path": "env_test/lambda-payloads.json" }, "environmentVariables": {} } } ] }
Cloud9側結果
RuntimeError: Container does not exist. Cannot get logs for this container 2022-03-01 08:59:03 [ERROR]: "sam build" failed. Check system disk space. 2022-03-01 08:59:03 [WARN]: "sam build" failed: /home/ec2-user/environment/env_test/env_test.yaml

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。