2017-06-28 27 views
0

xml2jsのようなサードパーティのモジュールを使用せずにAWS Node.js Lambda関数でXML解析を行うことは可能ですか? AWSにAWS SDKのNode.jsのような組み込み機能が組み込まれているかどうかは疑問ですAWS Lambda関数のXML解析

+0

私は彼らがそれを持っているとは思わない。私の経験から、スピードが重要ではない場合は、開発マシンからプッシュできるように、JSの実装に固執するのが最善です。それ以外の場合は、ネイティブモジュールが必要です。それを構築し、CIから展開する必要があります。 –

答えて

3

実は私はこれをテストし、AWS JS SDKが使用して何が

https://github.com/aws/aws-sdk-js/blob/master/lib/xml/node_parser.js

...ので、あなたは実際にまっすぐに箱から出してxml2jsを使用することができます。あなたはそのルートを回避したい場合は、the standard package install routeを行かなければならないとしていると述べた

'use strict'; 

var xml2js = require('xml2js'); 

console.log('Loading function'); 

var options = { // options passed to xml2js parser 
    explicitCharkey: false, // undocumented 
    trim: false,   // trim the leading/trailing whitespace from text nodes 
    normalize: false,  // trim interior whitespace inside text nodes 
    explicitRoot: false, // return the root node in the resulting object? 
    emptyTag: null,   // the default value for empty nodes 
    explicitArray: true, // always put child nodes in an array 
    ignoreAttrs: false,  // ignore attributes, only create text nodes 
    mergeAttrs: false,  // merge attributes and child elements 
    validator: null   // a callable validator 
}; 

exports.handler = (event, context, callback) => { 
    var parser = new xml2js.Parser(options); 
    //console.log('Received event:', JSON.stringify(event, null, 2)); 
    console.log('value1 =', event.key1); 
    console.log('value2 =', event.key2); 
    console.log('value3 =', event.key3); 
    callback(null, event.key1); // Echo back the first key value 
    //callback('Something went wrong'); 
}; 

:この、完全にラムダオンラインエディタを使用し、それに対してテストデータを実行しているをテストするためのサンプルラムダコード使用。