【问题标题】:ERROR: (gcloud.functions.deploy) OperationError: code=3, message=Build failed Error ID: 6191efcd错误:(gcloud.functions.deploy)OperationError:代码=3,消息=构建失败错误ID:6191efcd
【发布时间】:2020-06-24 08:29:58
【问题描述】:

我从今天早上开始收到以下错误,但我的代码没有任何改变(只是添加了一个 log.println()...即使返回到以前部署的版本也不能解决问题)

trigger.go(入口点)

// The function that runs with the cloud function itself
func HandleUserCreateEvent(ctx context.Context, e my_project.FirestoreEvent) error {

    log.Println("-------------------- oldValue --------------------")
    log.Printf("Name: %s\n", e.OldValue.Name)
    log.Printf("CreateTime: %v\n", e.OldValue.CreateTime)
    log.Printf("Fields: %v\n", e.OldValue.Fields)
    log.Printf("UpdateTime: %v\n", e.OldValue.UpdateTime)
    log.Println("-------------------- newValue --------------------")
    log.Printf("Name: %s\n", e.Value.Name)
    log.Printf("CreateTime: %v\n", e.Value.CreateTime)
    log.Printf("Fields: %v\n", e.Value.Fields)
    log.Printf("UpdateTime: %v\n", e.Value.UpdateTime)
    log.Println("-------------------- jsonValue -------------------")
    jsonB, _ := json.Marshal(e.Value)
    log.Printf("Json: %v\n", string(jsonB))
    log.Println("---------------------- DONE ----------------------")

    // My code

    return nil

deploy.sh(还有一个 deploy.bat 和下面的 sh 脚本一样工作)

#!/usr/bin/env bash

# Deployment automation

name="HandleUserCreateEvent"
projectId="my_project"
collection="UsersCollection"

# Must call go vendor as go modules are ignored
go mod vendor
yes Y | gcloud functions deploy ${name} \
    --trigger-event providers/cloud.firestore/eventTypes/document.create \
    --trigger-resource "projects/${projectId}/databases/(default)/documents/${collection}/{pushId}" \
    --region europe-west1 \
    --runtime go113 \
    --allow-unauthenticated \
    --memory 128

因为它工作得很好,现在它不再起作用了(如上所述,我刚刚添加了您在上面看到的代码的 jsonValue 部分)

错误

MacBook-Pro-de-Emixam23:my-project-elasticsearch-creater emixam23$ ./deploy.sh 
Deploying function (may take a while - up to 2 minutes)...
....................................................failed.
ERROR: (gcloud.functions.deploy) OperationError: code=3, message=Build failed: # serverless_function_app/main
src/serverless_function_app/main/main.go:24:38: cannot use my_project_elasticsearch_creater.HandleUserCreateEvent (type func(context.Context, my_project_elasticsearch.FirestoreEvent) error) as type func(http.ResponseWriter, *http.Request) in argument to funcframework.RegisterHTTPFunction; Error ID: 6191efcd

有什么想法吗?我真的认为gcloud有一些问题......


更新 -> gcloud 真的坏了

我刚刚重新部署了一个空函数,只有一个简单的结构作为包,没有依赖项(go modules empty)

type FirestoreEvent struct {
    OldValue   interface{} `json:"oldValue"`
    Value      interface{} `json:"value"`
    UpdateMask struct {
        FieldPaths []string `json:"fieldPaths"`
    } `json:"updateMask"`
}

还是一样的问题

C:\Workspace\go\src\gitlab-group\my-project-elasticsearch-creater>gcloud --version
Google Cloud SDK 298.0.0
app-engine-go
app-engine-python 1.9.91
bq 2.0.58
cloud-datastore-emulator 2.1.0
core 2020.06.19
gsutil 4.51

【问题讨论】:

  • 昨天得到了完全相同的行为,但它再次开始工作而没有改变任何东西。
  • 如果您认为问题出在gcloud 工具上,您可以随时跳过使用它,直接通过API 部署函数:cloud.google.com/functions/docs/reference/rest/v1/… -- 如果函数部署,那么问题是使用gcloud 工具,如果没有,那是服务端的东西。这不会解决问题,但有助于确定来源。
  • 您好,感谢您的回答。你能帮我配置这个请求吗? :/ 因为我不确定配置 json 后如何部署代码部分
  • 好吧,它又开始工作了..刚下班前试了一下,它确实有效..作为我的同事,它只是暂时不工作,但现在恢复正常......跨度>

标签: go google-cloud-firestore google-cloud-functions gcloud


【解决方案1】:

我在同一天结束时尝试了完全相同的方法,它奏效了......

我认为这是与 Google Cloud Platform 相关的问题,不知道为什么我们无法在几个小时内部署它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2014-04-30
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 2014-01-25
    • 2013-01-15
    相关资源
    最近更新 更多