2016-06-17 6 views
0

Webページから非ASCII文字をBluemixのOpenWhiskアクションから読み込もうとしています。見つからないのiconvモジュールBluemixのOpenWhiskでiconvを使用する

function main(params) { 
    var request = require('request'); 
    var iconv = require('iconv-lite'); 
    request({ method: 'GET' 
    , uri: params.url , encoding: null 
    }, function(error, response, data) { 
     var raw = ""; 
     raw = iconv.decode(buffer(data),"ISO-8859-1"); 

     return whisk.done({"raw": raw}); 
    }); 
    return whisk.async(); 
} 

、どちらもノードのiconvかのiconv-liteの処理を行います。私は、次のコードスニペットを使用していません。 それを解析できるように、文字列エンコーディングをどのように変換しますか?

ありがとう

ブディDarmawan

答えて

1

OpenWhiskは(here文書化されて)ベース画像でNPMモジュールの小さな数をインストールします。

デフォルトでは利用できないnpmパッケージを使用する回避策は、サードパーティの依存関係をJavaScriptアクションにバンドルすることです。 - だけ以来これらencodingsは、Node.jsのランタイムにデフォルトで用意されてい https://developer.ibm.com/openwhisk/2016/03/17/bundling-openwhisk-actions-with-webpack/

私はOpenWhiskに「iconvの-LITE」を追加して問題/機能要求を作成することをお勧め:このガイドではWebPACKのを使用してそれを行うための方法を提供します。

ローカルのOpenWhiskデプロイメントを実行する場合は、Node.js v6.2.0の場合はDockerfile、Node.js v0.12.14の場合はDockerfileにパッケージを追加します。

最後に、FYIとして、非ASCII文字がアクション結果(およびログ)で正しくシリアライズおよびデシリアライズできないようにする制限があることに注意してください。参考までにこの問題を参照してください。https://github.com/openwhisk/openwhisk/issues/252

関連する問題