koyama
1
・前提
udemyのようなアプリを作りたいと考えています。
なので、ユーザーはサイズの大きな動画ファイルをいくつもアップロードすることになります。
・現状
bubbleのファイルアップローダーは①アップロードできるファイルのサイズに制限があり、②アップロードのスピードも遅い気がします。
forumを見ると、①に関してはゼロコードさんのプラグインであるAWSアップローダーで解決できそうな気がします。
しかし、②の解決法はよく分かりませんでした。(AWSアップローダーのデモを触ってみたところ、これも遅かったです)
・質問したいこと
1.②に関して、ファイルのアップロードに時間がかかるとユーザーが離れる可能性があるため、アップロード時間を短くするか、それ以外の方法でアップロードに関するユーザーの負担を下げる必要があると思うのですが、いい方法はございませんか?
2.①に関して、もしプラグインのAWSアップローダーを使うよりもいい方法がございましたらそれもぜひ教えていただきたいです。
どうかよろしくお願いいたしますm(__)m
※VimeoはセキュリティとBANされたときのリスクがあるので避けたいと思っています。
完全な答えは提示できませんが、ファイルアップロード速度が遅い(かもしれない)理由についてです。
-
Bubbleのサーバーはアメリカにあります。
そのため日本国内からアップロードする場合、日本→アメリカの国際通信網を使用してデータが送信されるため、国内サーバーに送信する時と比較すると遅くなる可能性があります。
-
Bubbleが稼働しているサーバー(おそらくDockerコンテナ)のプラン別にAWSと外部の通信速度に上限が設定されているため、それよりも高速化はできません。
また、プランが低い場合実行環境のコンテナ帯域も共有となるためBubble環境で速度を向上させることは難しいです。
-
AWSなどのプラグインを使えば〜と考えると思いますが、Bubbleのバックエンドを介したAWS(S3など)への通信の場合、ユーザー側の通信はあくまでもBubbleのサーバーと通信することとなるため、2の影響が回避できません。
従って、「とにかく高速にUPできる環境を作りたい」のであれば、例えばS3と直接通信できるユーザー側(クライアントのみ)で動作するJavascript(Plugin)を作成し、フロントに実装することとなります。この場合、Bubbleのストレージを返すこともできないため、PluginでVisualElementなども作成し、通信先は全てS3(直接)です。
S3直接通信であれば日本にもエッジがあるので、ユーザー環境にもよりますが100MB/sec程度は出ると思います。
ただし、AWSのIAMなど漏洩するとまずいものも数多く使用するため、実装難易度は高いです。
「いいね!」 5
koyama
3
ありがとうございます!凄く勉強になりました!
ではしばらくはアップロードのスピードは諦めた方が良さそうですね…
ゼロコードさんのawsファイルアップローダーで頑張ってみます