import awswrangler as wr
con = wr.redshift.connect("test_1")
with con.cursor() as cursor:
cursor.execute("SELECT 1;")
print(cursor.fetchall())
con.close()
如果您已安装并验证了aws cli,则它将不需要任何进一步的步骤即可工作。这里的技巧是awswrangler使用的boto3 auth mechanism。awswrangler将boto3 in ^{} method与以下注释一起使用-boto3_会话(boto3.session(),可选)–boto3会话。如果boto3_会话未收到任何消息,则将使用默认boto3会话所以,事实上,boto3_session总是被使用的,但是由于是可选的,它的使用可能会被你隐藏起来。安装aws cli后,它将检查~/.aws/credentials&&~/.aws/config并将基于这些文件进行身份验证。
另一种选择是在代码中启动boto3会话,并将其直接传递给方法
import awswrangler as wr
import boto3
session = boto3.Session(
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
aws_session_token=SESSION_TOKEN
)
con = wr.redshift.connect("test_1", boto3_session=session)
with con.cursor() as cursor:
cursor.execute("SELECT 1;")
print(cursor.fetchall())
con.close()
首先在AWS控制台中需要具有唯一名称的to create a Glue connections
让我们给它起个名字test\u 1
然后你可以把这个名字传给awswrangler
如果您已安装并验证了aws cli,则它将不需要任何进一步的步骤即可工作。这里的技巧是awswrangler使用的boto3 auth mechanism。awswrangler将boto3 in ^{} method 与以下注释一起使用-boto3_会话(boto3.session(),可选)–boto3会话。如果boto3_会话未收到任何消息,则将使用默认boto3会话所以,事实上,boto3_session总是被使用的,但是由于是可选的,它的使用可能会被你隐藏起来。安装aws cli后,它将检查
~/.aws/credentials
&&~/.aws/config
并将基于这些文件进行身份验证。 另一种选择是在代码中启动boto3会话,并将其直接传递给方法相关问题 更多 >
编程相关推荐