Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tf63/vercel_serverless_test
https://github.com/tf63/vercel_serverless_test
Last synced: 24 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/tf63/vercel_serverless_test
- Owner: tf63
- Created: 2023-08-02T15:21:21.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-02T17:51:15.000Z (over 1 year ago)
- Last Synced: 2023-08-02T18:08:17.071Z (over 1 year ago)
- Language: Dockerfile
- Size: 41 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### Vercel Serverless Functionsを使ってみる
### 対応言語
(参考)
- https://vercel.com/docs/concepts/functions/serverless-functions/supported-languages**Nextjs**
- API Routeがデフォルトでserverless functionsとしてデプロイされる**Nodejs**
- `api/*.ts`で`export default`された関数がserverless functionsとしてデプロイされる
- vercelの型情報は次でインストールできる
```
npm i -D @vercel/node
``````
import type { VercelRequest, VercelResponse } from '@vercel/node';
export default (request: VercelRequest, response: VercelResponse) => {
const { name } = request.query;
response.status(200).send(`Hello ${name}!`);
};
```**Go**
- `api/*.go`で`net/http`にマッチする関数がserverless functionsとしてデプロイされる
- デフォルトでは`Go 1.16`
```
package handler
import (
"fmt"
"net/http"
"time"
)
func Handler(w http.ResponseWriter, r *http.Request) {
currentTime := time.Now().Format(time.RFC850)
fmt.Fprintf(w, currentTime)
}
```**Python**
- `api/*.py`で`BaseHTTPRequestHandler`を継承したクラス,または`wsgi` or `asgi`アプリケーション
- デフォルトでは`python3.9`らしい
```
from http.server import BaseHTTPRequestHandler
from datetime import datetime
class handler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/plain')
self.end_headers()
self.wfile.write(str(datetime.now().strftime('%Y-%m-%d %H:%M:%S')).encode())
return
```**Ruby**
- 知らない