考虑用 Python 编写的 AWS lambda,它使用 boto3 作为 AWS Redshift 服务的客户端。
考虑以下示例:
import boto3
import moto
def lambda_handler(event, context):
session = boto3.session.Session()
redshift_data_service = session.client(
service_name='redshift-data',
region_name='a_region',
)
redshift_data_service.execute_statement(
sql="insert into XYZ VALUES..."
)
@moto.redshiftdata
def test_insert_sql_insert():
lambda_handler(...)
redshift_data_service = boto3.client("redshift-data", region_name='a_region')
# List of executed statements (id... sql...)
# Assert Statement Descriptions
使用Moto python依赖模拟
redshift-data
(类似于上面的例子),我如何检索有关执行语句的数据?我指的是先前执行的语句 ID 和在 lambda_handler
上调用的 sql 字符串(“INSERT...”)
我找不到任何东西来获取语句 ID 以查询服务并获得语句描述。
有没有办法断言先前执行的 SQL 的文本?
• AWS Redshift 错误:CREATE MODEL 不支持数字列类型作为 TARGET / RETURN
• 使用 python moto lib 模拟 s3 时出现 ExpiredToken 错误
• AWS 运行 Glue 费用“USE1-GlueInteractiveSession-DPU-Hour”- 306.719 DPU-Hour 不知道如何停止?
• 为什么不支持AWS Redshift 上的Auto Copy Job 功能?
• 在 Redshift 中执行动态 SQL 查询并返回结果表
• Redshift python 连接器列名称是字节字符串
• 过滤器(其中......),可用于Postgres,但不能用于Redshift。
• 在 Redshift 上使用 terraform 执行 SQL 语句
• 为什么有些服务被称为“AWS XXX”而其他服务被称为“Amazon XXX”
• 将 Redshift 集群 ID 作为数组返回 - Step Functions
• 如何使用在本地和 AWS 上运行的单个导入语句导入 AWS lambda 层?