Skip to main content

PutS3Object

描述:

将输入数据流写入到Amazon S3桶。 上传可使用PutS3Object方法 或者 PutS3MultipartUpload方法. PutS3Object方法发送文件采用单同步调用,且最大5GB限制。 较大的文件可通过启动、传输部分和完成上载的多点上传方法发送。同时将保存多点上传的每步的状态以便在集群时,可恢复断点续传。同时断点续传上传块大小至少是5MB,除非是最后一块。

标签:

Amazon, S3, AWS, Archive, Put

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 参数还支持 表达式语言, 并且 如果将一个参数认定为"敏感", 表示是加密状态. 在输入一个敏感参数时, 确保 orchsym.properties 文件中存在属性设置 orchsym.sensitive.props.key.

名字默认值允许值列表描述
对象键名${filename}指定写入的对象的键名

支持表达式语言 (支持流属性和变量)
桶名指定写入的对象的桶名

支持表达式语言 (支持流属性和变量)
Content Type设置存储内容对象的Content-Type给HTTP请求头。 该头设置是标准的MIME类型. 如果不提供,AWS S3的Java客户端将试图获得正确的类型。用户需确保在上载流上设置适当的类型。如果不设置,且也无法从文件扩展名获知,则默认的类型为"application/octet-stream"。

支持表达式语言 (支持流属性和变量)
AccessKey访问秘钥指定AWS的AccessKey访问秘钥

敏感状态
支持表达式语言 (仅支持变量)
SecretKey秘钥指定AWS的SecretKey秘钥

敏感状态
支持表达式语言 (仅支持变量)
证书文件指定包含AWSAccessKey访问秘钥和SecretKey秘钥的证书属性文件路径
AWS证书提供服务控制器服务API:
AWSCredentialsProviderService
实现:
AWSCredentialsProviderControllerService
用于提供AWS证书的服务
对象标签前缀指定读取输入数据流中的属性,将匹配的属性作为对象标签写入到S3。比如:输入数据流包含如下属性且需要作为对象标签,tagS3country, tagS3PII, 则该属性可设置'tagS3'

支持表达式语言 (支持流属性和变量)
移除标签前缀保留
- 移除
- 保留
如果移除,将从'对象标签前缀'中匹配的结果中移除标签的前缀,比如:输入数据流包含如下属性且需要作为对象标签,tagS3country, tagS3PII, 且'对象标签前缀'参数设置为'tagS3',则写入对象的的标记为'country' 和 'PII'。
存储类标准
- 标准
- 低冗余
指定写入S3的存储类
地区美国西部 (俄勒冈)
- 亚马逊政府云 (美国)
- 美国东部 (弗吉尼亚)
- 美国东部 (俄亥俄州)
- 美国西部 (加利福尼)
- 美国西部 (俄勒冈)
- 欧洲 (爱尔兰)
- 欧洲 (伦敦)
- 欧洲 (巴黎)
- 欧洲 (法兰克福)
- 亚太 (孟买)
- 亚太 (新加坡)
- 亚太 (悉尼)
- 亚太 (东京)
- 亚太 (首尔)
- 南美 (圣保罗)
- 中国 (北京)
- 中国 (宁夏)
- 加拿大 (中部)
指定地区区域名
通信超时30 secs指定连接通信超时时间
过期时间规则指定对象的过期时间规则

支持表达式语言 (支持流属性和变量)
用户列表(所有权限)${s3.permissions.full.users}具有完全操作对象权限的由逗号分隔符分隔的多个Amazon用户ID或E-Mail账号

支持表达式语言 (支持流属性和变量)
用户列表(读权限)${s3.permissions.read.users}具有对象读权限的由逗号分隔符分隔的多个Amazon用户ID或E-Mail账号

支持表达式语言 (支持流属性和变量)
用户列表(写权限)${s3.permissions.write.users}具有对象写权限的由逗号分隔符分隔的多个Amazon用户ID或E-Mail账号

支持表达式语言 (支持流属性和变量)
用户列表(访问控制读权限)${s3.permissions.readacl.users}具有对象访问控制的读权限的由逗号分隔符分隔的多个Amazon用户ID或E-Mail账号

支持表达式语言 (支持流属性和变量)
用户列表(访问控制写权限)${s3.permissions.writeacl.users}具有对象访问控制的写权限的由逗号分隔符分隔的多个Amazon用户ID或E-Mail账号

支持表达式语言 (支持流属性和变量)
拥有者${s3.owner}指定对象的拥有者的Amazon ID

支持表达式语言 (支持流属性和变量)
访问控制${s3.permissions.cannedacl}对象的访问控制设置。 可设置其中之一: BucketOwnerFullControl, BucketOwnerRead, LogDeliveryWrite, AuthenticatedRead, PublicReadWrite, PublicRead, Private; 但当其他权限参数被设置,则该参数被忽略

支持表达式语言 (支持流属性和变量)
SSL服务控制器服务API:
SSLContextService
实现:
StandardRestrictedSSLContextService
StandardSSLContextService
指定是否启用SSL连接服务,如果设置,将被使用来创建安全连接
服务URL指定用于替代AWS默认的主机、端口号以及路径的的服务URL。将根据AWS地区从AWS库中选择一个服务URL,允许使用其他S3兼容的服务URL。

支持表达式语言 (仅支持变量)
签名默认签名
- 默认签名
- V4签名
- v2签名
通常AWS库使用默认的签名器,但是通过该参数,允许自定义指定S3兼容的老的签名服务
分块阀值5 GB指定文件大小阀值,决定从使用普通的PutS3Object API 转变到 PutS3MultipartUpload API来支持断点续传。如果输入数据流文件大于该值,则将采用断点续传。有效值介于50MB 到 5GB.
分块大小5 GB指定断点续传所用PutS3Multipart上传API的分块大小。在上传过程中,流文件将被分割成多块,但是最后发送的部分可能更小。有效值介于 50MB 到 5GB
分块上传时效间隔60 min指定评估S3断点续传的实际间隔。当组件启动时,如果超过该间隔,将启动过期评估
分块上传最大时间阀值7 days指定S3断点续传的最大时间,当超过该时间阀值,任何上传将被终止。
服务器端加密
- 无
- AES256
指定服务器端使用的加密算法
Use Chunked Encodingtrue
- true
- false
Enables / disables chunked encoding for upload requests. Set it to false only if your endpoint does not support chunked uploading.
Use Path Style Accesstrue
- true
- false
Path-style access can be enforced by setting this property to true. Set it to true if your endpoint does not support virtual-hosted-style requests, only path-style requests.
代理配置控制器服务API:
ProxyConfigurationService
实现:
StandardProxyConfigurationService
指定代理网络的配置服务,如果设置,可针对每个组件配置相同的代理设置。 支持代理:HTTP + AuthN
代理主机指定代理主机名或IP

支持表达式语言 (仅支持变量)
代理端口号指定代理端口号

支持表达式语言 (仅支持变量)
代理用户名指定代理用户名

支持表达式语言 (未定义)
代理用户密码指定代理用户密码

敏感状态
支持表达式语言 (未定义)

动态参数:

名字描述
The name of a User-Defined Metadata field to add to the S3 ObjectThe value of a User-Defined Metadata field to add to the S3 Object允许用户自定义写入S3的对象的键值对的元数据信息
支持表达式语言 (支持流属性和变量)

连线:

名字描述
success数据流成功输出到此连线
failure数据流失败时,输出到此连线

读取属性:

名字描述
filename使用数据流文件的文件名作为对象文件名

写入属性:

名字描述
s3.bucket对象被写入S3的桶名
s3.key对象被写入S3的键名
s3.contenttype对象被写入S3的对象内容类型
s3.version对象被写入S3的对象版本
s3.etagS3对象的ETag信息
s3.uploadId上传对象到S3的上传号
s3.expirationS3对象的过期时间
s3.sseAlgorithm对象的服务器端加密算法
s3.usermetadataS3对象的用户Metadata信息

状态管理:

该组件不保存状态。

限制:

该组件没有限制

输入流要求:

组件必须提供输入流。

系统资源考量:

未提供。

参考:

DeleteS3Object, FetchS3Object, ListS3