#google-bigquery #metadata #policy
#google-bigquery #метаданные #политика
Вопрос:
Мы использовали тег политики в bigquery для обеспечения безопасности на уровне столбцов. ( https://cloud.google.com/bigquery/docs/best-practices-policy-tags) . Теперь мы хотим проверить список таблиц и атрибутов, которые имеют тег политики. Есть ли какой-либо способ в bigquery получить его с помощью INFORMATION_SCHEMA? Или любой другой подход, позволяющий прагматично получить атрибут, помеченный каким-либо тегом политики?
Ответ №1:
Вы можете попробовать это решение, которое предоставит вам список таблиц и столбцов, в которых используется PolicyTag:
Записать таблицу-список в файл:
DATASET="dataset-name"
bq ls --max_results=10000 ${DATASET} | awk '{ print $1 }' | sed '1,2d' > table_list.txt
Сценарий оболочки:
#!/bin/bash
DATASET="dataset-name"
echo "------------------------------"
echo "TableName ColumnName"
echo "------------------------------"
while IFS= read -r TABLE; do
TAG_COUNT="`bq show --schema ${DATASET}.${TABLE} | grep "policyTags" | wc -l`"
if [ "${TAG_COUNT}" -ge 1 ]
then
COLUMN="`bq show --format=prettyjson ${DATASET}.${TABLE} | jq '.schema.fields[] | select(.policyTags | length>=1)' | jq '.name'`"
echo "${TABLE} ${COLUMN}"
fi
done < table_list.txt