目前,我正在使用S3触发器在S3中放置一个文件后启动一个lambda函数。
我的目的是从S3上传中获取大小,并将该值传递到创建EBS卷的自动函数中的Size字段中。
然后,我尝试根据文件大小创建一个EBS卷。然后将文件复制到EBS卷,该卷将附加到EC2实例,然后该实例将处理该文件。我使用EBS卷,因为上传到主S3存储桶的文件是需要解压缩和处理的压缩文件。
有没有办法根据上传的原始文件创建EBS卷Size?
response = client.create_volume(
AvailabilityZone='string',
Encrypted=True|False,
Iops=123,
KmsKeyId='string',
OutpostArn='string',
Size=123,
SnapshotId='string',
VolumeType='standard'|'io1'|'gp2'|'sc1'|'st1',
DryRun=True|False,
TagSpecifications=[
{
'ResourceType': 'client-vpn-endpoint'|'customer-gateway'|'dedicated-host'|'dhcp-options'|'elastic-ip'|'fleet'|'fpga-image'|'host-reservation'|'image'|'instance'|'internet-gateway'|'key-pair'|'launch-template'|'natgateway'|'network-acl'|'network-interface'|'placement-group'|'reserved-instances'|'route-table'|'security-group'|'snapshot'|'spot-fleet-request'|'spot-instances-request'|'subnet'|'traffic-mirror-filter'|'traffic-mirror-session'|'traffic-mirror-target'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-multicast-domain'|'transit-gateway-route-table'|'volume'|'vpc'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway'|'vpc-flow-log',
'Tags': [
{
'Key': 'string',
'Value': 'string'
},
]
},
],
MultiAttachEnabled=True|False
)发布于 2020-03-24 09:07:24
您的目标似乎是让亚马逊EC2实例处理已上载到亚马逊S3的文件。
首先,不需要通过Amazon EBS卷发送文件。相反,运行在EC2实例上的软件可以简单地从S3检索is。
主要的架构决策是如何在上传文件时触发EC2实例上的流程。
我推荐这个架构:
删除文件
或者,如果可能,您可以在AWS Lambda中对文件进行处理,而不使用Amazon EC2实例。但是,您在问题中没有提供足够的信息来确定这是否可行。
https://stackoverflow.com/questions/60822057
复制相似问题