dispatch.yaml に関するさまざまなページを見ていますが、そのほとんどに同様の情報と例が含まれています。
https://cloud.google.com/appengine/docs/flexible/nodejs/how-requests-are-routed#routing_with_a_dispatch_file https://cloud.google.com/appengine/docs/python/config/dispatchref https:// cloud.google.com/appengine/docs/go/config/dispatchref など。
私はたまたま GAE フレキシブル環境で node.js を使用していますが、どの言語や環境でも同じだと思います。
問題は、これらのページが実際には dispatch.yaml の動作を指定していないことです。特に:
- ルールは指定された順序で適用されますか? 最初に一致するルールが使用されていると想定していますが、そうは言っていないようです。
- 先頭のグロブ (ワイルドカード) 文字はドメイン名のみに一致しますか? それとも URL のパスの最初の部分に一致しますか? ルールが の場合、
*/hello
それは一致しmyapp.appspot.com/path/hello
ますか? ドキュメントの漠然としたヒントに基づいて、そうではないと思いますが、あまり明確ではありません。 - dispatch.yaml のルールが URL と一致しない場合、デフォルト サービスにルーティングされますか? そうしなければならないと思いますが、繰り返しになりますが、これらのページには記載されていません。
- URL は、サービスに送信される前にルールに基づいて書き換えられますか? ルールが
*/path/*
で URL が の場合https://myapp.appspot.com/path/hello
、サービスはそれを と見なします/path/hello
か/hello
? 私は前者を推測しています。
現在試行錯誤中ですので、自問自答も近いうちにできるかもしれません。また、ドキュメント フィードバック システムを通じて Google にも送信しています。