程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Google App Engine环境中托管的Golang网络应用出现错误;应用前端BigQuery大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在Google App ENGIne环境中托管的Golang网络应用出现错误;应用前端BigQuery?

开发过程中遇到在Google App ENGIne环境中托管的Golang网络应用出现错误;应用前端BigQuery的问题如何解决?下面主要结合日常开发的经验,给出你关于在Google App ENGIne环境中托管的Golang网络应用出现错误;应用前端BigQuery的解决方法建议,希望对你解决在Google App ENGIne环境中托管的Golang网络应用出现错误;应用前端BigQuery有所启发或帮助;

解:

1)删除“上下文”导入

2)导入“ google.golang.org/appENGIne”;看到

    [https://github.com/golang/appENGIne/blob/master/README.md][1]

有关更多详细信息,请参阅:本地appENGIne软件包安装

3)此功能

    http.HandleFunc("/", bqPagE)

来电

    bqPage(w http.ResponseWriter, req *http.request)

作为处理程序功能。将第二个req参数传递给构建/调用bigquery客户端的代码:

    ctx := appENGIne.NewContext(req)

    // Get the projectID value from the Google Cloud Console:

    projectID := "--------------"

    // Create a clIEnt.

    clIEnt, err := bigquery.NewClIEnt(ctx, projectID)

一旦有了客户对象,就可以开展业务。

4)在DOS窗口中指向托管main.go文件的目录,运行

    gcloud app deploy

然后使用

    gcloud app browse

解决方法

我构建了一个Golang网络应用,该应用在Google BigQuery项目的前端。该应用程序具有这些导入

import (
      "context"
      "html/template"
      "log"
      "net/http"
      "regexp"
      "Strings"
      "strconv"
      "cloud.google.com/go/bigquery"
      "google.golang.org/api/iterator"
)

以及用于BigQuery安全凭证的JSON文件。在本地,它可以在localhost:8080完美运行。然后,我尝试使用Google App
ENGIne托管它,但遇到了一些错误。

对于Google App ENGIne部署,我首先在本地安装了Google Cloud SDK,运行了gcloud init,然后安装了

gcloud components install app-ENGIne-go
bq
core
gsutil
gcloud
beta
app-ENGIne-python

包。我从main.go中删除了main()函数,并且项目目录中包含一个YAML文件。我跑了

gcloud config set project {Correct project ID}

然后在DOS窗口中

gcloud app deploy

在项目目录中。我收到此错误(格式化为SO并删除私人信息):

C:\Golang Web Dev\golang-web-dev-master\bigqueryApp_AppENGIne>gcloud app deploy

ERROR: (gcloud.app.deploy)
Staging command

[C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appENGIne\goapp-stager.exe    
C:\Golang Web Dev\golang-web-dev-master\bigqueryApp_AppENGIne\app.yaml    
C:\Golang Web Dev\golang-web-dev-master\bigqueryApp_AppENGIne    
c:\-----\-----\apPDAta\local\temp\--------\--------]

failed with return code [1].

-------------------------------------STDOUT-------------------------------------    
-------------------------------------STDERR-------------------------------------

2017/07/18 18:14:44 failed analyzing C:\Golang Web Dev\golang-web-dev-master\bigqueryApp_AppENGIne:

cAnnot find package "google.golang.org/appENGIne/socket" in any of:
        ($GOROOT not set)
        C:\Go Workspace\src\google.golang.org\appENGIne\socket (from $GOPATH)    
GOPATH: C:\Go Workspace\src\google

我将此错误追溯到导入的错误

"cloud.google.com/go/bigquery"

包; 使用此技术,另一个没有cloud.google.com/go/bigquery的“测试”应用程序也可以正常工作。我试图导入

google.golang.org/appENGIne/socket

打包到应用程序中,然后出现另一个编译错误;好像此页面上说甚至不要去那里。接下来,我使用原始应用程序尝试了该vid中的想法,并将原始main()函数保留在main.go中。我打过

gcloud app deploy

在Cloud SHell窗口中。我懂了

$ ---_---------@---------------X------:~/bigqueryApp
$ gcloud app deploy
ERROR: (gcloud.app.deploy) Staging command [/google/google-cloud-sdk/platform/google_appENGIne/goroot-1.6/bin/go-app-stager
/home/---_---------/bigqueryApp/app.yaml /tmp/---------/---------]
failed with return code [1].

------------------------------------ STDOUT ------------------------------------    
------------------------------------ STDERR ------------------------------------

2017/07/18 21:30:23 failed analyzing /home/---_---------/bigqueryApp:
cAnnot find package "google.golang.org/api/iterator" in any of:
        ($GOROOT not set)
        /home/---_---------/gopath/src/google.golang.org/api/iterator (from $GOPATH)
        /google/gopath/src/google.golang.org/api/iterator
GOPATH: /home/---_---------/gopath:/google/gopath

错误。该应用程序显然会导入迭代器包。我研究/尝试过等方法来修复这两种技术中的错误,但没有运气。如果有人有想法:如何解决这些错误,我想知道它们,我将不胜感激。

谢谢!

大佬总结

以上是大佬教程为你收集整理的在Google App Engine环境中托管的Golang网络应用出现错误;应用前端BigQuery全部内容,希望文章能够帮你解决在Google App Engine环境中托管的Golang网络应用出现错误;应用前端BigQuery所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。