[RUBY] J'ai essayé d'intégrer le bouton AWS I oT et Slack

introduction

J'ai créé un bouton de notification Slack à l'aide du bouton AWS IoT.

C'est un serveur d'eau d'entreprise, mais la personne qui a utilisé le dernier a un flux pour notifier les affaires générales avec Slack, mais quand je reviens à mon siège, j'oublie de l'informer.

J'ai donc commencé avec l'idée d'utiliser le bouton IoT pour avertir Slack sur place afin de ne pas l'oublier. Il est axé sur la résolution de problèmes.

Le reste est dû au fait qu'il y avait un bouton AWS IoT là-bas.

Faisons le!

Que préparer

Bouton AWS IoT ✕ 1 (2500 ¥) https://aws.amazon.com/jp/iotbutton/ ~~ C'est un bouton de tableau de bord Amazon parce que vous le voyez ~~, cette fois je vais l'utiliser. Il semble que le bouton de tableau de bord Amazon nécessite qu'un PC soit un serveur, n'est-il pas facile à mettre en place et ce prix est élevé? Je vais donc utiliser ceci.

Compte AWS ✕ 1 (0,25 USD / mois) Il semble que cela coûte environ 27 yens par mois. https://aws.amazon.com/jp/iot-1-click/pricing/

Activer le bouton IoT

Tout d'abord, enregistrez le bouton AwS IoT. Il semble qu'il existe deux façons de s'enregistrer depuis la console et de s'enregistrer avec un smartphone, mais cela semble facile à faire avec un smartphone.

Téléchargez l'application depuis le Store

Installez l'application depuis l'App Store pour iOS ou Google Play pour Android. Je me suis inscrit sur iOS. iOS : https://apps.apple.com/us/app/aws-iot-button/id1178216626 Android : https://play.google.com/store/apps/details?id=com.amazonaws.iotbutton

Connectez-vous à AWS pour enregistrer votre appareil et établir une connexion au Wifi. Pochipochi. Pippi. Scannez simplement le code-barres sur le côté du bouton AWS IoT avec votre caméra pour vous inscrire. IMG_6601.PNG IMG_6602.PNG

Connectez-vous à la console AWS depuis votre PC et activez-la.

J'ai pris une capture d'écran après l'avoir définie, mais je pense qu'elle est désactivée au début et que le projet et le placement ne sont pas définis. スクリーンショット 2019-12-11 18.13.44.png

Préparation de l'intégration Slack

Ajoutez le Webhook entrant au répertoire de l'application Slack et publiez l'URL du Webhook. Définissez également le nom et l'icône du Webhook entrant pour afficher un aperçu du message. ▼ J'ai essayé de faire comme ça スクリーンショット 2019-12-16 16.41.19.png

Créer une fonction Lambda

Préparez un script à exécuter à l'aide de Lambda sur AWS. Le script cette fois était comme ça.


require "net/https"
require "uri"

def lambda_handler(event:, context:)
    uri = URI.parse('https://hooks.slack.com/services/XXXXXXXXXXX/XXXXXXXXXXX/XXXXXXXXXXXXXXXXXX')
    res = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == "https") { |http|
        http.request(Net::HTTP::Post.new(uri).tap { |req|
            req.body = {
                channel: 'Nom de la chaîne Slack dont vous souhaitez être informé',
                username: 'Nom d'utilisateur du post Slack défini lors du webhook',
                text: '<@Nom d'utilisateur de la personne à sauter la mention>J'ai installé le dernier d'Aqua Clara.',
            }.to_json
        })
    }
    { statusCode: 200, body: res.to_s }
end

Créons un test. Tout semble aller bien, donc cette fois je vais le créer en utilisant les paramètres du modèle existant appelé HelloWorld tel quel, et l'exécuter pour vérifier la publication sur Slack. スクリーンショット 2019-12-16 16.55.33.png Si vous pouvez publier sur Slack, le code est correct pour le moment. Vient ensuite le lien entre Button et AWS.

Connectez-vous à l'appareil sur la page AWS IoT 1-Click

Créer un projet

Enfin, créez un projet qui relie les boutons IoT et les fonctions Lambda à partir de la page AWS IoT 1-Click. Connectez-vous à la console et ouvrez la page AWS IoT 1-Click. スクリーンショット 2019-12-26 17.59.41.png Après avoir entré le nom du projet, vous pouvez sélectionner le nom et l'action du modèle d'appareil. Spécifiez la fonction Lambda créée. スクリーンショット 2019-12-26 18.01.09.png

Créer un emplacement

Nous spécifierons l'appareil et créerons un emplacement. Spécifiez le périphérique et entrez le nom et la valeur de l'attribut スクリーンショット 2019-12-26 18.16.00.png

Appuyez sur le bouton pour vérifier l'intégration de Slack

Ce n'est pas grave s'il est lié!

Site de référence

Cet article est basé sur l'article Qiita suivant. Grâce à vous, il fonctionne bien depuis plus de six mois, ce qui est pratique! https://qiita.com/cumet04/items/11bc8883ae9cc603b84d

Recommended Posts

J'ai essayé d'intégrer le bouton AWS I oT et Slack
J'ai essayé d'intégrer parfaitement Docker et Maven / Netbean en utilisant Jib
J'ai essayé de lier grafana et postgres [docker-compose]
J'ai essayé de lier JavaFX et Spring Framework.
J'ai essayé de lire et de sortir CSV avec Outsystems
J'ai essayé de faire fonctionner SQS en utilisant AWS Java SDK
J'ai démarré MySQL 5.7 avec docker-compose et j'ai essayé de me connecter
J'ai essayé de mâcher C # (lire et écrire des fichiers)
J'ai essayé de vérifier yum-cron
J'ai essayé de collecter et de résoudre les problèmes liés à la «classe» de Ruby.
J'ai essayé de résumer les bases de kotlin et java
J'ai essayé de vérifier ceci et celui de Spring @ Transactional
J'ai essayé de faire coexister Java Optional et la clause de garde
J'ai essayé de résumer les applications et les outils de développement personnellement utiles (outils de développement)
J'ai essayé de résumer les applications et les outils de développement personnellement utiles (Apps)
J'ai essayé de mâcher C # (indexeur)
J'ai essayé de résumer le support d'iOS 14
J'ai essayé d'interagir avec Java
J'ai essayé d'expliquer la méthode
J'ai essayé de résumer les méthodes de Java String et StringBuilder
J'ai essayé de résumer l'apprentissage Java (1)
J'ai essayé de résumer Java 8 maintenant
C # (polymorphisme: polymorphisme)
J'ai essayé d'expliquer Active Hash
J'ai présenté WSL2 + Ubuntu à Window10 et essayé d'utiliser GDC, DMD, LDC
J'ai essayé de résumer les points clés de la conception et du développement de gRPC
J'ai essayé de créer mon propre guide de transfert en utilisant OpenTrip Planner et GTFS
J'ai créé un bot de transaction d'arbitrage de monnaie virtuelle et essayé de gagner de l'argent
J'ai essayé de visualiser l'accès de Lambda → Athena avec AWS X-Ray
J'ai essayé de mesurer et de comparer la vitesse de Graal VM avec JMH
J'ai essayé de résumer les méthodes utilisées
J'ai essayé de résumer les expressions Java lambda
J'ai essayé de démarrer avec Web Assembly
J'ai essayé de résoudre la recherche binaire d'AOJ
J'ai essayé d'implémenter le modèle Iterator
J'ai essayé de résumer l'API Stream
J'ai essayé de construire AdoptOpenjdk 11 sur CentOS 7
Qu'est-ce que Docker? J'ai essayé de résumer
J'ai essayé d'utiliser Selenium comme JQuery
J'ai essayé de toucher JavaScript Part.2 orienté objet
J'ai essayé de créer un portefeuille avec AWS, Docker, CircleCI, Laravel [avec lien de référence]
Une histoire où j'ai essayé de faire une vidéo en liant Traitement et Resolume
J'ai essayé de vérifier si ce serait amusant de combiner «programmation» et «hobbies».
J'ai créé un environnement Java EE sur AWS et essayé d'exécuter une application Web
[JDBC ③] J'ai essayé d'entrer à partir de la méthode principale en utilisant des espaces réservés et des arguments.
J'ai essayé de convertir Java Bean et XML avec le formateur XML de Jackson à cette époque
J'ai essayé de résumer sur JVM / garbage collection
J'ai essayé de vérifier AdoptOpenJDK 11 (11.0.2) avec l'image Docker
J'ai essayé de faire une authentification de base avec Java
J'ai essayé d'implémenter des relations polymorphes à Nogizaka.
J'ai essayé de gérer la configuration des jambes de force avec Coggle
[Rails] J'ai essayé de faire passer la version de Rails de 5.0 à 5.2
J'ai essayé d'organiser la session en Rails