85.8. 消息标头
Minio 组件支持 21 个消息标头,如下所列:
| Name | 描述 | Default(默认) | 类型 |
|---|---|---|---|
| CamelMinioBucketName (common) 常量 : BUCKET_NAME | producer:存储此对象的 bucket 名称,或用于当前操作。consumer :包含此对象的存储桶的名称。 | 字符串 | |
| CamelMinioDestinationBucketName (producer) | 用于当前操作的存储桶目标名称。 | 字符串 | |
| CamelMinioContentControl (common) 常数 : CACHE_CONTROL | producer :此对象的内容控制。consumer :可选的 Cache-Control HTTP 标头,允许用户在 HTTP 请求/reply 链中指定缓存行为。 | 字符串 | |
| CamelMinioContentDisposition (common) | producer:此对象的内容分布。consumer:可选的 Content-Disposition HTTP 标头,它指定要保存的对象的建议文件名。 | 字符串 | |
| CamelMinioContentEncoding (common) 常量 : CONTENT_ENCODING | producer :此对象的内容编码。consumer: 可选的 Content-Encoding HTTP 标头,指定将什么内容编码应用到对象,以及必须应用哪些解码机制来获取 Content-Type 字段引用的 media-type。 | 字符串 | |
| CamelMinioContentLength (common) 常量 : CONTENT_LENGTH | producer :此对象的内容长度。consumer: Content-Length HTTP 标头表示关联的对象的大小(以字节为单位)。 | Long | |
| CamelMinioContentMD5 (common) 常数: CONTENT_MD5 | producer:此对象的 md5 checksum。consumer:根据 RFC 1864,对相关对象(content - 不包括标头)的 base64 编码 128 位 MD5 摘要。此数据用作消息完整性检查,以验证 Minio 收到的数据是否与调用者发送的数据相同。 | 字符串 | |
| CamelMinioContentType (common) 常数: CONTENT_TYPE | producer :此对象的内容类型。consumer :Content-Type HTTP 标头,它指示存储在关联对象中的内容类型。此标头的值是标准 MIME 类型。 | 字符串 | |
| CamelMinioETag (common) 常数: E_TAG | producer:新上传对象的 ETag 值。consumer:根据 RFC 1864,对相关对象的十六进制编码的 128 位 MD5 摘要。此数据用作完整性检查,以验证调用者收到的数据是否与 Minio 发送的数据相同。 | 字符串 | |
| CamelMinioObjectName (common) 常数 : OBJECT_NAME | producer:存储此对象或用于当前操作的密钥。consumer :存储此对象的密钥。 | 字符串 | |
| CamelMinioDestinationObjectName (producer) | 用于当前操作的 Destination 键。 | 字符串 | |
| CamelMinioLastModified (common) 常数: LAST_MODIFIED | producer:此对象的最后修改的时间戳。consumer : Last-Modified 标头的值,指示 Minio 最后记录对相关对象的修改的日期和时间。 | Date | |
| CamelMinioStorageClass (producer) 恒定: STORAGE_CLASS | 此对象的存储类。 | 字符串 | |
| CamelMinioVersionId (common) 常量: VERSION_ID | producer:要存储或从当前操作返回的对象的版本 Id。consumer :关联的 Minio 对象的版本 ID (如果可用)。只有在对象上传到启用了对象版本控制的 Minio 存储桶时,才会将版本 ID 分配给对象。 | 字符串 | |
| CamelMinioCannedAcl (producer) 常量: CANNED_ACL | 应用到对象的 canned acl。有关允许的值,请参阅 com.amazonaws.services.s3.model.CannedAccessControlList。 | 字符串 | |
| CamelMinioOperation (producer) 常数 : MINIO_OPERATION | 要执行的操作。 Enum 值:
| MinioOperations | |
| CamelMinioServerSideEncryption (common) | producer :在使用 Minio-managed 密钥加密对象时设置服务器端加密算法。例如,使用 AES256。consumer :使用 Minio 管理的密钥加密对象时的服务器端加密算法。 | 字符串 | |
| CamelMinioExpirationTime (common) 恒定: EXPIRATION_TIME | 过期时间。 | 字符串 | |
| CamelMinioReplicationStatus (common) 常数 : REPLICATION_STATUS | 复制状态。 | 字符串 | |
| CamelMinioOffset (producer) 常数 : OFFSET | 偏移。 | 字符串 | |
| CamelMinioLength (producer) 常数 : LENGTH | 长度。 | 字符串 |
85.8.1. minio Producer 操作 复制链接链接已复制到粘贴板!
camel-Minio 组件在制作者端提供以下操作:
- copyObject
- deleteObject
- deleteObjects
- listBuckets
- deleteBucket
- listObjects
- GetObject (这将返回 MinioObject 实例)
- getObjectRange (这将返回 MinioObject 实例)
85.8.2. 高级 Minio 配置 复制链接链接已复制到粘贴板!
如果您的 Camel 应用程序在防火墙后面运行,或者需要对 MinioClient 实例配置有更多控制,您可以创建自己的实例并在 Camel minio 组件配置中引用它:
from("minio://MyBucket?minioClient=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
from("minio://MyBucket?minioClient=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
85.8.3. minio Producer 操作示例 复制链接链接已复制到粘贴板!
- CopyObject:此操作将对象从一个存储桶复制到不同的存储桶
此操作会将带有标头 camelDestinationKey 中的名称的对象复制到 Bucket mycamelbucket 中的 camelDestinationBucket 存储桶。
- DeleteObject:此操作从存储桶中删除对象
此操作将从 bucket mycamelbucket 中删除对象 camelKey。
- ListBuckets:此操作列出了此区域中此帐户的存储桶
from("direct:start")
.to("minio://mycamelbucket?minioClient=#minioClient&operation=listBuckets")
.to("mock:result");
from("direct:start")
.to("minio://mycamelbucket?minioClient=#minioClient&operation=listBuckets")
.to("mock:result");
此操作将列出此帐户的存储桶
- DeleteBucket:此操作删除指定为 URI 参数或标头的存储桶
from("direct:start")
.to("minio://mycamelbucket?minioClient=#minioClient&operation=deleteBucket")
.to("mock:result");
from("direct:start")
.to("minio://mycamelbucket?minioClient=#minioClient&operation=deleteBucket")
.to("mock:result");
此操作将删除存储桶 mycamelbucket
- ListObjects :此操作列表在特定存储桶中的对象
from("direct:start")
.to("minio://mycamelbucket?minioClient=#minioClient&operation=listObjects")
.to("mock:result");
from("direct:start")
.to("minio://mycamelbucket?minioClient=#minioClient&operation=listObjects")
.to("mock:result");
此操作将列出 mycamelbucket bucket 中的对象
- GetObject:此操作获取特定存储桶中的单个对象
此操作将返回与 mycamelbucket bucket 中 camelKey 对象相关的 MinioObject 实例。
- GetObjectRange:此操作获得特定存储桶中的单个对象范围
此操作将返回与 mycamelbucket bucket 中 camelKey 对象相关的 MinioObject 实例,其中包含从 0 到 9 的字节数。