PythonフレームワークのFlaskとJavascript、そしてcsvをデータセットとするクイズwebアプリをCoudflareというwebサービスを使ってデプロイしたくて色々と調べたんですが、、、。
結論から言うと、現時点(2024/10/28)時点では無理っぽいです。
Cloudflareにはサービスについて色々質問できるAIアシスタントがついていて、そこで質問してみたところ、以下のような回答を得ました。
英語しか対応してないようなので、プロンプトを英語にし、返された英語の回答をDeepLで翻訳してみました。
You can deploy your web application to Cloudflare using Cloudflare Pages or Cloudflare Workers.If you want to deploy a static HTML website with JavaScript, you can use Cloudflare Pages. You can follow the guide on deploying any static HTML website to Cloudflare Pages: https://developers.cloudflare.com/pages/framework-guides/deploy-anything
However, since you mentioned Flask, which is a Python framework, you might need to use Cloudflare Workers to deploy your application. Cloudflare Workers supports Python, and you can use it to deploy your Flask application.Here's an example of how to query a D1 database from Python and deploy your application globally using Cloudflare Workers: https://developers.cloudflare.com/d1/examples/query-d1-from-python-workers
You can also use the create-cloudflare-cli
(C3) tool to set up and deploy your Workers application to Cloudflare: https://developers.cloudflare.com/r2/api/workers/workers-api-usage
These sources might provide additional context:
create-cloudflare-cli
(C3) ツールを使って Workers アプリケーションをセットアップし、Cloudflare にデプロイすることもできます: https://developers.cloudflare.com/r2/api/workers/workers-api-usage色々書いてありますが、要はCloudflare workersというサービスを使えばデプロイできるとのこと。その例となるリンクも貼付されていました。ただ、AIアシスタントは誤った回答をすることがよくあるので、本当にそうなのかもう少し詳しく調べてみました。
調べてみて分かったことは、CloudflareがPythonに対応したのはここ最近で、Pythonに関連するサービス全般はベータ版として運用されているとのこと。
そこで、Cloudflareが公開しているworkers対応の言語のうちPythonに関するドキュメントを確認したところ、以下のような注意文が記載されていました。
<aside>
原文:
Python Workers are in beta. Packages do not run in production.
Currently, you can only deploy Python Workers that use the standard library. Packages cannot be deployed and will only work in local development for the time being.
You must add the python_workers compatibility flag to your Worker, while Python Workers are in open beta.
We’d love your feedback. Join the #python-workers channel in the Cloudflare Developers Discord ↗ and let us know what you’d like to see next.
訳文:
Python Workersはベータ版です。パッケージは本番環境では実行できません。
現在、標準ライブラリを使用するPython Workersのみをデプロイできます。パッケージはデプロイできず、現時点ではローカル開発でのみ機能します。
Python Workersがオープンベータ版の間は、Workerにpython_workers互換フラグを追加する必要があります。
皆様のフィードバックをお待ちしています。Cloudflare Developers Discordの#python-workersチャンネルに参加して、次に見たいことを教えてください。
</aside>
本番環境というのが、アプリにアクセスしてもらうための環境。私の場合であれば、インターネット上に公開し誰でもアクセスできる環境がそれに当たります。
パッケージというのがどんなものかイマイチ理解しきれてないんですが、おそらくrequirements.txt
などのテキストファイルに、開発に使うライブラリやフレームワークをまとめたものをいうんだと思います。