受信した任意のチャネルメッセージに fun を適用する,チャネル受信関数を表す.
ChannelReceiverFunction
受信した任意のチャネルメッセージに fun を適用する,チャネル受信関数を表す.
詳細とオプション
- CloudDeploy[ChannelReceiverFunction[…]]は,チャネル受信器のメッセージが送られるべきチャネルを指定するメタ情報を含むCloudObjectを与える.
- CloudDeploy[ChannelReceiverFunction[…]"curi"]は,受信器をChannelObject["curi"]に配備する.
- CloudDeploy[ChannelReceiverFunction[…]channel]は,ChannelObject[…]として与えられる指定されたチャネルに受信器を配備する.
- CloudDeploy[ChannelReceiverFunction[…]]はCloudDeploy[ChannelReceiverFunction[…]Automatic]に等しい.
- 配備されたChannelReceiverFunction[fun]中の fun[assoc]は,チャネルメッセージが受信されるたびに評価される.連想 assoc は,ChannelListenerオブジェクトに特有のものを除いてChannelListenと同じ要素を含む.
- CloudDeploy[ChannelReceiverFunction[fun]]は,クラウド内で評価される,任意の特定のWolfram言語セッション内のアクティブなリスナを必要としないチャネル受信器関数を設定する.
- 関数 fun は,チャネル受信器関数の所有者の環境で評価される.
- チャネル受信器関数は,それ自身がチャネル受信器関数から送信されたメッセージではトリガされない.
例題
すべて開く すべて閉じる例 (3)
f = ChannelReceiverFunction[{#Message, #MessageID}&]f[<|"Message" -> "message", "MessageID" -> "id"|>]到着したメッセージをクラウドオブジェクトに記録する受信器関数を定義する:
f = ChannelReceiverFunction[CloudPut[#Message, CloudObject[ "LastMessage"]]&]object = CloudDeploy[f]channel = ChannelObject[object]ChannelSend[channel, "hello"]CloudGet[CloudObject["LastMessage"]]DeleteChannel[channel];
DeleteObject[object];bin = CreateDatabin[];
f = ChannelReceiverFunction[DatabinAdd[bin, #]&]object = CloudDeploy[f]channel = ChannelObject[object]ChannelSend[channel, "hello"]bin["Entries"]タイムスタンプは,Wolfram Data Dropによって特別に処理され,別の特性で(または“FullEntries”特性の項目本体と一緒に)利用できる:
bin["Timestamps"]DeleteChannel[channel];
DeleteObject[{object, bin}];スコープ (7)
ChannelReceiverFunction[#&][<|"Message" -> <|"a" -> "b"|>, "MessageID" -> "id"|>]ChannelReceiverFunction[#Message&]["{\"x\":\"1\"}"]無記名のクラウドオブジェクトおよび無記名のチャネルオブジェクトに配備する:
obj = CloudDeploy[ChannelReceiverFunction[#&]]ChannelObject[obj]DeleteChannel[%];
DeleteObject[obj];obj = CloudDeploy[ChannelReceiverFunction[#&] -> "channel"]ChannelObject[obj]DeleteChannel[%];
DeleteObject[obj];obj = CloudDeploy[ChannelReceiverFunction[#&], "cloudObject"]ChannelObject[obj]DeleteChannel[%];
DeleteObject[obj];指定されたチャネルオブジェクトおよび指定されたクラウドオブジェクトに配備する:
obj = CloudDeploy[ChannelReceiverFunction[#&] -> "channel", "cloudObject"]ChannelObject[obj]DeleteChannel[%];
DeleteObject[obj];obj = CloudDeploy[ChannelReceiverFunction[#&] -> ChannelObject["channel"], CloudObject["x"]]ChannelObject[obj]DeleteChannel[%];
DeleteObject[obj];アプリケーション (3)
bin = CreateDatabin[]obj = CloudDeploy[ChannelReceiverFunction[DatabinAdd[bin, <|"Data" -> #Message|>]&] -> "channel"]メッセージをチャネルに送り,その内容をデータビンから取り出す:
ChannelSend["channel", "hello"]bin["Entries"]DeleteObject[{bin, obj}];
DeleteChannel["channel"];文字列"URGENT"を含むメッセージを優先チャネルに,残りをバルクチャネルに送る受信器関数を定義する:
f = ChannelReceiverFunction[ChannelSend[If[StringContainsQ[#Message, "URGENT"], "priority", "bulk"], #Message]&]2つのチャネルを作り,受信器関数を自動的に作られる3番目のチャネルに配備する:
CreateChannel /@ {"priority", "bulk"}
obj = CloudDeploy[f -> "dispatcher"]priority = ChannelListen["priority"]bulk = ChannelListen["bulk"]Scan[ChannelSend["dispatcher", #]&, {"URGENT message", "low priority"}]priority["Message"]bulk["Message"]DeleteChannel[{"priority", "bulk", "dispatcher"}];
DeleteObject[obj];誰もチャネルを受信していないときにメッセージが到着した場合に警告の電子メールを送る,受信器関数を配備する:
channel = "withAlert";
CreateChannel[channel];obj = CloudDeploy[ChannelReceiverFunction[If[ChannelSubscribers[channel] === {}, SendMail[<|"To" -> $WolframID, "Subject" -> "missed message from " <> #RequesterWolframID, "Body" -> #Message|>]]&] -> channel]チャネルにメッセージを送り,メールボックスに警告の電子メールが届いていないかどうかをチェックする:
ChannelSend[channel, "Are you there?"]DeleteChannel[channel];
DeleteObject[obj];特性と関係 (1)
ChannelReceiverFunctionを配備すると,関連付けられたチャネルオブジェクトのChannelBrokerActionが設定される:
CloudDeploy[ChannelReceiverFunction[#&]]Options[ChannelObject[%], ChannelBrokerAction]関連するガイド
-
▪
- チャネルベースの通信 ▪
- クラウド関数と配備
テキスト
Wolfram Research (2017), ChannelReceiverFunction, Wolfram言語関数, https://reference.wolfram.com/language/ref/ChannelReceiverFunction.html (2020年に更新).
CMS
Wolfram Language. 2017. "ChannelReceiverFunction." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/ChannelReceiverFunction.html.
APA
Wolfram Language. (2017). ChannelReceiverFunction. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ChannelReceiverFunction.html
BibTeX
@misc{reference.wolfram_2026_channelreceiverfunction, author="Wolfram Research", title="{ChannelReceiverFunction}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/ChannelReceiverFunction.html}", note=[Accessed: 10-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_channelreceiverfunction, organization={Wolfram Research}, title={ChannelReceiverFunction}, year={2020}, url={https://reference.wolfram.com/language/ref/ChannelReceiverFunction.html}, note=[Accessed: 10-September-2026]}