42.7. 消息标头
Minio 组件支持 21 个消息标头,如下所列:
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
CamelMinioBucketName (common) 常量: BUCKET_NAME | producer :此对象将存储或用于当前操作的存储桶名称。consumer :包含此对象的存储桶的名称。 | 字符串 | |
CamelMinioDestinationBucketName (producer) | 用于当前操作的存储桶目的地名称。 | 字符串 | |
CamelMinioContentControl (common) 常数: CACHE_CONTROL | producer :此对象的内容控制。consumer:可选的 Cache-Control HTTP 标头,允许用户在 HTTP 请求/恢复链中指定缓存行为。 | 字符串 | |
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 管理的密钥加密对象时设置服务器端加密算法。例如,使用 AES256。consumer :在使用 Minio 管理的密钥加密对象时的服务器端加密算法。 | 字符串 | |
CamelMinioExpirationTime (common) 常数: EXPIRATION_TIME | 过期时间。 | 字符串 | |
CamelMinioReplicationStatus (common) | 复制状态。 | 字符串 | |
CamelMinioOffset (producer) 常量: OFFSET | 偏移。 | 字符串 | |
CamelMinioLength (producer) 常数: LENGTH | 长度。 | 字符串 |
42.7.1. Minio Producer 操作 复制链接链接已复制到粘贴板!
camel-Minio 组件在制作者端提供以下操作:
- copyObject
- deleteObject
- deleteObjects
- listBuckets
- deleteBucket
- listObjects
- GetObject (这将返回 MinioObject 实例)
- getObjectRange (这将返回 MinioObject 实例)
42.7.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");
42.7.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 的字节数。