【发布时间】:2019-08-03 16:04:32
【问题描述】:
我正在测试在上传视频后添加水印。我遇到了一个问题,lamdba 希望我指定上传时要更改的文件。但我希望它在上传任何(实际上,任何以 .mov、.mp4 等结尾的文件)文件时触发。
为了澄清,这一切都是在创建管道和作业时手动进行的。
这是我的代码:
require 'json'
require 'aws-sdk-elastictranscoder'
def lambda_handler(event:, context:)
client = Aws::ElasticTranscoder::Client.new(region: 'us-east-1')
resp = client.create_job({
pipeline_id: "15521341241243938210-qevnz1", # required
input: {
key: File, #this is where my issue
},
output: {
key: "CBtTw1XLWA6VSGV8nb62gkzY",
# thumbnail_pattern: "ThumbnailPattern",
# thumbnail_encryption: {
# mode: "EncryptionMode",
# key: "Base64EncodedString",
# key_md_5: "Base64EncodedString",
# initialization_vector: "ZeroTo255String",
# },
# rotate: "Rotate",
preset_id: "1351620000001-000001",
# segment_duration: "FloatString",
watermarks: [
{
preset_watermark_id: "TopRight",
input_key: "uploads/2354n.jpg",
# encryption: {
# mode: "EncryptionMode",
# key: "zk89kg4qpFgypV2fr9rH61Ng",
# key_md_5: "Base64EncodedString",
# initialization_vector: "ZeroTo255String",
# },
},
],
}
})
end
如何仅指定上传的any 文件,或特定格式的文件? 输入:key: ?
现在,我的问题是我正在使用活动存储,所以它不会以 .jpg 或 .mov 等结尾,它只是一个随机生成的字符串(他们有这样做的理由)。我正在努力寻找使用主动存储的理由,这是我让它像之前的其他替代品一样工作的最后一步。
【问题讨论】:
标签: ruby amazon-web-services amazon-s3 aws-lambda amazon-elastic-transcoder