ios - 在 iOS 上使用 edgeSDK 包装器部署微服务时的 imagePath 和 apiRootUrl 值是什么?如何设置它们?
问题描述
我正在开发一个使用基于 duktape javascript 的微服务的 iOS 应用程序,并将使用 edgeSDK 的 iOS 包装器部署它。为此,我被要求指定 imagePath 和 apiRootUrl 值。它们是什么以及如何设置它们?
这是我的部署功能:
func deployMicroService() -> Void {
let deployConfig = MMKMicroserviceDeploymentConfig.init(name: "micro-service", apiRootUrl: "???", imagePath: "???", envVariables: [:])
let edgeOpsWrapper = edgeSDK_iOS_app_ops()
edgeOpsWrapper.deployMicroservice(edgeAccessToken: "MY-DEPLOYMENT-TOKEN", config: deployConfig) { (result) in
if let checkedError = result.error {
print("micro service deployment ended with error: \(checkedError.localizedDescription)")
}
else {
print("micro service deployment result: \(result.status.debugDescription)")
}
}
}
解决方案
答案是:
apiRootUrl是一个任意值,您的微服务将在其下部署。例如,您可以使用以下内容:
"/micro-service/v1"
这将导致您的微服务可以在以下位置访问:
http://localhost:8087/client-id-value/micro-service/v1
imagePath是微服务镜像 tar 文件的文件系统路径。通常位于应用程序的包中。例如,您可以使用以下内容:
class func microServiceBundleStoragePath(serviceName: String) -> String? {
let microServiceFileName = "\(serviceName)-v1"
let microServiceBundlePath = Bundle.main.path(forResource: microServiceFileName, ofType: ".tar")
return microServiceBundlePath
}
导致文件系统路径为:
"/private/var/containers/Bundle/Application/DF2F6617-9153-4AEC-999D-BC7699A80FA0/example.app/micro-service-v1.tar"
推荐阅读
- bash - 如果 var 名称很长并且有空格,如何在 shell 中引用和查看 env var?如何在上面使用echo?
- c# - 对象初始化程序中不支持 C# 集合初始化程序
- mapbox-gl-draw - 从geojson编辑线串时,Mapbox-gl-draw重复点
- wordpress - Wordpress 侧边栏 展开/折叠 如何?
- php - WordPress 5.7.2 缺少新媒体文件的临时文件夹错误
- sql - ORACLE中如何从JSON中提取嵌套节点值
- groovy - npm-groovy-lint 故障警告以及特定类型的信息
- accessibility - Citrix 访问与 Infinity 访问
- graphql - 使用 Amplify GraphQL Data 对查询列表进行排序,无需任何其他字段匹配
- yugabyte-db - YugabyteDB 中的 pg_hint_plan 不尊重 HashJoin (ab) ,仍然支持 NL