Hello @Adam Kupiec
Based on the information you provided, it looks like you have set up a Virtual Network with a Public IP Address and a Pool in the Azure Batch Service.
You have also assigned a Public IP ID to the user-managed IP address provisioning type. You mentioned that you were able to successfully run your POC with the Public Access in the Networking blade enabled, and with the Enabled from selected virtual networks and IP addresses selected and your Virtual Network added. It is possible that the IP address of the node that was created is not the same as the Public IP Address that you assigned to the user-managed IP address provisioning type.
You can check the IP address of the node by running the following command in your Python script:
import requests
# Print current IP address
response = requests.get('https://api.ipify.org?format=json')
ip_address = response.json()['ip']
print('Current IP Address: {ip_address}')
This will print the current IP address of the node in the console. You can then compare this IP address with the Public IP Address that you assigned to the user-managed IP address provisioning type to see if they match.
If they do not match, you may need to update your configuration to ensure that the node is using the correct IP address.
If they do match, it is possible that the SFTP owner's firewall is not configured correctly to allow traffic from your node's IP address. In this case, you should contact the SFTP owner to ensure that the correct IP address is whitelisted.
I hope that this response has addressed your query and helped you overcome your challenges. If so, please mark this response as Answered. This will not only acknowledge our efforts, but also assist other community members who may be looking for similar solutions.