created: 2022-01-31T01:38:10.000Z

BigQuery で定義されているUDFの名前と定義を一覧するスクリプト

#!/usr/bin/env bash
set -euo pipefail

readonly TMPFILE=/tmp/_list-udf.txt

bq --format=json ls --routines fn \
    | jq -r '.[].routineReference | "\(.datasetId).\(.routineId)"' \
    > $TMPFILE

for udfid in $(cat $TMPFILE); do
    DEF=$(bq --format=json show --routine "$udfid" | jq -r .definitionBody)
    echo "# $udfid"
    echo '```'
    echo ${DEF}
    echo '```'
    echo ""
done