如何将twilio录制移动或下载到amazon s3
如何使用twilio sdk下载录音文件,或者如何将录音文件直接从twilio移动到amazon s3。此处为twilio evangelist 录制是通过直接URL公开的,因此为了下载它们,您需要使用您选择的编程语言中的HTTP客户端来对录制URL发出GET请求,并保存返回的数据 有两种方法可以找到URL:如何将twilio录制移动或下载到amazon s3,twilio,Twilio,如何使用twilio sdk下载录音文件,或者如何将录音文件直接从twilio移动到amazon s3。此处为twilio evangelist 录制是通过直接URL公开的,因此为了下载它们,您需要使用您选择的编程语言中的HTTP客户端来对录制URL发出GET请求,并保存返回的数据 有两种方法可以找到URL: 如果您在Twilio中指定了一个URL,则在录制完成后,Twilio将向该URL发出HTTP请求,并将录制所存储的URL作为参数包含在内 利用TwilioRESTAPI。这将向您返回一个记
希望能有所帮助。这是我写的一个Ruby脚本。为了获得最快的结果,请在服务器上运行此命令,并将其复制到位于美国东部的bucket中,这就是Twilio所在的位置。我只是在Heroku应用程序上做的,因为Heroku在美国东部。运行heroku Run bash-我的应用程序名。安装gems:
gem install twilio-ruby aws-sdk --no-ri --no-rdoc
然后启动irb并运行此代码(更新您的凭据和bucket名称)
是的,谢谢你的回复。但是我需要直接转到AWS s3,而不是下载twilio音频。有什么选择吗?当前场景:我们正在从twilio下载录音到我们的服务器,并将s3装载到其中一个s3存储桶。所需场景:而不是将录制从twilio下载到本地服务器。我需要将录制文件直接从twilio s3移动/复制到我的帐户AWS s3。Devin,我是twilio的新手,正在尝试你的建议。我正在使用
require 'twilio-ruby'
account_sid = 'your_account_sid'
auth_token = 'your_auth_token'
twilio_rest_client = Twilio::REST::Client.new account_sid, auth_token
require 'aws-sdk'
access_key_id = 'your_access_key_id'
secret_access_key = 'your_secret_access_key'
region = 'us-east-1'
bucket = 'your-bucket-name'
Aws.config.update({
region: region,
credentials: Aws::Credentials.new(access_key_id, secret_access_key)
})
s3 = Aws::S3::Resource.new(region: region)
recordings = twilio_rest_client.account.recordings.list(page_size: 1000)
begin
begin
recordings.each do |recording|
recording.mp3! do |file|
begin
path = recording.mp3.gsub('https://api.twilio.com/', '')
object = s3.bucket(bucket).object(path)
object.put(body: file.body)
rescue Aws::S3::Errors::ServiceError => error
puts error.message
puts recording.mp3
end
end
recording.delete
end
rescue Twilio::REST::RequestError => error
puts error.message
puts recording.mp3
end
recordings = recordings.next_page
end while !recordings.empty?