API 和 appengine-web.xml 版本之间的区别
Difference between API and appengine-web.xml versions
我是 Google App Engine 的新手,我目前有一个功能正常的端点,我可以使用 Build > Deploy Module to App Engine...
菜单项在 Android Studio 中部署它。
部署时,我注意到 Android Studio 使用来自 appengine-web.xml
的版本号,并且它是部署后在控制台中使用的版本号。我想知道,API 版本号是什么意思,它应该与 Endpoint 版本匹配吗?
例如,我的端点 class 是这样配置的 (v2):
@Api(
name = "myApi",
version = "v2",
namespace = @ApiNamespace(
ownerDomain = "backend.mydomain",
ownerName = "backend.mydomain",
packagePath = ""
)
)
但是如果我的 appengine-web.xml
配置为版本 1,后端代码将被推送到版本 1,但会继续使用 API 版本 2。
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>myproject</application>
<version>1</version>
<threadsafe>true</threadsafe>
<system-properties>
<property name="java.util.logging.config.file" value="WEB-INF/logging.properties" />
</system-properties>
</appengine-web-app>
这是个问题还是不好的做法?
没关系。 App Engine 中的版本对应于实例上运行的已部署代码版本。您可以拥有多个应用程序引擎版本,但它们各自是各自不同的部署。 Cloud Endpoints 中的版本被视为 api 版本,您可以在同一应用引擎版本中拥有一个或多个 运行。
考虑 App Engine 版本的一个好方法是传统的开发、暂存、生产范例。您可以部署 <version>dev</version>
、<version>stage</version>
和 <version>prod</version>
,然后将 prod
设置为默认服务版本。然后,每个 App Engine 版本都可以托管 api 个版本 v1
、v2
和 v3
.
我是 Google App Engine 的新手,我目前有一个功能正常的端点,我可以使用 Build > Deploy Module to App Engine...
菜单项在 Android Studio 中部署它。
部署时,我注意到 Android Studio 使用来自 appengine-web.xml
的版本号,并且它是部署后在控制台中使用的版本号。我想知道,API 版本号是什么意思,它应该与 Endpoint 版本匹配吗?
例如,我的端点 class 是这样配置的 (v2):
@Api(
name = "myApi",
version = "v2",
namespace = @ApiNamespace(
ownerDomain = "backend.mydomain",
ownerName = "backend.mydomain",
packagePath = ""
)
)
但是如果我的 appengine-web.xml
配置为版本 1,后端代码将被推送到版本 1,但会继续使用 API 版本 2。
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>myproject</application>
<version>1</version>
<threadsafe>true</threadsafe>
<system-properties>
<property name="java.util.logging.config.file" value="WEB-INF/logging.properties" />
</system-properties>
</appengine-web-app>
这是个问题还是不好的做法?
没关系。 App Engine 中的版本对应于实例上运行的已部署代码版本。您可以拥有多个应用程序引擎版本,但它们各自是各自不同的部署。 Cloud Endpoints 中的版本被视为 api 版本,您可以在同一应用引擎版本中拥有一个或多个 运行。
考虑 App Engine 版本的一个好方法是传统的开发、暂存、生产范例。您可以部署 <version>dev</version>
、<version>stage</version>
和 <version>prod</version>
,然后将 prod
设置为默认服务版本。然后,每个 App Engine 版本都可以托管 api 个版本 v1
、v2
和 v3
.