Wolfram 언어

채널 프레임워크

Amazon Lambda와의 상호 작용

Amazon S3 계정에서 들어오는 메시지를 수신하고있는 Wolfram 언어 세션에 전송하는 Node.js 기반 Lambda 함수를 설정합니다.

'use strict'; let https = require ('https'); exports.handler = (event, context, callback) = > { var req = https.request ({ host : 'channelbroker.wolframcloud.com', path : '/users/user@sample.com/cloud?operation = send', method : 'POST', }, function (res) { console.log ("status:", res.statusCode); }); req.on ('error', function (e) { console.error (e); }); req.write (JSON.stringify (event)); req.end (); };

적절한 권한을 가진 버킷에서 이미지를 읽어내는 채널의 수신을 시작합니다.

In[1]:=
Click for copyable input
bucket = "wl-channels";
In[2]:=
Click for copyable input
image = "";
In[3]:=
Click for copyable input
listener = ChannelListen[ "cloud", (image = ImportString[ URLRead["https://" <> bucket <> ".s3.amazonaws.com/" <> #Message["Records"][[1]]["s3"][ "object"]["key"], "Body"]]) &, Permissions -> <|"All" -> "Write", "Owner" -> {"Read", "Execute"}|>]
Out[3]=

버킷에 몇장의 이미지를 업로드하고 이미지의 도착과 동시에 동적으로 이미지를 표시합니다.

In[4]:=
Click for copyable input
Dynamic[image]
Out[4]=

받은 메시지의 누적 로그를 알아봅니다.

In[5]:=
Click for copyable input
listener["Dataset"]
Out[5]=

관련 예제

de en es fr ja pt-br ru zh