問題タブ [google-app-engine-go]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-app-engine - golang ginをGoogleアプリエンジンで動作させるには?
私のGOPATHは$HOME/go
、プロジェクトのソースコードを$HOME/go/src/myproj
2 つのファイルがあります。
app.yaml:
そしてhello.go
それから私は走りますdev_appserver.py .
できます、
次に、hello.go を次のように分割することにしました。
新しいhello.go
とapi
フォルダとapi/api.go
ファイル
その後dev_appserver.py .
、もう一度実行しましたが、次のエラーが発生しました。
ERROR 2018-09-28 05:17:47,653 instance_factory.py:229] Go アプリケーションのビルドに失敗しました: (実行されたコマンド: /Users/gaco/.google-cloud-sdk/platform/google_appengine/goroot-1.9/bin/go -app-builder -app_base /Users/gaco/go/src/myproj -api_version go1 -arch 6 -dynamic -goroot /Users/gaco/.google-cloud-sdk/platform/google_appengine/goroot-1.9 -nobuild_files ^^$ -incremental_rebuild -unsafe -print_extras_hash hello.go api/api.go)
2018/09/28 14:17:47 go-app-builder: 入力の解析に失敗しました: アプリ ファイル api.go は、GOPATH からインポートされた同じファイルと競合します
警告 2018-09-28 05:17:47,654 instance.py:297] インスタンスの PID を取得できませんでした エラー 2018-09-28 05:17:47,654 instance.py:300] '_GoBuildFailureRuntimeProxy' オブジェクトに属性 '_process' がありません
何が問題ですか?どうすれば解決できますか?
go - Golang アプリを app-engine にデプロイして、コードを変更せずにファイルを読み書きできますか?
Go で Web アプリを作成しましたが、サーバーまたはアプリ エンジンでできるだけスムーズに実行できるようにしたいと考えています。
基本的に、単一の .exe (私は Windows で開発しています) と、静的ファイルを含む一連のフォルダーを作成しました。さらに、N 個の構成ファイルを含むフォルダーがあります。
これらの構成ファイルには、データベースのセットアップに必要なすべての構成、ログを書き込むフォルダー/パスなどが含まれます。
ローカル マシンで .exe をダブルクリックすると、「時刻 0」にインストール プロセスが開始されます。構成ファイルを確認し (存在しない場合は作成されます)、コンソールでの回答に従って更新します。さらに、アプリはファイルシステムにログ ファイルを生成します。
私の質問: アプリ エンジンに自分の go コードを「そのまま」「アップロード」して、yaml ファイルに appengine に固有の構成をいくつか含めることはできますか、それとも次のように MY Go コードを修正する必要がありますか? app-engine の他の場所で構成ファイルを探す必要があり、2) ログは app-engine の特定のパスとの間で読み書きされます。
言い換えれば、Web アプリの一種の「一度書けば、どこでも実行/展開」バージョンを実現できるかどうか疑問に思っています。
これはコミュニティでの最初の質問なので、すべての指示に従っていただければ幸いです。ありがとう。
google-app-engine - App Engine go111 ベータ版のルーティング/ハンドラー ワイルドカードは順序を無視しますか?
GO 1.11 App Engine Beta を試したところ、ルーター/ハンドラーが異なるようです。私は RESTful-VueJS アプローチを使用し、次のハンドラー構成を使用しました。
アプリ エンジンの最初の世代では、ハンドラーの順序が重要であり、一致するパターンを持つ最初のハンドラーが優先されます。しかし、これはもうこのようには機能しないようです。したがって、「/v1/xyz」を呼び出しても、常に「index.html」を受け取ります
これは、App Engine ですべてのトラフィックが entrypoint コマンドを使用して処理されるようになったことに関係していると思います。私が理解している限りでHandleFuncs()
は、main() または init() で設定されているものと一致させようとしていますか? また、私のような Web フレームワークを使用している場合、ルートを指定していない場合main()
やinit()
、使用したい場合はどうなりますmux
か?