import awswrangler as wr
con = wr.redshift.connect("MY_GLUE_CONNECTION")"MY_GLUE_CONNECTION“的价值是什么?
发布于 2021-05-17 04:53:40
您首先需要在AWS控制台中具有唯一名称的创建Glue连接。
让我们给它起名叫test_1

然后你可以把这个名字传给awswrangler
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 并对其进行了身份验证,那么它将不需要任何进一步的步骤就可以工作。这里的诀窍是awswrangler使用的boto3 auth机制。awswrangler使用方法和下面的注释- boto3_session (boto3.Session(),可选)- Boto3会话。如果boto3未收到任何消息,则将使用默认的boto3_session会话。因此,实际上boto3_session总是被使用,但是由于它是可选的,它的使用可能会被您隐藏起来。安装了aws后,它将检查~/.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()https://stackoverflow.com/questions/67557052
复制相似问题