🐈
Blob Storageの画像ファイルを取得してFace APIに渡すときの型についてメモ for TypeScript
はじめに
Blob Storage に保存してある顔写真を取得して Face API で顔検出するコードを TypeScript で書いています。
型周りで少し苦戦したので、解決方法をメモしておきます。
コード
const downloadBlockBlobResponse = await blockBlobClient.download(0);
const faceList = await faceClient.face.detectWithStream(
() => {
return downloadBlockBlobResponse.readableStreamBody as NodeJS.ReadableStream;
}
);
context.log(faceList);
ポイント
-
downloadBlockBlobResponse.readableStreamBody as NodeJS.ReadableStream- 型をキャスト(Node.js 上で実行される場合は、
undefinedにならない)
- 型をキャスト(Node.js 上で実行される場合は、
-
() => { return downloadBlockBlobResponse.readableStreamBody as NodeJS.ReadableStream; }-
detectWithStreamの引数の型に合わせる
-
型
-
blockBlobClient.download.readableStreamBodyの戻り値の型はNodeJS.ReadableStream | undefined -
faceClient.face.detectWithStreamの引数の型は() => NodeJS.ReadableStream
Discussion