[英]RDSdataService execute_statement returns (BadRequestException)
我正在使用帶有 executeStatement 的 boto3 庫來使用 DATA API 從 RDS 集群獲取數據。 如果我 select 1 或 2 列,查詢工作正常,但只要我 select 另一列要查詢,它返回一個錯誤, (BadRequestException) permission denied for relation table_name
我已經使用 pgadmin 檢查了權限是否完整,可以為我正在使用的用戶查詢整個數據庫。
function 包含在調用中:
def execute_query(self, sql_query, sql_parameters=[]):
"""
Aurora DataAPI execute query. Generally used for select statements.
:param sql_query: Query
:param sql_parameters: parameters in sql query
:return: DataApi response
"""
client = self.api_access()
response = client.execute_statement(
resourceArn=RESOURCE_ARN,
secretArn=SECRET_ARN,
database='db_name',
sql=sql_query,
includeResultMetadata=True,
parameters=sql_parameters)
return response
function 調用:沒有錯誤
query = '''
SELECT id
FROM schema_name.table_name
limit 1
'''
print(query)
result = conn.execute_query(query)
print(result)
function 調用:失敗並出現上述錯誤
query = '''
SELECT id,name,event
FROM schema_name.table_name
limit 1
'''
print(query)
result = conn.execute_query(query)
print(result)
使用 Boto3 從 DATA API 獲得的內容是否存在水平限制? 我知道有 1MB 的限制,但如果超過限制,它應該根據文檔返回一些內容。
后端是Postgres RDS
更新:我可以 select 相同的列 10 次,這不是問題
query = '''
SELECT id,event,event,event,event,event
FROM schema_name.table_name
limit 1
'''
print(query)
result = conn.execute_query(query)
print(result)
所以這意味着有些列我不能 select。
我不知道某些表中存在列級安全性。 如果您正在使用的用戶在 postgres 中有列級證券,那很明顯我不能 select 這些列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.