2

私のアプリのライブバージョンは、エンドポイントとともに展開されています(問題はありません)。 他のバージョン(例:ステージング)を簡単にテストすることもできます。GAEでのエンドポイントV2のバージョン管理

エンドポイントV1の場合:問題ありません。 endpointV2で

: すべては私がhttps://[PROJECT-ID].appspot.comでライブバージョン(に展開する場合正常に動作しますが、他のバージョンでは動作しません

https://staging-dot-[PROJECT-ID].appspot.comでの展開をステージングにデプロイした後に成功しているが、ときフロントエンド。バックエンドを呼び出して、要求がバックエンドで受信される(私はGAEログおよびトレースのリストにそれを見ることができます)、それはendpointV2にかかかわらず、それをしないと404に応答見つかりません:

"errors": [ { "domain": "global", "reason": "notFound", "message": "\u003chtml\u003e\u003chead\u003e\n\u003cmeta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\"\u003e\n\u003ctitle\u003e404 NOT_FOUND\u003c/title\u003e\n\u003c/head\u003e\n\u003cbody text=#000000 bgcolor=#ffffff\u003e\n\u003ch1\u003eError: NOT_FOUND\u003c/h1\u003e\n\u003c/body\u003e\u003c/html\u003e\n" }

私は今、 fを使うollowing mavenプラグイン:

<plugin> 
    <groupId>com.google.cloud.tools</groupId> 
    <artifactId>appengine-maven-plugin</artifactId> 
    <version>1.3.1</version> 
    <configuration> 
     <!-- deploy configuration --> 
    </configuration> 
</plugin> 
<plugin> 
    <groupId>com.google.cloud.tools</groupId> 
    <artifactId>endpoints-framework-maven-plugin</artifactId> 
    <version>1.0.0</version> 
</plugin> 

私はappengine.xmlとGoogle Cloudプラグインでバージョンを調整しました。メインバージョンではなく、特定のモジュールバージョンで動作するようにエンドポイントを設定するにはどうすればよいですか?

+0

「バージョン」とはどういう意味ですか?エンドポイントバージョンのアプリケーションバージョン? – piotrpo

+0

私は同じ問題があります。私はエンドポイント1を使ったプロジェクトを持っています。エンドポイント2への移行は、プロジェクトがappengineの遊び場プロジェクトに配備されている場合には有効です。本番プロジェクトの非デフォルトバージョン(例えば、1ドットxxxx、2ドットxxxxはデフォルトであり、古いappengineのものを使用しています)に同じプロジェクトをデプロイしてから、1ドットバージョンにアクセスすると、私たちは404. – cputoaster

+0

@Julien答えを詳しく教えてもらえますか?私はバージョンv2に移行した後、同じ問題に直面しています。 –

答えて

2

ない本当に答え、私はこれを見ながら:

レガシータイプのエンドポイント(V1)、すべてが正常に動作を展開する場合、新しいタイプを展開する場合、 https://3-dot-xx.appspot.com/_ah/api/discovery/v1/apisはバージョン3

に展開するAPIが表示されます

エンドポイント(v2)(例:2ドット)は、バージョンにデプロイされた最後のV1エンドポイントに依存します。

  • それは、以前に展開されていないV1のエンドポイントとの新しいバージョンでは動作し、新しいエンドポイントを前に、ここで展開V1エンドポイントがあった場合、それは古いが表示されます2 - ドット -
  • に表示されている場合実際に動作しているGAEのバージョンが異なるため、V1 apisは実際にアクセスしたときに404を生成します。
  • バージョンがまったくデプロイされなかった場合(asdf-dot-)、またはデフォルト(-dotなどなし)デフォルトのバージョンが表示され、正しくアクセスされます。
  • のための安定した名前を使用してからあなたを防ぐことができますバグがあるように展開V1サービスが、V2のサービスがあったことがないのであれば、新しいV2サービス

を展開するときに、それが正常に動作し、それはそうですすでにV1サービスが実行されている場合は、テスト/ステージング環境になります。 Googleからの誰かがこのバグを確認し、URLを変更するために多くの費用のかかる変更を行う前に、適切な回避策を提案すると非常に役に立ちます。

+0

それは私のために解決しました:私は以前にendpointV1で使用されていたステージングバージョン名を使用していました。新しい名前を使用すると、この問題は解消されます。私はそれがエンドポイントV2バグだと考えていますが、問題が特定されたらそれを回避するのに十分簡単です! – Julien

+0

新しいバージョン名を使用すると、既存のバージョンを削除した後(APIにアクセスできない)、エンドポイントV2を使用して再度展開すると –

0

私の短い答えは:以前はendpointV1で使用されていたバージョン名を再使用しないでください。

など。私はtesting-dot-MYPROJECT.appspot.comを持っていた。

私は現在、別のバージョン:test-dot-MYPROJECT.appspot.comを使用しています。

長い答えのために、cputoasterの答えを見てください。

関連する問題