Closed3
slackbot, spreadsheet連携
slack apiでAppを作成するときは、App Nameを英語で作成しないと連携不可になる(特にエラーも出ずに詰む)
slack APIのSubscription
Lambda+API Gateway構成で、特定のアクションに対してAPIを呼ぶようにすると2回リクエストが送られる事象を発見した。
どうやらコールドスタートか何かのタイミングでリトライ処理が走り、2回送られてる?
後から動作されても困る(どうせもう一回そのアクションすればいいだけ)ので、リトライが走らないように強制的にHTTPステータスを200にして返すことにした。
def lambda_handler(event, context):
try:
body = json.loads(event['body'])
# slackのチャレンジリクエスト用
if 'challenge' in body:
return {
'statusCode': 200,
'body': body['challenge']
}
if 'event' in body:
event_data = body['event']
# 何かしらの処理
except Exception:
logger.exception("Error processing event")
finally:
# 常に200 OKを返すことで、Slackによるリトライを防止
return {
'statusCode': 200,
'body': ''
}
このスクラップは4ヶ月前にクローズされました