728x90
아래와 같이 provider.environment:에 넣을 수 있습니다.
provider:
name: aws
runtime: python3.8
lambdaHashingVersion: 20201221
stage: dev
region: ap-northeast-2
environment:
TELEGRAM_ACCESS_TOKEN: 'AAE7h61H'
MYSQL_HOST: '<hostname>'
MYSQL_USERNAME: '<username>'
MYSQL_PASSWORD: '1234'
사용방법은 os.getenv()를 사용해서 값을 넣을 수 있습니다.
import json, requests, os
from urllib import parse
def call_telegram(event:dict, context):
r = ''
status_code = 200
if isinstance(event, dict) and event.get('queryStringParameters') != None:
try:
qsp = event['queryStringParameters']
message = {k: parse.unquote(str(v)) for k, v in qsp.items()}
url = f'https://api.telegram.org/bot281761192:{os.getenv("TELEGRAM_ACCESS_TOKEN")}/sendMessage?chat_id=173075344&text={message}'
r = requests.get(url).json()
except Exception as e:
r = e
status_code = 400
aws secret에서 가지고 오기
import boto3
client = boto3.client('ssm')
def get_secret(key):
resp = client.get_parameter(
Name=key,
WithDecryption=True
)
return resp['Parameter']['Value']
access_token = get_secret('supermanToken')
database_connection = get_secret('databaseConn')
참고
https://www.serverless.com/blog/serverless-secrets-api-keys/
728x90