首页 > 解决方案 > 在 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)")
        }
    }
}

标签: iosswiftedgesdkedgeengine

解决方案


答案是:

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"

推荐阅读