使用 cpdctl 部署 Shiny 应用程序
使用 cpdctl 部署您的 Shiny 应用。
如果你还没有 Shiny 应用程序,请创建一个。 您可以在 RStudio 控制台中输入以下示例代码:
library(shiny)
ui <- fluidPage(
"Hello, world!"
)
server <- function(input, output, session) {
}
shinyApp(ui, server)
或者,直接通过图形用户界面创建一个示例应用程序。 请参阅《 通过 RStudio 图形用户界面创建自动生成的应用程序 》。
将项目资源导出并导入部署空间,是将资源(例如 Shiny 应用程序)迁移到部署空间的标准方法。 如需了解更多信息,请参阅 “导入空间和项目 ”。
如果您使用 cpdctl,可以从两种不同的资产类型部署 Shiny 应用程序:
使用 cpdctl 部署 Shiny 应用程序
使用 cpdctl 部署 Shiny 应用程序:
设置您的 Shiny 应用元数据。 请参考以下示例:
#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部署您的 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 应用程序的代码包:
设置您的 Shiny 应用元数据。 请参考以下示例:
#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" } } }部署您的 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 参数。