Ошибка при AWS BOTO3 подключении к базе данных MS SQL - PullRequest
1 голос
/ 10 января 2020

Пожалуйста, помогите мне изменить мой код, когда я хочу подключиться и проанализировать запрос к RDS-MS SQL, используя AWS BOTO3 python (на aws лямбда)

Здесь мой код

import json
import boto3

database_name = database_name 
db_cluster_arn = db_cluster_arn 
query=query
rds_client=boto3.client('rds-data')

def execute_statement(sql):{
    print('===== Example - Simple query =====')
    response = rds_client.execute_statement(
        database=database_name,
        resourceArn=db_cluster_arn,
        sql=sql
    )
    return response

    response = execute_statement(query)
    print(response['records'])

Моя ошибка

1 Ответ

1 голос
/ 10 января 2020

Найдено две проблемы. это должно работать, если вы исправите их.

  1. У вас есть { в синтаксисе в строке ниже:

    def execute_statement(sql):{
    
  2. И также строка ниже не имеет отступа.

    response = execute_statement(query)
    

вот код с исправлениями:

import json
import boto3

database_name = 'HSA_NONSAN_PROD'
db_cluster_arn = 'arn:aws:rds:ap-southeast-1:499461857546:db:prod-hsaplus-db-2'
query='SELECT (CASE WHEN Status=1 THEN \'OK\' ELSE \'BAD\' END) AS Status FROM dbo.tbAllCustomer_NONSAN_JOBSTATUS WHERE JobRunNo=(SELECT MAX(JobRunNo) FROM dbo.tbAllCustomer_NONSAN_JOBSTATUS)'
rds_client=boto3.client('rds-data')

def execute_statement(sql):
    print('===== Example - Simple query =====')
    response = rds_client.execute_statement(
        database=database_name,
        resourceArn=db_cluster_arn,
        sql=sql
    )
    return response

response = execute_statement(query)
print(response['records'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...