02. Slack 생성
slack.com
다른 워크스페이스 만들기
워크스페이스 생성
flask_slack
봇만들기
설정및 관리
앱관리
찾아보기-참고하고
구축-Your apps-FlaskBot
Create an app
From scratch
App Name - FlaskBot
pick a workspace to develop your app in - flask_slack
Create App
Incoming Webhooks - 우리 웹사이트에서 슬랙으로 데이터를 보내는 것
Slash Commands
03. Incoming Webhook, Slash Command 활성화
Incoming Webhooks
Activate Incoming Webhooks - On
Add New Webhook to Workspace
어디에 게시
#python-flask
git bash 관리자권한으로 실행
curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/T@@@@@@@@@@@@@@@@@@
FlaskBot
Hello, World!
Slash Commands
Create New Command
Command - /flasktodo
Request URL - http://miero.pythonanywhere.com
Document
메인 로그아웃
miero.pythonanywhere.com
Descrption - TODO 앱
Usage Hint - [create|list]
Save
04. Slack을 위한 프로젝트 설정
python>flask>flaskslack>
python -m venv ./venv
ctrl + shift + p
python select interpreter
가상환경 cmd
터미널+
cmd
pip list
pip install flask
B:\python\flask\project\venv\Scripts\python.exe -m pip install --upgrade pip
app.py--------------------
from flask import Flask
app = Flask(__name__)
app.register_blueprint(api_v1, url_prefix='/api/v1')
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000, debug=True)
====================
api_v1>__init__.py--------------------
from flask import Blueprint
api = Blueprint('api', __name__)
from . import todo
====================
api_v1>todo.py--------------------
from flask import jsonify
from flask import request
@api.route('/todos', methods=['GET','POST'])
def todos():
if request.method == 'POST':
pass
elif request.method == 'GET':
pass
data = request.get_json()
return jsonify(data)
====================
pip install flask requests
api_v1>todo.py--------------------
from flask import jsonify
from flask import request
import requests
@api.route('/todos', methods=['GET','POST'])
def todos():
if request.method == 'POST':
pass
elif request.method == 'GET':
pass
data = request.get_json()
return jsonify(data)
@api.route('/test', methods=['POST'])
def test():
data = request.get_json()
return jsonify(data)
====================
slack api
Slash Commands
Name - /flasktodo
Description - TODO 앱
연필
빠져나오기
Features
Incoming Webhooks
Webhook URL
https://hooks.slack.com/services/T@@@@@@@@@@@@@@@@@@@@@@
api_v1>todo.py--------------------
from flask import jsonify
from flask import request
import requests
@api.route('/todos', methods=['GET','POST'])
def todos():
if request.method == 'POST':
res = requests.post('https://hooks.slack.com/services/T@@@@@@@@@@@@@@@@@@@@@@
', json={
'text': 'Hello World'
}, headers={ 'Content-Type': 'application/json'})
elif request.method == 'GET':
pass
data = request.get_json()
return jsonify(data)
@api.route('/test', methods=['POST'])
def test():
res = request.form['text']
print(res)
return jsonify(res)
====================
app.py--------------------
from flask import Flask
from api_v1 import api as api_v1
app = Flask(__name__)
app.register_blueprint(api_v1, url_prefix='/api/v1')
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000, debug=True)
====================
api_v1>todo.py--------------------
from flask import jsonify
from flask import request
from flask import Blueprint
import requests
from . import api
@api.route('/todos', methods=['GET','POST'])
def todos():
if request.method == 'POST':
res = requests.post('https://hooks.slack.com/services/T@@@@@@@@@@@@', json={
'text': 'Hello World'
}, headers={ 'Content-Type': 'application/json'})
elif request.method == 'GET':
pass
data = request.get_json()
return jsonify(data)
@api.route('/test', methods=['POST'])
def test():
res = request.form['text']
print(res)
return jsonify(res)
====================
터미널+
git bash
curl -XPOST http://127.0.0.1:5000/api/v1/todos
설정
Ctrl + ,
pylint
python>linting:Pylint Enabled
05. GCP 배포 준비하기
https://console.cloud.google.com/
Google Cloud Platform
하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요.
accounts.google.com
Compute Engine
프로젝트 이름 - flask-i1683u
활성화 - 무료 $300
인스턴스 만들기
리전 - 서울
머신유형 - e2-micro
부팅디스크
운영체제 - CentOS7
방화벽
HTTP 트래픽 허용
HTTPS 트래픽 허용
만들기
외부 IP 나타나면
SSH
검색 centos7 ius-release.rpm
yum install -y https://centos7.iuscommunity.org/ius-release.rpm 카피
안되네
'컴퓨터 > Python' 카테고리의 다른 글
python win32com excel 단축키 실행 (0) | 2022.04.16 |
---|---|
jupyterlab 설치 에러 (0) | 2022.04.15 |
flask_fastcampus2 (0) | 2022.04.01 |
flask git (0) | 2022.03.23 |
python ticket.interpark (0) | 2022.02.18 |