티스토리 뷰

 

아래와 같이 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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함