在 iOS 上使用 edgeSDK 包装器部署微服务时,imagePath 和 apiRootUrl 值是多少?如何设置它们?

What are the imagePath and apiRootUrl values when deploying a micro service using edgeSDK wrapper on iOS and how do I set them?

我正在开发一个 iOS 应用程序,该应用程序使用基于 duktape javascript 的微服务,并将使用 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"