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

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

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

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

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

Q&A

解決済

1回答

2079閲覧

blobから文字列を行毎に取得したい

wangzj

総合スコア53

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

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

0グッド

0クリップ

投稿2018/10/10 06:31

前提・実現したいこと

AzureにBlob Triggerを作成しています。
nodejsバージョン:8.11.1

Azureはバージョンアップされたため、nodejsバージョンも8.11.1になってます。
そもそも、myBlobから内容を読み出せますが、コードをそのまま、バージョンアップ後にコピーして、実行するとエラーとなっています。
なお、エラー情報も少ないです。
エラー情報:

2018-10-10T06:19:52.895 [Error] Executed 'Functions.BlobTriggerJS1' (Failed, Id=4d3db8e8-25d8-4b29-b5dd-6051d0632748)

nodejsバージョン8.11.1の初期状態

nodejs

1module.exports = async function (context, myBlob) { 2 context.log("JavaScript blob trigger function processed blob \n Name:", context.bindingData.name, "\n Blob Size:", myBlob.length, "Bytes"); 3 4}

試したこと

そもそも実行できるコード

nodejs

1module.exports = function (context, myBlob) { 2 context.log("JavaScript blob trigger function processed blob \n Name:", context.bindingData.name, "\n Blob Size:", myBlob.length, "Bytes"); 3 //myBlobから内容を読み出す 4 var textArray = myBlob.split(/\r\n|\r|\n/); 5 for (var i = 0; i < textArray.length; i++){ 6 context.log(textArray[i]); 7 } 8 context.done(); 9};

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

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

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

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

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

guest

回答1

0

自己解決

ぐぐるでいろいろ検索して、試してみたんですが、下記コードで動きました。

nodejsバージョンアップ前(6.5.0):

nodejs

1module.exports = function (context, myBlob) { 2 context.log("JavaScript blob trigger function processed blob \n Name:", context.bindingData.name, "\n Blob Size:", myBlob.length, "Bytes"); 3 //myBlobから内容を読み出す 4 var textArray = myBlob.split(/\r\n|\r|\n/); 5 for (var i = 0; i < textArray.length; i++){ 6 context.log(textArray[i]); 7 } 8 context.done(); 9};

nodejsバージョンアップ後(8.11.1):

nodejs

1module.exports = async function (context, myBlob) { 2 context.log("JavaScript blob trigger function processed blob \n Name:", context.bindingData.name, "\n Blob Size:", myBlob.length, "Bytes"); 3 //myBlobから内容を読み出す 4 var buffer = new Buffer(myBlob, "binary"); 5 var textArray = buffer.toString().split(/\r\n|\r|\n/); 6 for (var i = 0; i < textArray.length; i++){ 7 context.log(textArray[i]); 8 } 9}

投稿2018/10/10 07:54

wangzj

総合スコア53

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問