Paramiko TypeError: '<' not supported between instances of 'int' and 'str'
Paramiko TypeError: '<' not supported between instances of 'int' and '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 回答的那样。
端口应以整数形式给出。
我目前正在尝试使用 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 回答的那样。
端口应以整数形式给出。