如何将.pem文件发送到Dask群集?

问题描述 投票:0回答:1

我有一个如下的表达式,其中我试图以分布式方式运行sqlalchemy查询。但是,它引用在connect_args参数中输入的.pem密钥文件。如何将这个密钥文件上传到dask集群/工作者中,以便它可以运行此sqlalchemy查询?

def execute_query(q):
    conn = create_engine(f'presto://{user}:{password}@{host}:{port}/{catalog}/{schema}',
                               connect_args={'protocol': 'https',
                                             'requests_kwargs': {'verify': key}})
    return pd.read_sql(q, conn)

df = dd.from_delayed([
    delayed(execute_query)(q) for q in queries])

我尝试使用client.upload_file将本地文件发送到群集,但它抱怨找不到.pem键的路径

OSError: Could not find a suitable TLS CA certificate bundle, invalid path: hdsj1ptc001.pem
python dask distributed dask-distributed dask-kubernetes
1个回答
0
投票

虽然Dask可以为您处理文件的某些操作(请参阅client.upload_file),但是您应使用自己的方法将敏感文件(例如凭据)分发到工作文件系统上的特定位置。选项包括client.upload_file,kubernetes机密和许多其他方法。

如果您确定群集的安全性,则可以将密钥文件包含在函数的参数中,然后将其写入函数中的文件(请参见下文),或者在调用允许的情况下,将字节传递直接。

scp
© www.soinside.com 2019 - 2024. All rights reserved.