设置--trigger-bucket
时说Trigger │ google.storage.object.finalize
,但我想调试onMetadataUpdate
functions>functions deploy --trigger-bucket=tst-1.appspot.com --timeout 600s trim
Copying file://C:\Users\USER\AppData\Local\Temp\tmp-15372wpTxru7PB8SL.zip...
Waiting for operation to finish...done.
Deploying function.............done.
Function trim deployed.
┌────────────┬───────────────────────────────────────────────────────────────────┐
│ Property │ Value │
├────────────┼───────────────────────────────────────────────────────────────────┤
│ Name │ trim │
├────────────┼───────────────────────────────────────────────────────────────────┤
│ Trigger │ google.storage.object.finalize │
├────────────┼───────────────────────────────────────────────────────────────────┤
│ Resource │ tst-1.appspot.com │
├────────────┼───────────────────────────────────────────────────────────────────┤
│ Timeout │ 600 seconds │
├────────────┼───────────────────────────────────────────────────────────────────┤
│ Local path │ D:\work\web\functions │
├────────────┼───────────────────────────────────────────────────────────────────┤
│ Archive │ file://C:\Users\USER\AppData\Local\Temp\tmp-15372wpTxru7PB8SL.zip │
└────────────┴───────────────────────────────────────────────────────────────────┘
如何调试onMetadataUpdate
?
我尝试过:
>> functions deploy --trigger-event=object.change --trigger-resource=tst-1.appspot.com --timeout 600s trim
Copying file://C:\Users\USER\AppData\Local\Temp\tmp-15372oesRxUVJINpn.zip...
Waiting for operation to finish...done.
ERROR: Error: You must specify a trigger provider!
at Promise.then (C:\Users\USER\AppData\Roaming\npm\node_modules\@google-cloud\functions-emulator\src\cli\controller.js:348:17)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
编辑: 解决方法是从常规的tmp函数中调用触发代码并在那里进行调试