Interaja com Amazon Lambda
Na sua conta Amazon S3, configure uma função Lambda baseada em Node.js que encaminhe mensagens recebidas para uma sessão de audição.
'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();
};
Comece a ouvir em um canal que pega imagens de um repositório com permissões correspondentes.
In[1]:=
![Click for copyable input](assets.pt-br/interact-with-amazon-lambda/In_62.png)
bucket = "wl-channels";
In[2]:=
![Click for copyable input](assets.pt-br/interact-with-amazon-lambda/In_63.png)
image = "";
In[3]:=
![Click for copyable input](assets.pt-br/interact-with-amazon-lambda/In_64.png)
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]=
![](assets.pt-br/interact-with-amazon-lambda/O_62.png)
Carregue algumas imagens para o seu repositório e mostre de forma dinâmica assim que eles chegam.
In[4]:=
![Click for copyable input](assets.pt-br/interact-with-amazon-lambda/In_65.png)
Dynamic[image]
Out[4]=
![](assets.pt-br/interact-with-amazon-lambda/O_63.png)
O registro acumulado de mensagens recebidas.
In[5]:=
![Click for copyable input](assets.pt-br/interact-with-amazon-lambda/In_66.png)
listener["Dataset"]
Out[5]=
![](assets.pt-br/interact-with-amazon-lambda/O_64.png)