2017-07-16 16 views
0

NodeJSを使用してVaultから値を読み取ろうとしています。私は私のアプローチが正しいことを確認するためにここに投稿しています。 https://github.com/kr1sp1n/node-vaultライブラリを使用してnodejsで値を読み取る

は、私は次のコードスニペットを持っている:

var params = { 
    apiVersion: 'v1', 
    endpoint: "https://localhost:8200", 
    token: "MY_TOKEN" 
}; 

    var vault = require("node-vault")(params); 
    vault.read('secret/mysecret/foo').then(v => { 
    console.log(v); 
    }).catch(e => console.error(e)); 

これは私にJSONの次のブロックを返します。

{ request_id: 'MY_ID', 
    lease_id: '', 
    renewable: false, 
    lease_duration: 100, 
    data: { value: 'MY_PASSWORD' }, 
    wrap_info: null, 
    warnings: null, 
    auth: null } 

具体的には、私はの値を取得する必要がありますdata.value(つまり、 'MY_PASSWORD'を取得する必要があります。)

JSONをコンソールに印刷するのではなく、 'then'ブロック内でJSON解析を実行しますか?私は現在のようなOGですか? vault.read()が非同期であるため、

答えて

0

はい、あなたは、あなたはおそらくあなたが良いJSONデータを持っていることを確認するためにいくつかのエラーチェックをしたいと思うでしょう、アクセスして明らかにthen()

vault.read('secret/mysecret/foo').then(v => { 
    let parsed = JSON.parse(v); 
    let pw = parsed.data.value //=> 'MY_PASSWORD' 
}).catch(e => console.error(e)); 

で戻り値を解析する必要があります

0

vault.read()コールはpromiseを返し、約束が解決されると 'then'メソッドが実行されます。それで、はい、あなたはそこでそれを解析する必要があります。

関連する問題