🍣

AWS Lambda + Function URLでもバイナリデータを返却出来る

2023/06/04に公開

TL;DR

Function URLを使っていれば、API Gatewayがなくてもバイナリを返せるというお話。手順はAPI Gatewayの時と同様で…。

  • バイナリをbase64文字列にしたものをbodyに詰める
  • isBase64Encodedをtrueにする
export const handler = async(event) => {
    // example: ProtocolBuffer
    const buf = Buffer.from('1a350a056c61796572120f08011202000018012205098602d8061a046e616d6522100a0e48616e65646120416972706f72742880087802', 'hex');
    const response = {
        statusCode: 200,
        body: buf.toString('base64'),
        headers: {
            'Content-Type': 'application/vnd.mapbox-vector-tile'
        },
        isBase64Encoded: true
    };
    return response;
};

大した話ではないのだけど、調べてもAPI Gatewayを使ったパターンしか出てこないので、Function URLでも実現可能だったという意味で投稿。

Discussion