【以下的问题经过翻译处理】 我已经在两个不同的区域中设置了AWS Transfer Family服务器以测试发送功能。然而,即使VPC已经创建,发送消息仍然失败,要么是UNABLE_TO_CONNECT_TO_REMOTE_HOST_OR_IP,要么是“File path not found”。我正在使用S3发送文档。
我使用了另一个程序(Mendelson AS2)检查了IP地址,它可以连接成功。它甚至可以发送一个测试文档。但是,使用lambda函数发送时会失败。
我尝试了一些事情:
- 检查权限:我能够连接和描述服务器、连接器等等,所以这不是问题。
- 使用错误的连接器URL:我使用了与Mendelson中的URL相同的URL,端口附加在末尾(http:/ s-xxx:5080格式为[1]中指定的形式,带有区域)。我也尝试了没有指定端口的URL,但这也没有起作用。
- 区域问题:我认为区域之间的不匹配可能是一个问题,因为lambda设置在us-west-1,而我发送到的as2服务器在us-east2,所以我创建了一个不同的连接器,并让它在相同的区域发送到自己。仍然无法连接。
- 检查cloudwatch日志:它显示每个发送都是200成功。
注意到的奇怪的事情:
- 触发lambda后,它会创建预期的失败和处理文件夹,但在前几次之后,它不再保存结果。有时我会得到一个.cms文件和一个.json文件,但并不总是,尽管cloudwatch日志每次都正确创建。
- 失败和处理文件夹以某种方式被创建在上传文件的文件夹上方。 (例如,文件夹结构是bucket/folder 1/folder2/folder 3,上传的文件在folder3。但是,失败的和处理的文件夹被创建在folder2 中,而不是预期的folder 3 中。不过这种情况只发生过一次。
补充问题: 如果需要,我可以把这个问题作为另一个问题上传,但由于它与我的问题有关,我想我还是把它放在这里吧。
传输 id 是什么意思?这应该是执行 ID 吗?文档 [2] 中似乎没有查看传输结果的选项。
参考:
[1] https://docs.aws.amazon.com/transfer/latest/userguide/as2-end-to-end-example.html#as2-create-connector-example
[2] https://docs.aws.amazon.com/transfer/latest/userguide/API_StartFileTransfer.html