【问题标题】:Firestore Export Cron Job Not Running: Error Code 204Firestore 导出 Cron 作业未运行:错误代码 204
【发布时间】:2019-06-18 17:42:48
【问题描述】:

预期

定义的 Firebase 云存储目录 gs://my-project-name.appspot.com/ 将在 GCP 上运行部署的 Cron 作业时填充 my-project-name 的 Firestore 数据库中的所有集合,实现后跟 Schedule data exports 文档。

观察到

Cron 作业部署成功,但运行失败。日志显示Error code 204

日志

2019-01-24 11:19:47.818 PST GET 500 0 B 998 ms AppEngine-Google; (+http://code.google.com/appengine) /cloud-firestore-export?outputUriPrefix=gs://[my-project-name].appspot.com/backups/ 0.1.0.1 - - [24/Jan/2019:11:19:47 -0800] "GET /cloud-firestore-export?outputUriPrefix=gs://[my-project-name].appspot.com/backups/ HTTP/1.1" 500 - - "AppEngine-Google; (+http://code.google.com/appengine)" "cloud-firestore-admin.[my-project-name].appspot.com" ms=998 cpu_ms=482 cpm_usd=0 loading_request=1 instance=00c61b117c5fba456c9edcc5f075ccacb339b96d0bc7a8e35beb60cd3fd50a149d4c2f296b app_engine_release=1.9.71 trace_id=65811179272fc9c721d10e6cab7cdf70

{
    httpRequest: {
    status:  500   
}
insertId:  "5c4a0fd4000c78b4e510bd7a"  
labels: {
    clone_id:  "00c61b117c5fba456c9edcc5f075ccacb339b96d0bc7a8e35beb60cd3fd50a149d4c2f296b"   
}
logName:  "projects/[my-project-name]/logs/appengine.googleapis.com%2Frequest_log"  
operation: {
    first:  true   
    id:  "5c4a0fd300ff0c7e86eb62e71c0001737e636f696e76657273652d6d656469612d73746167696e670001323031393031323474313130333331000100"   
    last:  true   
    producer:  "appengine.googleapis.com/request_id"   
}
protoPayload: {
    @type:  "type.googleapis.com/google.appengine.logging.v1.RequestLog"   
    appEngineRelease:  "1.9.71"   
    appId:  "s~[my-project-name]"   
    endTime:  "2019-01-24T19:19:48.816961Z"   
    finished:  true   
    first:  true   
    host:  "cloud-firestore-admin.[my-project-name].appspot.com"   
    httpVersion:  "HTTP/1.1"   
    instanceId:  "00c61b117c5fba456c9edcc5f075ccacb339b96d0bc7a8e35beb60cd3fd50a149d4c2f296b"   
    instanceIndex:  -1   
    ip:  "0.1.0.1"   
    latency:  "0.998139s"   
    line: [
        0: {
            logMessage:  "This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application."     
            severity:  "INFO"     
            time:  "2019-01-24T19:19:48.816504Z"     
        }
    1: {
        logMessage:  "A problem was encountered with the process that handled this request, causing it to exit. This is likely to cause a new process to be used for the next request to your application. (Error code 204)"      
        severity:  "ERROR"     
        time:  "2019-01-24T19:19:48.816507Z"     
    }
]
    megaCycles:  "482"   
    method:  "GET"   
    pendingTime:  "0.010711670s"   
    requestId:  "5c4a0fd300ff0c7e86eb62e71c0001737e636f696e76657273652d6d656469612d73746167696e670001323031393031323474313130333331000100"   
    resource:  "/cloud-firestore-export?outputUriPrefix=gs://[my-project-name].appspot.com/backups/"   
    startTime:  "2019-01-24T19:19:47.818822Z"   
    status:  500   
    taskName:  "6c799fe7c1a404ec22117967738fcca9"   
    taskQueueName:  "__cron"   
    traceId:  "65811179272fc9c721d10e6cab7cdf70"   
    traceSampled:  true   
    urlMapEntry:  "auto"   
    userAgent:  "AppEngine-Google; (+http://code.google.com/appengine)"   
    versionId:  "20190124t110331"   
    wasLoadingRequest:  true   
 }
 receiveTimestamp:  "2019-01-24T19:19:48.824360342Z"  
     resource: {
         labels: {
             module_id:  "default"    
             project_id:  "my-project-name"    
             version_id:  "20190124t110331"    
             zone:  "us17"    
        }
        type:  "gae_app"   
    }
        severity:  "ERROR"  
        timestamp:  "2019-01-24T19:19:47.818822Z"  
        trace:  "projects/[my-project-name]/traces/65811179272fc9c721d10e6cab7cdf70"  
        traceSampled:  true  
    }

2019-01-24 11:19:48.816 PST
This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.
2019-01-24 11:19:48.816 PST
A problem was encountered with the process that handled this request, causing it to exit. This is likely to cause a new process to be used for the next request to your application. (Error code 204)

配置

  1. 为 GCP 和 Firebase 项目启用了结算功能。
  2. Firebase 存储桶当前已创建并用于将 mp3txt 文件存储在名为 content 的目录下,并带有一个新的空目录创建名为 backups 以存储导出 Cron 作业的结果。

  1. 已按照 Configure access permissions 部分中的建议启用了以下权限。

  1. GCP 项目被定义为默认

  2. app.yamlapp.js 代码已按原样复制。

  3. 对于 package.jsonnameversiondescription 属性已针对项目进行了更改。

  4. cron.yaml 中,descriptionurl 属性是自定义的。对于url,已尝试以下操作以导出所有集合:

    • /cloud-firestore-export?outputUriPrefix=gs://[my-project-name].appspot.com/backups

尝试的解决方案

  1. 版本代码:在后续部署中增加版本代码。
  2. cron.yaml网址:
    • 在目录后添加//cloud-firestore-export?outputUriPrefix=gs://[my-project-name].appspot.com/backups/
    • 添加 collections 查询但将其留空:/cloud-firestore-export?outputUriPrefix=gs://[my-project-name].appspot.com/backups&collections
  3. IAM 权限:向我的用户帐户 my-name@domain.com 添加 Cloud Datastore Import Export Admin 权限,因为这是关联到的电子邮件帐户gcloud config configurations list下的项目。

【问题讨论】:

    标签: javascript google-app-engine cron google-cloud-platform google-cloud-firestore


    【解决方案1】:

    问题是 package.json 版本不能低于1.0.0。我试图使用0.16.0。我正在向文档团队发送一条说明,并且这应该包含在文档中以节省人们的时间。

    【讨论】:

      猜你喜欢
      • 2018-01-10
      • 2016-03-19
      • 2014-11-02
      • 2015-03-14
      • 1970-01-01
      • 2020-03-16
      • 2019-12-31
      相关资源
      最近更新 更多