cpdctl を使用した Shiny アプリのデプロイ

cpdctl を使用して Shiny アプリをデプロイします。

Shiny アプリがない場合は、作成します。 R Studio コンソールに次のコード例を入力できます。

library(shiny)
ui <- fluidPage(
  "Hello, world!"
)
server <- function(input, output, session) {
}
shinyApp(ui, server)

あるいは、 GUI から直接サンプル・アプリケーションを作成します。 自動生成アプリの RStudio GUI からの作成 を参照してください。

プロジェクト 資産 をエクスポートして、それを デプロイメント・スペース にインポートすることは、 資産 (例えば、 Shiny アプリ) を デプロイメント・スペース に移動するための標準的な方法です。 詳しくは、 スペースおよびプロジェクトのインポート を参照してください。

cpdctl を使用する場合、 2 つの異なる 資産 タイプから Shiny アプリをデプロイできます。

cpdctl を使用した Shiny アプリのデプロイ

cpdctl を使用して Shiny アプリをデプロイするには、以下のようにします。

  1. シャイニー・アプリのメタデータを設定します。 以下の例を参照してください。

    #Shiny App Name:
    shiny_deployment_name="sampleapp-cpdctl-3"
    
    #asset metadata specification
    asset = {
    "id" : "c0d7c50e-455a-48bb-b3d2-a987ff0791fe"
    }
    
    asset_json = json.dumps(asset)
    asset_json
    
    #hardware metadata specification
    hardware_spec_details = {
    "id" : "f3ebac7d-0a75-410c-8b48-a931428cc4c5",
    "rev" : 'latest',
    "name" : "XS",
    "num_nodes" : 1
    }
    
    hardware_spec_details_json = json.dumps(hardware_spec_details)
    hardware_spec_details_json
    
    #shiny metadata specification
    rshiny_details = {
    "authentication" : "members_of_deployment_space",
    "parameters" : {
       "serving_name" : "shiny15"
    }
    }
    rshiny_details_json = json.dumps(rshiny_details)
    rshiny_details_json
    
  2. Shiny アプリをデプロイします。

    ! cpdctl ml deployment create --space-id {space_id} --name {shiny_deployment_name} --asset '{asset_json}'  --r-shiny '{rshiny_details_json}' --hardware-spec '{hardware_spec_details_json}'
    

バッチ・ デプロイメント では、 hardware_spec.num_nodes パラメーターはサポートされていません。

cpdctl を使用した Shiny アプリを含むコード・パッケージのデプロイ

詳しくは、 CPDCTL を使用したコード・パッケージ 資産 の作成および登録 を参照してください。

cpdctl を使用して Shiny アプリを含むコード・パッケージをデプロイするには、以下のようにします。

  1. シャイニー・アプリのメタデータを設定します。 以下の例を参照してください。

    #Shiny App Name:
    shiny_deployment_name="sampleapp-cpdctl-3"
    
    #asset metadata specification
    asset = {
    "id" : "c0d7c50e-455a-48bb-b3d2-a987ff0791fe"
    }
    
    asset_json = json.dumps(asset)
    asset_json
    
    #hardware metadata specification
    hardware_spec_details = {
    "id" : "f3ebac7d-0a75-410c-8b48-a931428cc4c5",
    "rev" : 'latest',
    "name" : "XS",
    "num_nodes" : 1
    }
    
    hardware_spec_details_json = json.dumps(hardware_spec_details)
    hardware_spec_details_json
    
    #shiny metadata specification
    rshiny_details = {
    "authentication" : "members_of_deployment_space",
    "parameters" : {
       "serving_name" : "shiny3"
       "code_package" : {
          "path" : "RShiny/apps/app1"
       }
    }
    }
    
  2. Shiny アプリをデプロイします。

    ! cpdctl ml deployment create --space-id {space_id} --name {shiny_deployment_name} --asset '{asset_json}'  --r-shiny '{rshiny_details_json}' --hardware-spec '{hardware_spec_details_json}'
    

バッチ・ デプロイメント では、 hardware_spec.num_nodes パラメーターはサポートされていません。