Open5
【Deta.Space】操作方法
参考文献
導入
sudo apt install unzip
curl -fsSL https://get.deta.dev/space-cli.sh | sh
export PATH="$HOME/.detaspace/bin:$PATH"
source ~/.bashrc
ログイン
space login
アクセストークンの場所がすごくわかりにくいけど下の検索ボックスにある
アプリを一般公開したい場合
Spacefile
ファイルにpublic_routes
を追記する。デォルトではプライベートのようで第三者がアクセスしようとするとログイン画面にリダイレクトされてしまう。
Spacefile
# Spacefile Docs: https://go.deta.dev/docs/spacefile/v0
v: 0
micros:
- name: test
...
public_routes:
- "/*"
環境変数の設定
Spacefile
ファイルにenv
を追記する。
# Spacefile Docs: https://go.deta.dev/docs/spacefile/v0
v: 0
micros:
- name: test
...
env:
- name: API_KEY1
- name: API_KEY2
- name: API_KEY3
定期実行の設定
Spacefile
ファイルにactions
を追記する。
writeText
というid
を設定し、5分毎に関数を実行する処理。
# Spacefile Docs: https://go.deta.dev/docs/spacefile/v0
v: 0
micros:
- name: test
...
actions:
- id: "writeText"
name: "Write Text"
description: "Write something"
trigger: "schedule"
default_interval: "0/5 * * * *"
FastAPI
@app.post('/__space/v0/actions')
async def actions(request: Request):
data = await request.json()
event = data['event']
if event['id'] == 'writeText':
writeText()
return {"message": "cleanup started successfully"}
else:
return {"message": "no action found for this event"}
def writeText():
""" Function """