如何解决如果从信息模式中获取bigquery属性,如何获取策略标签
我们在bigquery中使用了策略标记以实现列级安全性。 (https://cloud.google.com/bigquery/docs/best-practices-policy-tags)。现在,我们要检查具有策略标记的表和属性的列表。 bigquery中有什么方法可以使用INFORMATION_SCHEMA来获取它吗?还是任何其他实用的方法来获取带有某些策略标签的属性?
解决方法
您可以尝试此解决方案,它将为您提供使用PolicyTag的表和列的列表:
将表列表写入文件:
DATASET="dataset-name"
bq ls --max_results=10000 ${DATASET} | awk '{ print $1 }' | sed '1,2d' > table_list.txt
Shell脚本:
#!/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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。