def get_bigquery_acls(self, resource_name, timestamp):
"""Select the Big Query acls from a Big Query acls snapshot table.
Args:
resource_name (str): String of the resource name.
timestamp (str): String of timestamp, formatted as
YYYYMMDDTHHMMSSZ.
Returns:
dict: Dictionary keyed by the count of ACLs and then the ACLs.
Raises:
MySQLError: An error with MySQL has occurred.
"""
bigquery_acls = {}
cnt = 0
try:
bigquery_acls_sql = select_data.BIGQUERY_ACLS.format(timestamp)
rows = self.execute_sql_with_fetch(resource_name,
bigquery_acls_sql,
None)
except (DataError, IntegrityError, InternalError, NotSupportedError,
OperationalError, ProgrammingError) as e:
LOGGER.error(errors.MySQLError(resource_name, e))
for row in rows:
bigquery_acl = bq_acls.BigqueryAccessControls(
dataset_id=row['dataset_id'],
special_group=row['access_special_group'],
user_email=row['access_user_by_email'],
domain=row['access_domain'],
role=row['role'],
group_email=row['access_group_by_email'],
project_id=row['project_id'])
bigquery_acls[cnt] = bigquery_acl
cnt += 1
return bigquery_acls
bigquery_dao.py 文件源码
python
阅读 23
收藏 0
点赞 0
评论 0
评论列表
文章目录