1

サードパーティ サービスからペイロードを受信するために、Google クラウド機能を Webhook として使用しています。通常、このようなサービスが Webhook にリクエストを行う場合、確認として HTTP 200 を期待します。ただし、以下のようにクラウド機能をセットアップすると (Google が推奨するように)、進行中の処理が行われているときに、要求元のサービスに 408 が返されます。

この状況では、サードパーティのサービス (この場合はそのクラウドメールインですが、統合を試みた Webhook にも同じことが当てはまります) は、リクエストが正常に処理されたとしても、リクエストを再試行します。

私の質問は、クラウド関数が 200 を返し、非同期処理を続行するにはどうすればよいですか?

//This will return a 408 even though the request is processed successfully
exports.emailIngest = functions.https.onRequest((request, response) => 
{
    //return the promise from the firestore admin SDK as per google docs
    return admin.auth().getUserByEmail(request.body.envelope.from).then((user) => {
      console.log('Successfully fetched user data:', user.toJSON());
    }).catch(function (error) {
      console.log('Error fetching user data:', error);
    });
});
4

1 に答える 1