質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

1875閲覧

soracom api を node.js で呼び出したいです

blossan

総合スコア154

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2016/12/08 02:55

御世話になります。

soracomというapiを、awsのlambdaから、node.jsで呼び出したいと考えています。
soracomの知識よりも、node.jsの文法的な質問になるかと思います。

【背景】
soracomというサービスは、docomnoの通信帯を外部の利用者に提供し、soracomのsimカードを使えば、誰でもスマホで通信が出来るサービスになります。

こちらのサービスを外部から利用する中で、aws lambda からソラコムapiを使う必要性が出てきました。

apiの呼び出し方には関しては、多少の知識がありますが、利用できる言語がnode.jsという知らない言語のため苦戦をしています。

利用方法に関して、サポートセンターに問い合わせてところ公式な答えはなく、有志でnode.jsからソラコムapiを呼び出すのに役立つ記事のリンクを頂きました。
node.jsからソラコムapiを呼ぶ方法

実際に試して実装したのですが、文法的なエラーが返ってきました。
実際に、lambdaで作成した関数情報が以下になります。

【環境】
Runtime: Node.js
New Role:Basic Exection Role
基本デフォルトで進めています

【コードの中身】

node.js

1//ソラコムのapiに必要なコマンド? 2var Soracom = require('soracom'); 3 4//ソラコムapiに使う認証 5var soracom = new Soracom({ email: '登録したメールアドレス', password: '登録したパスワード' }); 6 7//パスワードエラーがあった場合 8soracom.post('/auth', function(err, res, auth) { 9 if (!error) { 10 console.log(auth); // {apiKey: "api_key", token: "token", operatorId: "operator_id"} 11 soracom.defaults(auth); 12 soracom.get('/operators/:operatorId', function(err, res, operator) {}); 13 } 14}); 15 16//今回確認したい動作。ユーザー番号を取得する 17soracom.get('/operators/:operatorId', function(err, res, body) {});

エラーコードがこちらになります。

shell

1{ 2 "errorMessage": "Cannot find module 'soracom'", 3 "errorType": "Error", 4 "stackTrace": [ 5 "Function.Module._load (module.js:276:25)", 6 "Module.require (module.js:353:17)", 7 "require (internal/module.js:12:17)", 8 "Object.<anonymous> (/var/task/index.js:1:77)", 9 "Module._compile (module.js:409:26)", 10 "Object.Module._extensions..js (module.js:416:10)", 11 "Module.load (module.js:343:32)", 12 "Function.Module._load (module.js:300:12)", 13 "Module.require (module.js:353:17)" 14 ] 15} 16

私の考えでは根本的な何か抜けていると考えています。
しかし、node.jsにあまり触れていないため、どこに原因があるのかよくわからない状態です。
解決策ではなく、助言程度のものでもお願いしたいと思います。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Node.js標準で用意していないパッケージを使う場合、準備が必要となります(AWS公式)。

まずはローカルでnpm i soracomとしてパッケージをインストールして、それからsoracomパッケージもろともzipで固めて使う、とのことです。

投稿2016/12/08 05:34

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

blossan

2016/12/08 05:39

ありがとうございます。進めべき方向が分かり、助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問