Transfer Family 事件详情参考 - AWS Transfer Family

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Transfer Family 事件详情参考

来自 AWS 服务的所有事件都有一组公共字段,其中包含有关该事件的元数据。这些元数据可以包括作为事件来源的 AWS 服务、事件的生成时间、事件发生的账户和区域等。有关这些常规字段的定义,请参阅《Amazon EventBridge 用户指南》中的事件结构参考

此外,每个事件都有一个 detail 字段,其中包该特定事件专有的数据。以下参考定义了各种 Transfer Family 事件的详细信息字段。

在使用 EventBridge 选择和管理 Transfer Family 事件时,请考虑以下几点:

  • 来自的所有事件的source字段均设置 Transfer Family 为aws.transfer

  • detail-type 字段指定事件类型。

    例如,FTP File Server Download Completed

  • detail 字段包含该特定事件专有的数据。

有关如何构造使规则能够匹配 Transfer Family 事件的事件模式的信息,请参阅《Amazon EventBridge 用户指南》中的事件模式

有关事件及其 EventBridge 处理方式的更多信息,请参阅《Amazon EventBridge 用户指南》中的Amazon EventBridge 事件

SFTP、FTPS 和 FTP 服务器事件

以下是 SFTP、FTPS 和 FTP 服务器事件的详细信息字段:

  • FTP 文件服务器下载已完成

  • FTP 文件服务器下载失败

  • FTP 文件服务器上传已完成

  • FTP 文件服务器上传失败

  • FTPS 文件服务器下载已完成

  • FTPS 文件服务器下载失败

  • FTPS 文件服务器上传已完成

  • FTPS 文件服务器上传失败

  • SFTP 服务器文件下载已完成

  • SFTP 服务器文件下载失败

  • SFTP 服务器文件上传已完成

  • SFTP 服务器文件上传失败

下面包含sourcedetail-type字段,因为它们包含 Transfer Family 事件的特定值。有关所有事件中包含的其他元数据字段的定义,请参阅Amazon EventBridge 用户指南中的事件结构参考

{ . . ., "detail-type": "string", "source": "aws.transfer", . . ., "detail": { "failure-code" : "string", "status-code" : "string", "protocol" : "string", "bytes" : "number", "client-ip" : "string", "failure-message" : "string", "end-timestamp" : "string", "etag" : "string", "file-path" : "string", "server-id" : "string", "username" : "string", "session-id" : "string", "start-timestamp" : "string" } }
detail-type

标识事件的类型。

对于此事件,该值是先前列出的 SFTP、FTPS 或 FTP 服务器事件名称之一。

source

标识生成事件的服务。对于 Transfer Family 事件,此值为aws.transfer

detail

包含关于事件信息的 JSON 对象。生成事件的服务决定该字段的内容。

对于此事件,数据包括以下内容:

failure-code

传输失败原因的类别。值:PARTIAL_UPLOAD | PARTIAL_DOWNLOAD | UNKNOWN_ERROR

status-code

传输是否成功。价值观:COMPLETED | FAILED

protocol

用于传输的协议。值:SFTP | FTPS | FTP

bytes

传输的字节数。

client-ip

参与传输的客户端 IP 地址

failure-message

对于失败的传输,提供传输失败原因的详细信息。

end-timestamp

对于成功传输,是指文件处理完毕的时间戳。

etag

实体标签(仅用于 Amazon S3 文件)。

file-path

正在传输的文件的路径。

server-id

Transfer Family 服务器的唯一 ID。

username

正在执行转移的用户。

session-id

传输会话的唯一标识符。

start-timestamp

对于成功传输,指文件处理开始时间的时间戳。

例 SFTP 服务器文件下载失败示例事件

以下示例显示了在 SFTP 服务器上下载失败的事件(Amazon EFS 是否正在使用存储空间)。

{ "version": "0", "id": "event-ID", "detail-type": "SFTP Server File Download Failed", "source": "aws.transfer", "account": "958412138249", "time": "2024-01-29T17:20:27Z", "region": "us-east-1", "resources": [ "arn:aws:transfer:us-east-1:958412138249:server/s-1234abcd5678efghi" ], "detail": { "failure-code": "PARTIAL_DOWNLOAD", "status-code": "FAILED", "protocol": "SFTP", "bytes": 4100, "client-ip": "IP-address", "failure-message": "File was partially downloaded.", "end-timestamp": "2024-01-29T17:20:27.749749117Z", "file-path": "/fs-1234abcd5678efghi/user0/test-file", "server-id": "s-1234abcd5678efghi", "username": "test", "session-id": "session-ID", "start-timestamp": "2024-01-29T17:20:16.706282454Z" } }
例 FTP 文件服务器上传已完成示例事件

以下示例显示了在 FTP 服务器上成功完成上传的事件(Amazon S3 是否正在使用存储空间)。

{ "version": "0", "id": "event-ID", "detail-type": "FTP Server File Upload Completed", "source": "aws.transfer", "account": "958412138249", "time": "2024-01-29T16:31:43Z", "region": "us-east-1", "resources": [ "arn:aws:transfer:us-east-1:958412138249:server/s-1111aaaa2222bbbb3" ], "detail": { "status-code": "COMPLETED", "protocol": "FTP", "bytes": 1048576, "client-ip": "10.0.0.141", "end-timestamp": "2024-01-29T16:31:43.311866408Z", "etag": "b6d81b360a5672d80c27430f39153e2c", "file-path": "/DOC-EXAMPLE-BUCKET/test/1mb_file", "server-id": "s-1111aaaa2222bbbb3", "username": "test", "session-id": "event-ID", "start-timestamp": "2024-01-29T16:31:42.462088327Z" } }

SFTP 连接器事件

以下是 SFTP 连接器事件的详细信息字段:

  • SFTP 连接器文件发送已完成

  • SFTP 连接器文件发送失败

  • SFTP 连接器文件检索已完成

  • 检索 SFTP 连接器文件失败

  • SFTP 连接器目录列表已完成

  • SFTP 连接器目录列表失败

下面包含sourcedetail-type字段,因为它们包含 Transfer Family 事件的特定值。有关所有事件中包含的其他元数据字段的定义,请参阅Amazon EventBridge 用户指南中的事件结构参考

{ . . ., "detail-type": "string", "source": "aws.transfer", . . ., "detail": { "operation" : "string", "max-items" : "number", "connector-id" : "string", "output-directory-path" : "string", "listing-id" : "string", "transfer-id" : "string", "file-transfer-id" : "string", "url" : "string", "file-path" : "string", "status-code" : "string", "failure-code" : "string", "failure-message" : "string", "start-timestamp" : "string", "end-timestamp" : "string", "local-directory-path" : "string", "remote-directory-path" : "string" "item-count" : "number" "truncated" : "boolean" "bytes" : "number", "local-file-location" : { "domain" : "string", "bucket" : "string", "key" : "string" }, "output-file-location" : { "domain" : "string", "bucket" : "string", "key" : "string" } } }
detail-type

标识事件的类型。

对于此事件,该值是先前列出的 SFTP 连接器事件名称之一。

source

标识生成事件的服务。对于 Transfer Family 事件,此值为aws.transfer

detail

包含关于事件信息的 JSON 对象。生成事件的服务决定了该字段的内容。

对于此事件,数据包括以下内容:

max-items

要返回的目录/文件名的最大数量。

operation

StartFileTransfer请求是发送文件还是检索文件。价值观:SEND|RETRIEVE

connector-id

正在使用的 SFTP 连接器的唯一标识符。

output-directory-path

Amazon S3 中用于存储文件/目录列表结果的路径(存储桶和前缀)。

listing-id

StartDirectoryListingAPI 调用的唯一标识符。此标识符可用于检查 CloudWatch 日志,以查看上市请求的状态。

transfer-id

传输事件(StartFileTransfer请求)的唯一标识符。

file-transfer-id

正在传输的文件的唯一标识符。

url

合作伙伴的 AS2 或 SFTP 端点的 URL。

file-path

正在发送或检索的位置和文件。

status-code

传输是否成功。价值观:FAILED | COMPLETED

failure-code

对于失败的传输,则为转移失败的原因代码。

failure-message

对于失败的传输,提供传输失败原因的详细信息。

start-timestamp

对于成功传输,指文件处理开始时间的时间戳。

end-timestamp

对于成功传输,指文件处理完成的时间戳。

local-directory-path

对于RETRIEVE请求,指存放检索到文件的位置。

remote-directory-path

对于SEND请求,指将文件放在合作伙伴的 SFTP 服务器上的文件目录。这是用户传递给StartFileTransfer请求RemoteDirectoryPath的的值。您可以在合作伙伴的 SFTP 服务器上指定默认目录。如果是,则此字段为空。

item-count

为列出请求返回的项目(目录和文件)的数量。

truncated

列表输出是否包含远程目录中包含的所有项目。

bytes

正在传输的字节数。对于失败的传输,该值为 0。

local-file-location

此参数包含 AWS 存储文件位置的详细信息。

domain

正在使用的存储空间。目前,唯一的值是S3

bucket

Amazon S3 中对象的容器。

key

在 Amazon S3 中为对象分配的名称。

output-file-location

此参数包含存储目录列表结果的 AWS 存储位置的详细信息。

domain

正在使用的存储空间。目前,唯一的值是S3

bucket

Amazon S3 中对象的容器。

key

在 Amazon S3 中为对象分配的名称。

例 SFTP 连接器文件发送失败示例事件

以下示例显示了尝试向远程 SFTP 服务器发送文件时 SFTP 连接器出现故障的事件。

{ "version": "0", "id": "event-ID", "detail-type": "SFTP Connector File Send Failed", "source": "aws.transfer", "account": "123456789012", "time": "2024-01-24T19:30:45Z", "region": "us-east-1", "resources": [ "arn:aws:transfer:us-east-1:123456789012:connector/c-f1111aaaa2222bbbb3" ], "detail": { "operation": "SEND", "connector-id": "c-f1111aaaa2222bbbb3", "transfer-id": "transfer-ID", "file-transfer-id": "file-transfer-ID", "url": "sftp://s-21a23456789012a.server.transfer.us-east-1.amazonaws.com", "file-path": "/DOC-EXAMPLE-BUCKET/testfile.txt", "status-code": "FAILED", "failure-code": "CONNECTION_ERROR", "failure-message": "Unknown Host", "remote-directory-path": "", "bytes": 0, "start-timestamp": "2024-01-24T18:29:33.658729Z", "end-timestamp": "2024-01-24T18:29:33.993196Z", "local-file-location": { "domain": "S3", "bucket": "DOC-EXAMPLE-BUCKET", "key": "testfile.txt" } } }
例 SFTP 连接器文件检索已完成示例事件

以下示例显示了一个事件,其中 SFTP 连接器成功检索了从远程 SFTP 服务器发送的文件。

{ "version": "0", "id": "event-ID", "detail-type": "SFTP Connector File Retrieve Completed", "source": "aws.transfer", "account": "123456789012", "time": "2024-01-24T18:28:08Z", "region": "us-east-1", "resources": [ "arn:aws:transfer:us-east-1:123456789012:connector/c-f1111aaaa2222bbbb3" ], "detail": { "operation": "RETRIEVE", "connector-id": "c-fc68000012345aa18", "transfer-id": "file-transfer-ID", "file-transfer-id": "file-transfer-ID", "url": "sftp://s-21a23456789012a.server.transfer.us-east-1.amazonaws.com", "file-path": "testfile.txt", "status-code": "COMPLETED", "local-directory-path": "/DOC-EXAMPLE-BUCKET", "bytes": 63533, "start-timestamp": "2024-01-24T18:28:07.632388Z", "end-timestamp": "2024-01-24T18:28:07.774898Z", "local-file-location": { "domain": "S3", "bucket": "DOC-EXAMPLE-BUCKET", "key": "testfile.txt" } } }
例 SFTP 连接器目录列表已完成示例事件

以下示例显示了一个事件,在该事件中,启动目录列表调用从远程 SFTP 服务器检索到列表文件。

{ "version": "0", "id": "event-ID", "detail-type": "SFTP Connector Directory Listing Completed", "source": "aws.transfer", "account": "123456789012", "time": "2024-01-24T18:28:08Z", "region": "us-east-1", "resources": [ "arn:aws:transfer:us-east-1:123456789012:connector/c-f1111aaaa2222bbbb3" ], "detail": { "max-items": 10000, "connector-id": "c-fc68000012345aa18", "output-directory-path": "/DOC-EXAMPLE-BUCKET/example/file-listing-output", "listing-id": "123456-23aa-7980-abc1-1a2b3c4d5e", "url": "sftp://s-21a23456789012a.server.transfer.us-east-1.amazonaws.com", "status-code": "COMPLETED", "remote-directory-path": "/home", "item-count": 10000, "truncated": true, "start-timestamp": "2024-01-24T18:28:07.632388Z", "end-timestamp": "2024-01-24T18:28:07.774898Z", "output-file-location": { "domain": "S3", "bucket": "DOC-EXAMPLE-BUCKET", "key": "c-fc1ab90fd0d047e7a-70987273-49nn-4006-bab1-1a7290cc412ba.json" } } }

AS2 赛事

以下是 AS2 事件的详细信息字段:

  • AS2 有效载荷接收已完成

  • AS2 有效载荷接收失败

  • AS2 有效载荷发送已完成

  • AS2 有效负载发送失败

  • AS2 MDN 接收已完成

  • AS2 MDN 接收失败

  • AS2 MDN 发送已完成

  • AS2 MDN 发送失败

下面包含sourcedetail-type字段,因为它们包含 Transfer Family 事件的特定值。有关所有事件中包含的其他元数据字段的定义,请参阅Amazon EventBridge 用户指南中的事件结构参考

{ . . ., "detail-type": "string", "source": "aws.transfer", . . ., "detail": { "s3-attributes" : { "file-bucket" : "string", "file-key" : "string", "json-bucket" : "string", "json-key" : "string", "mdn-bucket" : "string", "mdn-key" : "string" } "mdn-subject" : "string", "mdn-message-id" : "string", "disposition" : "string", "bytes" : "number", "as2-from" : "string", "as2-message-id" : "string", "as2-to" : "string", "connector-id" : "string", "client-ip" : "string", "agreement-id" : "string", "server-id" : "string", "requester-file-name" : "string", "message-subject" : "string", "start-timestamp" : "string", "end-timestamp" : "string", "status-code" : "string", "failure-code" : "string", "failure-message" : "string", "transfer-id" : "string" } }
detail-type

标识事件的类型。

对于此事件,该值是先前列出的 AS2 事件之一。

source

标识生成事件的服务。对于 Transfer Family 事件,此值为aws.transfer

detail

包含关于事件信息的 JSON 对象。生成事件的服务决定该字段的内容。

s3-attributes

识别正在传输的文件的 Amazon S3 存储桶和密钥。对于 MDN 事件,它还会识别 MDN 文件的存储桶和密钥。

file-bucket

Amazon S3 中对象的容器。

file-key

在 Amazon S3 中为对象分配的名称。

json-bucket

对于已完成或失败的传输,为 JSON 文件的容器。

json-key

对于已完成或失败的传输,指在 Amazon S3 中分配给 JSON 文件的名称。

mdn-bucket

对于 MDN 事件,是 MDN 文件的容器。

mdn-key

对于 MDN 事件,指在 Amazon S3 中分配给 MDN 文件的名称。

mdn-subject

对于 MDN 事件,是消息处理的文本描述。

mdn-message-id

对于 MDN 事件,是 MDN 消息的唯一 ID。

disposition

对于 MDN 事件,指处置类别。

bytes

消息中的字节数。

as2-from

发送消息的 AS2 贸易伙伴。

as2-message-id

正在传输的 AS2 消息的唯一标识符。

as2-to

正在接收消息的 AS2 贸易伙伴。

connector-id

对于从 Transfer Family 服务器发送给贸易伙伴的 AS2 消息,使用的是 AS2 连接器的唯一标识符。

client-ip

对于服务器事件(从交易伙伴向 Transfer Family 服务器转账),是指参与转移的客户的 IP 地址。

agreement-id

对于服务器事件,AS2 协议的唯一标识符。

server-id

对于服务器事件,仅适用于 Transfer Family 服务器的唯一 ID。

requester-file-name

对于负载事件,指传输期间收到的文件的原始名称。

message-subject

消息主题的文字描述。

start-timestamp

对于成功传输,指文件处理开始时间的时间戳。

end-timestamp

对于成功传输,指文件处理完成的时间戳。

status-code

与 AS2 邮件传输过程状态相对应的代码。有效值:COMPLETED | FAILED | PROCESSING

failure-code

对于失败的传输,指传输失败原因的类别。

failure-message

对于失败的传输,提供传输失败原因的详细信息。

transfer-id

传输事件的唯一标识符。

例 AS2 Payload 接收已完成示例事件
{ "version": "0", "id": "event-ID", "detail-type": "AS2 Payload Receive Completed", "source": "aws.transfer", "account": "076722215406", "time": "2024-02-07T06:47:05Z", "region": "us-east-1", "resources": ["arn:aws:transfer:us-east-1:076722215406:connector/c-1111aaaa2222bbbb3"], "detail": { "s3-attributes": { "file-key": "/inbound/processed/testAs2Message.dat", "file-bucket": "DOC-EXAMPLE-BUCKET" }, "client-ip": "client-IP-address", "requester-file-name": "testAs2MessageVerifyFile.dat", "end-timestamp": "2024-02-07T06:47:06.040031Z", "as2-from": "as2-from-ID", "as2-message-id": "as2-message-ID", "message-subject": "Message from AS2 tests", "start-timestamp": "2024-02-07T06:47:05.410Z", "status-code": "PROCESSING", "bytes": 63, "as2-to": "as2-to-ID", "agreement-id": "a-1111aaaa2222bbbb3", "server-id": "s-1234abcd5678efghi" } }
例 AS2 MDN 接收失败示例事件
{ "version": "0", "id": "event-ID", "detail-type": "AS2 MDN Receive Failed", "source": "aws.transfer", "account": "889901007463", "time": "2024-02-06T22:05:09Z", "region": "us-east-1", "resources": ["arn:aws:transfer:us-east-1:076722215406:server/s-1111aaaa2222bbbb3"], "detail": { "mdn-subject": "Your Requested MDN Response re: Test run from Id 123456789abcde to partner ijklmnop987654", "s3-attributes": { "json-bucket": "DOC-EXAMPLE-BUCKET1", "file-key": "/as2Integ/TestOutboundWrongCert.dat", "file-bucket": "DOC-EXAMPLE-BUCKET2", "json-key": "/as2Integ/failed/TestOutboundWrongCert.dat.json" }, "mdn-message-id": "MDN-message-ID", "end-timestamp": "2024-02-06T22:05:09.479878Z", "as2-from": "PartnerA", "as2-message-id": "as2-message-ID", "connector-id": "c-1234abcd5678efghj", "message-subject": "Test run from Id 123456789abcde to partner ijklmnop987654", "start-timestamp": "2024-02-06T22:05:03Z", "failure-code": "VERIFICATION_FAILED_NO_MATCHING_KEY_FOUND", "status-code": "FAILED", "as2-to": "MyCompany", "failure-message": "No public certificate matching message signature could be found in profile: p-1234abcd5678efghj", "transfer-id": "transfer-ID" } }