我正在尝试使用Python 3.7通过SFTP建立从AWS Glue到远程服务器的连接。我尝试使用pysftp库执行此任务。
但是pysftp使用名为bcrypt的库,该库具有python和c代码。到目前为止,AWS Glue仅支持文档中提到的纯python库(在下面的链接)。
https://docs.aws.amazon.com/glue/latest/dg/console-custom-created.html
我得到的错误如下。
ImportError:无法导入名称“ _bcrypt”
由于编译错误,我被卡在这里。
因此,我使用Scala尝试了JSch Java库。编译成功,但是出现以下异常。
com.jcraft.jsch.JSchException:java.net.UnknownHostException:[远程服务器主机名]
我们如何从AWS Glue通过SFTP连接到远程服务器?有可能吗?
我们如何为Glue作业配置出站规则(如果需要)?
答案 0 :(得分:0)
我在这里为可能会帮助您的人回答我自己的问题。
直接的答案是否。
我找到了以下资源,这些资源表明AWS Glue是用于AWS资源的ETL工具。
AWS Glue使用其他AWS服务来协调您的ETL(提取, 转换和加载)作业以建立数据仓库。
来源-https://docs.aws.amazon.com/glue/latest/dg/how-it-works.html
Glue仅适用于来自JDBC和S3(CSV)数据源的ETL。在 如果您要从其他云应用程序加载数据,则文件 Storage Base等。胶水将无法支持。
来源-https://hevodata.com/blog/aws-glue-etl/
为实现我的工作,我使用了AWS Lambda函数通过SFTP连接到远程服务器,选择所需的文件并将其放入S3存储桶中。现在,AWS Glue作业可以从S3中选择文件。