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_hoststr - 13.xxx.1xx.xx
ftp_portstr - 22
ftp_usernamestr

错误:

[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 回答的那样。

端口应以整数形式给出。