如何解决Paramiko TypeError:“int”和“str”的实例之间不支持“<”
我目前正在尝试使用 Python 中 Lambda 函数中的 Paramiko 库将文件从 SFTP 移动到 S3 存储桶。 但面临类型错误。
我的代码:
def open_ftp_connection(ftp_host,ftp_port,ftp_username,ftp_password):
'''
Opens ftp connection and returns connection object
'''
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
transport = paramiko.Transport(ftp_host,ftp_port)
except Exception as e:
return 'conn_error'
try:
transport.connect(username=ftp_username,password=ftp_password)
except Exception as identifier:
return 'auth_error'
ftp_connection = paramiko.SFTPClient.from_transport(transport)
return ftp_connection
ftp_host
是 str
- 13.xxx.1xx.xx
ftp_port
是 str
- 22
ftp_username
是 str
错误:
[ERROR] TypeError: '<' not supported between instances of 'int' and 'str'
Traceback (most recent call last):
File "/var/task/transfer_data.py",line 159,in transfer_handler
ftp_connection = paramiko.SFTPClient.from_transport(transport)
File "/var/task/paramiko/sftp_client.py",line 165,in from_transport
window_size=window_size,max_packet_size=max_packet_size
File "/var/task/paramiko/transport.py",line 879,in open_session
timeout=timeout,File "/var/task/paramiko/transport.py",line 973,in open_channel
window_size = self._sanitize_window_size(window_size)
File "/var/task/paramiko/transport.py",line 1970,in _sanitize_window_size
return clamp_value(MIN_WINDOW_SIZE,window_size,MAX_WINDOW_SIZE)
File "/var/task/paramiko/util.py",line 308,in clamp_value
return max(minimum,min(val,maximum))
解决方法
正如@Vishnudev 回答的那样。
端口应为整数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。