Как исправить ошибку при создании функции при развертывании functions.pubsub.schedule

Когда я пытаюсь развернуть functions.pubsub.schedule следующим образом на index.js:

const functions = firebase.functions;
var cronCount = 0;
exports.processPostsCron = functions.pubsub.schedule('* * * * 
*').onRun(context => {
  cronCount++;
  console.info(`### this runs every minute. count: ${cronCount}`);
});

Произошла ошибка:

функции: не удалось создать функцию processPostsCron Ошибка http: 400, запрос содержит ошибки

Как исправить эту ошибку или я что-то не так делаю? Я имел в виду этот https://github.com/firebase/functions-samples/blob/master/delete-unused-accounts-cron/functions/index.js

Я использую [email protected] и firebase-функции@2.3.1.

Редактировать 1:

Результат отладки:

i  functions: creating Node.js 8 function processPostsCron(us-central1)...
[2019-05-29T17:19:41.712Z] Trigger is:  {"eventTrigger":{"resource":"projects/ticktock-d34b6/topics","eventType":"google.pubsub.topic.publish","service":"pubsub.googleapis.com"}}
[2019-05-29T17:19:41.714Z] >>> HTTP REQUEST POST https://cloudfunctions.googleapis.com/v1/projects/ticktock-d34b6/locations/us-central1/functions  
 sourceUploadUrl=https://storage.googleapis.com/gcf-upload-us-central1-f74bb5e4-12fb-4381-9f5a-ba9e11a921a8/2fac50ef-9d15-4390-8836-21209adfa8b4.zip?GoogleAccessId=service-1096541131355@gcf-admin-robot.iam.gserviceaccount.com&Expires=1559152179&Signature=EzcN7sYYs05vuTyVu7%2BMyJGU8viklA5VWPZRmMeASBCmlK6Xl%2BtMhL1G%2Fv4JHempDcLJ3FmvLDGPbar1iP%2BtNiApL%2B%2Fn6wjQINbF4CmpmqKnjxieBqpzkRYUD40zNMyCGbRDnkhcsps6DBpI9reiHvxdKkqYqadBPCaCn10nZwo96zaHcxZYHWg5PIo4cPLoPyOI7PTl4WYdwwt%2FzOHKlQSdyh1VuRgZqwfgy0vgDQR9HY846k0Tkg6RB6fGex8MzysUxiZ4RfPdt1i0LGd1KpY%2ByhG0OlEsMODQY3bBQ4TMh6LNbVyC2s9%2F0wJPkzAdJpnTjarf3hOgsF9908VkOg%3D%3D, name=projects/ticktock-d34b6/locations/us-central1/functions/processPostsCron, entryPoint=processPostsCron, deployment-tool=cli-firebase, deployment-scheduled=true, runtime=nodejs8, resource=projects/ticktock-d34b6/topics, eventType=google.pubsub.topic.publish, service=pubsub.googleapis.com
[2019-05-29T17:19:42.141Z] <<< HTTP RESPONSE 400 vary=X-Origin, Referer, Origin,Accept-Encoding, content-type=application/json; charset=UTF-8, date=Wed, 29 May 2019 17:19:42 GMT, server=ESF, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic = ":443"; ma=2592000; v = "46,44,43,39", accept-ranges=none, connection=close
[2019-05-29T17:19:42.141Z] <<< HTTP RESPONSE BODY code=400, message=The request has errors, status=INVALID_ARGUMENT, details=[@type=type.googleapis.com/google.rpc.BadRequest, fieldViolations=[field=pubsub_topic, description=Pub/Sub topic name projects/ticktock-d34b6/topics does not match the expected pattern]]
⚠  functions: failed to create function processPostsCron
HTTP Error: 400, The request has errors


Functions deploy had errors with the following functions:
    processPostsCron


To try redeploying those functions, run:
    firebase deploy --only functions:processPostsCron


To continue deploying other features (such as database), run:
    firebase deploy --except functions

Error: Functions did not deploy properly.

Похоже, ошибка возникает из-за:

fieldViolations=[field=pubsub_topic, description=Pub/Sub topic name projects/ticktock-d34b6/topics does not match the expected pattern]]

Запустите команду с помощью --debug и отредактируйте вопрос, чтобы показать результат.

Doug Stevenson 29.05.2019 18:06

Я добавил результат отладки. Спасибо!

Baron Ch'ng 29.05.2019 19:44

Вы должны отправить отчет об ошибке в службу поддержки Firebase. support.google.com/firebase/contact/support

Doug Stevenson 29.05.2019 19:53

Хорошо. Я подал отчет об ошибке. Спасибо за направление.

Baron Ch'ng 29.05.2019 20:01
Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
5
4
1 329
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Служба поддержки Firebase дала мне указание обновить CLI, и после обновления все в порядке. Вот команда:

npm install -g firebase-tools@latest

Сначала у меня это не сработало, я добавил опцию «unsafe-perm», чтобы продолжить:

npm install -g firebase-tools@latest --unsafe-perm

Я бы рекомендовал никогда не использовать NPM с sudo. Вместо этого установите NVM.

Mason 02.09.2019 10:34

Другие вопросы по теме