#! /bin/bash
host=$1
port=$2
projectname=$3
grant=$4
#projectname=$2
typename=$5
username=$6
cubename=$7
curl -X GET "http://"$1":"$2"/kylin/api/projects?pageOffset=0&pageSize=100000" \
-H 'Accept: application/vnd.apache.kylin-v2+json' \
-H 'Accept-Language: en' \
-H 'Authorization: Basic QURNSU46S1lMSU4=' \
-H 'Content-Type: application/json;charset=utf-8' >project.txt
id_count=`cat project.txt | /usr/bin/jq '.data.size'`
for ((i=0;i<$id_count;i++));do
{
cat project.txt | /usr/bin/jq 'if (.data.projects['${i}'].name) == "'$projectname'" then .data.projects['${i}'].uuid else empty end' | sed 's/\"//g'>>uuid.txt
}
done
while read projectuuid
do
# echo $line
#done < ooo.txt
curl -X POST \
"http://"$1":"$2"/kylin/api/access/ProjectInstance/"$projectuuid"" \
-H 'Accept: application/vnd.apache.kylin-v2+json' \
-H 'Accept-Language: en' \
-H 'Authorization: Basic QURNSU46S1lMSU4=' \
-H 'Content-Type: application/json;charset=utf-8' \
-d '{
"permission":"'$grant'",
"principal": true,
"sid": "'$username'"
}'
done <uuid.txt
#projectname=$1
#cubename=$2
modelname=$(curl -X GET \
"http://"$1":"$2"/kylin/api/cube_desc/"$projectname"/"$cubename"" \
-H 'Accept: application/vnd.apache.kylin-v2+json' \
-H 'Accept-Language: en' \
-H 'Authorization: Basic QURNSU46S1lMSU4=' \
-H 'Content-Type: application/json;charset=utf-8'|jq '.data.cube.model_name'|sed 's/\"//g' )
#}
#echo $modelname
tablesname=$(curl -X GET \
"http://"$1":"$2"/kylin/api/models/"$projectname"/"$modelname"" \
-H 'Accept: application/vnd.apache.kylin-v2+json' \
-H 'Accept-Language: en' \
-H 'Authorization: Basic QURNSU46S1lMSU4=' \
-H 'Content-Type: application/json;charset=utf-8'|jq '.data.model.fact_table'|sed 's/\"//g' & curl -X GET \
"http://"$1":"$2"/kylin/api/models/"$projectname"/"$modelname"" \
-H 'Accept: application/vnd.apache.kylin-v2+json' \
-H 'Accept-Language: en' \
-H 'Authorization: Basic QURNSU46S1lMSU4=' \
-H 'Content-Type: application/json;charset=utf-8'|jq '.data.model.lookups[].table'|sed 's/\"//g'
)
echo "$tablesname">tablename.txt
sort -k2n tablename.txt | sed '$!N; /^\(.*\)\n\1$/!P; D' > tables.txt
#备份IFS
OLD_IFS="$IFS"
#设置新的分隔符为;
IFS="\n"
#读取文件中的行
while read LINE
do
echo $LINE
#将字符串$LINE分割到数组
arr=($LINE)
# ${arr[@]}存储整个数组
for s in ${arr[@]}
do
echo $s
echo "****"
curl -X POST \
"http://"$1":"$2"/kylin/api/acl/table/"$projectname"/"$typename"/"$s"/"$username"" \
-H 'Accept: application/vnd.apache.kylin-v2+json' \
-H 'Accept-Language: en' \
-H 'Authorization: Basic QURNSU46S1lMSU4=' \
-H 'Content-Type: application/json;charset=utf-8'
done
done <tables.txt
#恢复IFS
IFS="$OLD_IFS"
rm -rf project.txt
rm -rf tables.txt
rm -rf tablename.txt
rm -rf uuid.txt
6217 0025 9000 5521 812
用户授权
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 原文:https://blog.csdn.net/adu198888/article/details/540928...
- MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1....
- 今天要创建一个Oracle用户,然后发现sql不太记得了,然后只能再去找找资料,发现这样效率并不是很高,所以记录成...