12. AWS S3 Sink
将数据上传到 Amazon S3 Bucket。
12.1. AWS S3 Sink Kamelet Description 复制链接链接已复制到粘贴板!
12.1.1. 身份验证方法 复制链接链接已复制到粘贴板!
在这个 Kamelet 中,您可以通过指定 useDefaultCredentialsProvider 选项并将其设置为 true 来避免使用显式静态凭证。
以下为 Default Credentials Provider 评估顺序如下:
-
Java 系统属性 -
aws.accessKeyId和aws.secretKey. -
环境变量 -
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY。 - AWS STS 的 Web Identity Token。
- 共享凭证和配置文件。
-
Amazon ECS 容器凭据 - 如果设置了环境变量
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI,则从 Amazon ECS 加载。 - Amazon EC2 实例配置集凭据。
您还可以通过将 useProfileCredentialsProvider 选项设置为 true,将 profileCredentialsName 设置为配置集名称来使用 Profile Credentials Provider。
只能使用其中一个 access key/secret 密钥或默认凭证提供程序
如需更多信息,请参阅 AWS 凭证文档
12.1.2. 可选标头 复制链接链接已复制到粘贴板!
在标头中,您可以选择性地设置 file / ce-file 属性,以指定要上传的文件的名称。
如果您没有在标头中设置属性,则 Kamelet 会将交换 ID 用于文件名。
12.2. 配置选项 复制链接链接已复制到粘贴板!
下表总结了 aws-s3-sink Kamelet 可用的选项:
| 属性 | 名称 | 描述 | 类型 | 默认 | Example |
|---|---|---|---|---|---|
| bucketNameOrArn * | bucket 名称 | S3 Bucket 名称或 Amazon Resource Name (ARN)。 | string | ||
| region * | AWS 区域 | 用于访问的 AWS 区域。 | string | ||
| accessKey | 访问密钥 | 从 AWS 获取的访问密钥。 | string | ||
| autoCreateBucket | autocreate Bucket | 指定自动创建 S3 存储桶。 | 布尔值 | False | |
| forcePathStyle | 强制路径样式 | 在访问 AWS S3 存储桶时强制路径风格。 | 布尔值 | False | |
| keyName | 键名称 | 在存储桶中保存元素的密钥名称。 | string | ||
| overrideEndpoint | 端点覆盖 |
选择这个选项来覆盖端点 URI。要使用这个选项,还必须为 | 布尔值 | False | |
| profileCredentialsName | 配置集凭证名称 | 如果使用配置集凭证供应商,此参数会设置配置集名称。 | string | ||
| secretKey | 机密密钥 | 从 AWS 获取的 secret 密钥。 | string | ||
| sessionToken | 会话令牌 | 当用户需要假定 IAM 角色时使用的 Amazon AWS Session Token。 | string | ||
| uriEndpointOverride | 覆盖 Endpoint URI |
覆盖端点 URI。要使用这个选项,还必须选择 | string | ||
| useDefaultCredentialsProvider | 默认凭证提供程序 | 如果为 true,S3 客户端会通过默认凭证供应商加载凭证。如果为 false,它将使用基本的身份验证方法(access key 和 secret key)。 | 布尔值 | False | |
| useProfileCredentialsProvider | 配置集凭证供应商 | 设置 S3 客户端是否应该预期通过配置集凭据提供程序加载凭据。 | 布尔值 | False | |
| useSessionCredentials | 会话凭证 | 设置 S3 客户端是否应该预期使用 Session Credentials。这在用户需要假设 IAM 角色在 S3 中执行操作时非常有用。 | 布尔值 | False |
* = 标记为星号的字段 是必需的。
12.3. 依赖项 复制链接链接已复制到粘贴板!
在运行时,aws-s3-sink Kamelet 依赖于以下依赖项:
<dependencies>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-aws2-s3</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-core</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-kamelet</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.kamelets</groupId>
<artifact>camel-kamelets-utils</artifact>
<version>{kamelets-utils-version}</version>
</dependency>
</dependencies>
12.4. kamelets 源文件 复制链接链接已复制到粘贴板!
https://github.com/apache/camel-kamelets/blob/4.14.x/kamelets/aws-s3-sink.kamelet.yaml