Skip to content

Instantly share code, notes, and snippets.

@kunimi53chi
Forked from kuropen/lambda_function.py
Last active November 2, 2018 15:21
Show Gist options
  • Save kunimi53chi/912ae2df679f7a8e72e05c3da2bfcfe9 to your computer and use it in GitHub Desktop.
Save kunimi53chi/912ae2df679f7a8e72e05c3da2bfcfe9 to your computer and use it in GitHub Desktop.
Lambda function to generate maintenance page
import boto3
# このスクリプトをLambdaに入れ、API Gatewayで「Lambdaプロキシ統合」のエンドポイントを作成し、
# パス「/」「/{proxy+}」に対してメソッド「ANY」でこのスクリプトに向ける。
# エラーメッセージをS3に格納しているためIAMロールでS3へのアクセス権を設定する。
# エラーメッセージの格納されたバケット名
AWS_S3_BUCKET_NAME = 'mstdn-maintenance'
# エラーメッセージの格納されたオブジェクト名
GET_OBJECT_KEY_NAME = '503.html'
def lambda_handler(event, context):
s3 = boto3.resource('s3')
obj = s3.Object(AWS_S3_BUCKET_NAME, GET_OBJECT_KEY_NAME)
response = obj.get()
body = response['Body'].read()
return {
"isBase64Encoded": False,
"statusCode": 503,
"headers": { "Content-Type": "text/html" },
"body": body.decode('utf-8')
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment