Firestore导出Cron作业未运行:错误代码204

时间:2019-01-24 22:00:14

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

预期

定义的Firebase云存储目录gs://my-project-name.appspot.com/将由在my-project-name的Firestore数据库中的所有集合填充,当部署的Cron作业在GCP上运行且其实现为{{3 }}文档。

已观察

Cron作业已成功部署,但无法运行。日志显示Error code 204

screen shot 2019-01-24 at 11 24 13 am

日志

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存储桶,并将其用于将 mp3 txt 文件存储在名为 content 的目录下,并具有新的空目录创建名为 backups 的文件来存储导出Cron作业的结果。

screen shot 2019-01-24 at 10 20 20 am

  1. 已按照 Schedule data exports 部分中的建议启用了以下权限。

screen shot 2019-01-24 at 10 17 02 am

  1. GCP项目定义为默认screen shot 2019-01-24 at 12 05 35 pm

  2. Configure access permissions app.yaml 代码已被复制。

  3. 对于 app.js nameversiondescription属性已针对项目进行了更改。

  4. p>
  5. package.json 中,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下的项目关联的帐户。

1 个答案:

答案 0 :(得分:2)

问题是 package.json 版本不能低于1.0.0。我正在尝试使用0.16.0。我正在将说明发送给文档团队,并且该文档应包含在文档中以节省人员时间。