0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RurucunSoloAdvent Calendar 2024

Day 2

VercelでさっとPythonをデプロイする

Posted at

はじめに

Pythonを普段使っていないのですが、さっと使いたいライブラリがあったので、デプロイ先を探していました。
VercelがNext.jsのデプロイに使っていることもあり、手軽で良さそうだったので使ってみます。

インフラ周りはほぼCloudflareで揃えているのですが、Beta版でほぼ標準ライブラリのみという制限があったので、今回は保留しました。
Beta版が外れたらこちらも触ってみたいです。


手順

下記のような簡単なサンプルを用意しました。
処理を行うpythonファイルを用意し、vercel.jsonでbuids/routesを定義します。
その後Githubへリポジトリを作成しPushします。

project/
├── api/
│   └── hello.py
└── vercel.json
hello.py
from http.server import BaseHTTPRequestHandler

class handler(BaseHTTPRequestHandler):
    def do_GET(self):
        # レスポンスの設定
        self.send_response(200)
        self.send_header('Content-type', 'text/plain')
        self.end_headers()

        # レスポンス本文
        self.wfile.write(b"Hello, World!")
vercel.json
{
  "version": 2,
  "builds": [
    { "src": "api/*.py", "use": "@vercel/python" }
  ],
  "routes": [
    { "src": "/.*", "dest": "api/hello.py" }
  ]
}

Vercelのダッシュボードへ移動し、作成したRepositoryをImportします。

image.png

Next.jsなどとは違ってFrameworkなどはないので、OtherのままDeployします。

image.png

Deployが完了後、表示されるUrlにapi/helloを追加することで、実装した画面が表示されるはずです。

1リポジトリを用意するだけで、簡単にpythonのAPIをネットに公開することができるので、ぜひ皆さんも試してみたください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?