可以使用SimpleHttpOperator发送二进制文件。需要设置header和data参数,其中header应包含Content-Type和Content-Disposition信息,data则应包含二进制文件的内容。
以下是一个发送二进制文件的示例代码:
from airflow.operators.http_operator import SimpleHttpOperator
with open('/path/to/binary/file', 'rb') as f:
binary_data = f.read()
header = {
'Content-Type': 'application/octet-stream',
'Content-Disposition': 'attachment; filename="binary.file"'
}
t = SimpleHttpOperator(
task_id='send_binary_file',
method='POST',
http_conn_id='http_default',
endpoint='/upload',
headers=header,
data=binary_data
)