Как установить триггер облачной функции в GO - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь настроить триггер облачной функции с помощью firestore, и просто использую пример кода Google https://cloud.google.com/functions/docs/calling/cloud-firestore

Я просто хочу напечатать журнал для события записи документа, и я только изменяю имя этой функции

Я развертываю файл go следующим образом:

Функции gcloud развертывают HelloLogger --runtime go111 --trigger-поставщики событий / cloud.firestore / eventTypes / document.write --trigger-resource projects / [myID проекта] / database / default / documents / post / {pushId}

База данных выглядит следующим образом: https://imgur.com/3LSldnK

и страница функции: https://imgur.com/vW5KiJX

Iсоздайте новый документ и для некоторых обновлений купите мой HelloLogger, не регистрируя ни одного сообщения

что пошло не так в моей функции?

РЕДАКТИРОВАТЬ:

следующие примеры кода, который я использую,почти ничего не меняется

package logger

import (
        "context"
        "fmt"
        "log"
        "time"

        "cloud.google.com/go/functions/metadata"
)

// FirestoreEvent is the payload of a Firestore event.
type FirestoreEvent struct {
        OldValue   FirestoreValue `json:"oldValue"`
        Value      FirestoreValue `json:"value"`
        UpdateMask struct {
                FieldPaths []string `json:"fieldPaths"`
        } `json:"updateMask"`
}

// FirestoreValue holds Firestore fields.
type FirestoreValue struct {
        CreateTime time.Time `json:"createTime"`
        // Fields is the data for this value. The type depends on the format of your
        // database. Log the interface{} value and inspect the result to see a JSON
        // representation of your database fields.
        Fields     interface{} `json:"fields"`
        Name       string      `json:"name"`
        UpdateTime time.Time   `json:"updateTime"`
}

// HelloFirestore is triggered by a change to a Firestore document.
func HelloLogger(ctx context.Context, e FirestoreEvent) error {
        meta, err := metadata.FromContext(ctx)
        if err != nil {
                return fmt.Errorf("metadata.FromContext: %v", err)
        }
        log.Printf("Function triggered by change to: %v", meta.Resource)
        log.Printf("Old value: %+v", e.OldValue)
        log.Printf("New value: %+v", e.Value)
        return nil
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...