从正在运行的AWS Glue Job的上下文中使用boto3调用AWS Glue客户端API时,AWS Glue作业会挂起吗?

时间:2018-06-13 22:27:05

标签: amazon-web-services boto3 aws-glue

我正在尝试创建一个Glue Job,它枚举了我的目录中数据库中的所有表。为此,我使用以下代码片段:

session = boto3.Session(region_name='us-east-2')
glue = session.client('glue')
tables = glue.get_tables(
    DatabaseName='customer1'
)
print tables

作业挂起约15分钟,连接似乎被拒绝,因为我最终收到以下错误:

  

botocore.vendored.requests.exceptions.ConnectTimeout:   HTTPSConnectionPool(host ='glue.us-east-2.amazonaws.com',port = 443):   使用url超出最大重试次数:/(由此引起   ConnectTimeoutError('连接到glue.us-east-2.amazonaws.com定时   出。 (连接超时= 60)'))

此问题特定于glue API。我可以毫无问题地使用S3 API。

我已经浏览了所有安全组,并打开了所有来自任何地方的流量端口。我甚至添加了自引用规则。但这无济于事。

我无法弄清楚导致连接被阻止的原因。 AWS是否专门阻止胶水请求?

1 个答案:

答案 0 :(得分:0)

我遇到的问题是boto3对glues3的调用被挂起并最终超时。

我在创建dev-endpoint时通过更改子网ID对其进行了修复。 最初,我使用的是将流量路由到Internet网关的子网。 我切换到将流量路由到内部NAT网关的子网。希望这会有所帮助。