Posit Connect Cloud を使ってみる
Posit Connect Cloud というサービスのアルファ版が公開されていたのでちょっとだけ触ってみました。
Posit Connect Cloud とは?
データ関連のアプリケーションやドキュメントを公開できるプラットフォームだ、とのことです。現時点でデプロイできるのは以下の7種類のようです。
- Quarto
- Shiny
- R Markdown
- Streamlit
- Jupyter Notebook
- Dash
- Bokeh
たぶん Shinyapps.io みたいに、正式リリースされたら、無料枠はありつつ一定以上使うならお金払ってね、って感じになるのかな?という気がしています。今のところは無料で使えるみたいです。
Posit Connect とは?
Posit Connect 自体は Posit Connect Cloud と同じくデータ関連のアプリケーションやドキュメントを公開できるプラットフォームで、エンタープライズ向けに提供されています。
デプロイできる項目はほぼ同じですが、Flask、FastAPI、Plumber あたりは Posit Connect Cloud にはまだないみたいです。パブリックで使うにはいろいろ自由にできすぎるのかもしれません。
ちなみに、このサービス自体はけっこう昔からあって、社名変更前は RStudio Connect という名前でした。ベータ版をちょっと試してみた、という記事が8年前にはあるので、けっこう歴史のあるサービスです。
サインアップ
サインアップは、Posit Connect Cloud のページの「Sign up for free」というボタンからいけます。
まず、この画面が出るので「Sign Up with GitHub」をクリックします。
次に、GitHub 側での連携の承認が求められるので、承認します。
この画面はアンケートです。スキップしてもいいみたいです。
これでサインアップは終わりです。
パブリッシュするコンテンツの準備
上記のように、パブリッシュするにはまず GitHub 上にレポジトリを用意する必要があります。今回は試しに、サンプルコードそのままの Shiny のアプリケーションを publish してみることにします。
コードはサンプルコードそのままでいいんですが、一つだけやることは、R の場合は必ず manifest.json
を含めないといけないそうです。これは Python でいう requirements.txt
に当たるもので、必要なパッケージのバージョンなどが書かれています。以下のコマンドを実行すれば書き出せます。renv なども考慮してくれるみたいです。
library(rsconnect)
writeManifest()
デプロイ
デプロイは、↑の画面の「Publish content」をクリックすると、まずはコンテンツの種類を選ぶ画面になります。今回は Shiny なので Shiny を選びましょう。
次に、レポジトリを選びます。
なぜか Python のバージョンを聞かれます。Python 版の Shiny もあるから...? よくわかりませんが、特にいじらなくて大丈夫だと思います。もし問題あればあとで変えられます。
あと、公開レポジトリということで、API キーとかパスワードとかは使えないと思ってたんですが、ここの Variables という設定に書けるみたいです。値は環境変数としてコード中から参照できます(ドキュメント)。
以上で設定は終わりです。デプロイのログを数十秒眺めます。
はい、公開されました。
実際の Shiny アプリケーションは、以下の URL からアクセスできます。
参考
アナウンスのブログ記事:
Discussion