私はNode.js timerTrigger
Azure関数を使用してコレクションを処理し、さらに処理するために処理結果をキューに入れます(Node.js queueTrigger
関数による)。Azure関数の1回の実行から複数のアイテムをキューに入れることはできますか?
コードは、次のようなものです:
module.exports = function (context, myTimer) {
collection.forEach(function (item) {
var items = [];
// do some work and fill 'items'
var toBeQueued = { items: items };
context.bindings.myQueue = toBeQueued;
});
context.done();
};
このコードだけで私はキューしようとしている各1 toBeQueued
最後とされていないキューに入れます。
複数のアイテムをキューに入れる方法はありますか?
更新
明確にするために、私はちょうど配列をキューイングではない、forEach
の各反復でtoBeQueued
をキューイングについて話しています。はい、配列をキューに入れることができないのでAzure関数に問題がありますが、回避策があります。すなわち{ items: items }
である。
GitHubのリポジトリを参照していただきありがとうございます。私たちは2つの異なる問題について話していると思います。私はこの点を明確にするために質問を更新する。 – TheBlueSky
私はその区別を見る。上記の配列修正の後のNode.jsでは、あなたの関数が返ってから**そのメッセージの配列が処理されます**。私。機能が完了するまで実際のメッセージキューイングは発生しません。私はそれが最も一般的なシナリオに対処すると思います。配列のキューイングに関する上記の回避策について - 複数の個々のキューメッセージが書き込まれるわけではありません。配列のサポートは、複数の個々のメッセージをエンキューする必要があるシナリオ用です。 – mathewc
うん、わかった..あなたが言ったように、私は配列の問題に対処するためにのみ回避策を使用しました。だから私の質問に戻ると、私が達成しようとしているシナリオはサポートされていません、(1)それは?、そして(2)私のオプションは何ですか? – TheBlueSky