ホームページ  >  記事  >  バックエンド開発  >  Python を小規模プログラムのバックエンドとして使用する 3 つの方法

Python を小規模プログラムのバックエンドとして使用する 3 つの方法

WBOY
WBOY転載
2023-04-12 21:10:142623ブラウズ

こんにちは、私は鄭兄弟です。 WeChat のミニ プログラムはとても良い経験で、シンプルですぐに使えます。私は最近ミニ プログラムの使い方を勉強しています。参考までに Python をミニ プログラムのバックエンドとして使用する 3 つの方法をまとめました。

方法 1. WeChat クラウド ホスティング[1]。

メリット: サーバー購入不要、ドメイン名登録不要、使用量に応じた課金、DevOps自動化、セキュリティ認証、運用保守の経験のない人に最適。

欠点: コストは、自社でサーバーを構築するコストよりも確実にわずかに高くなります。同じ車種でもオートマチックトランスミッション車はマニュアルトランスミッション車よりも高価です。

Python を小規模プログラムのバックエンドとして使用する 3 つの方法

いわゆるクラウド ホスティングは Docker コンテナです。ウェアハウスを入手するだけで済みます。ウェアハウスは github、gitlab、gitee のいずれかで作成できます。 Dockerfile を作成してクラウド ホスティングにアップロードすると、クラウド ホスティングがコンテナ イメージを自動的に構築して実行します。コンテナの実行方法はカスタマイズできます。デプロイが完了すると、外部サービスを提供するサービスの入り口となるデフォルトのドメイン名アドレスが取得されるので、通常のサービスとして呼び出してアクセスすることも、独自のドメイン名をバインドすることもできます。

ミニ プログラムでは、次のようにコンテナ サービスにアクセスできます:

// 确认已经在 onLaunch 中调用过 wx.cloud.init 初始化环境(任意环境均可,可以填空)
const res = await wx.cloud.callContainer({
config: {
env: '填入云环境ID', // 微信云托管的环境ID
},
path: '/xxx', // 填入业务自定义路径和参数,根目录,就是 / 
method: 'POST', // 按照自己的业务开发,选择对应的方法
header: {
'X-WX-SERVICE': 'xxx', // xxx中填入服务名称(微信云托管 - 服务管理 - 服务列表 - 服务名称),在上述实践中是 demo
}
// 其余参数同 wx.request
});
console.log(res);

コンテナを使用すると、バックエンドに任意のプログラミング言語を使用できます。 Python はまったく問題なく、ワンクリックでデプロイできる公式の Django テンプレートもあります。

方法 2. WeChat のクラウド機能移管 [2]

利点: ドメイン名の登録は必要なく、一定の無料割り当てがあります。

欠点: サーバーを自分で構成する必要があります

いわゆるクラウド機能は、Tencent Cloud 上で実行される Node.js 機能であり、コンピューティング ロジックのみを備えており、データ アクセスのためにクラウド データベースにシームレスにアクセスできます。

アプレットは次のようにクラウド関数を呼び出します:

wx.cloud.callFunction({
// 要调用的云函数名称
name: 'dailyexam',
// 传递给云函数的event参数
data: {
x: 1,
y: 2,
}
}).then(res => {
// output: res.result === 3
}).catch(err => {
// handle error
})

Node.js 関数は実際には非同期 JavaScript 関数です。クラウド関数では、独自に構築したサーバー上でサービスをリクエストできます。たとえば、次のコードでは、ドメイン名 somenzz.cn は登録されません。

クラウド関数ターミナルは、次のように自己構築 API サービスを呼び出します。

Python を小規模プログラムのバックエンドとして使用する 3 つの方法

無料割り当ては通常非常に小さく、毎日の読み取り数はデータベースは 500 を超えることはできず、書き込み数は 300 を超えることはできません。

Python を小規模プログラムのバックエンドとして使用する 3 つの方法

自作サービスなので当然Pythonで開発できます。

方法 3: 独自のサーバーを構築し、ドメイン名を登録します。

利点: お金を節約できます。アクセス数が増えるほど、より多くのお金を節約できます。

欠点: ドメイン名の登録が必要です。

クラウド関数とクラウド ホスティングを使用しない場合、ミニ プログラムで wx.request 関数を使用して、自己構築サービスをリクエストすることのみが可能です。

wx.request({
url: 'example.php', //仅为示例,并非真实的接口地址
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json' // 默认值
},
success (res) {
console.log(res.data)
}
})

wx.request 関数には、次のような機能があります。次のような使用制限があります。 :

Python を小規模プログラムのバックエンドとして使用する 3 つの方法

通常、国内サーバーが必要で、その後ドメイン名を登録しますが、登録すると多くの開発者が参加を思いとどまることになります。

独自のサーバーを構築するので、もちろん Python を使用して開発することができます。

参考資料

[1]WeChatのクラウドホスティング: https://cloud.weixin.qq.com/cloudrun?utm_source=idecloudconsole

[2]WeChatのクラウド機能転送: https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/capabilities.html#云function

以上がPython を小規模プログラムのバックエンドとして使用する 3 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。