Class: AzureMediaService::Service
- Inherits:
-
Object
- Object
- AzureMediaService::Service
- Defined in:
- lib/azure_media_service/service.rb
Instance Method Summary collapse
-
#assets(asset_id = nil) ⇒ Object
assets.
-
#create_access_policy(name: 'Policy', duration_minutes: 300, permission: 2) ⇒ Object
access policy create.
-
#create_asset(name) ⇒ Object
assets create.
- #create_encode_job(asset_id, encode_configuration) ⇒ Object
-
#create_locator(policy_id:, asset_id:, type: 1) ⇒ Object
locator create.
- #get(method, klass, id = nil) ⇒ Object
- #get_protection_key(protection_key_id) ⇒ Object
- #get_protection_key_id(content_key_type) ⇒ Object
-
#initialize ⇒ Service
constructor
A new instance of Service.
- #jobs(job_id = nil) ⇒ Object
- #media_processor_id_by_name(name) ⇒ Object
- #post(method, body) ⇒ Object
-
#publish(asset_id, expire_minutes = nil) ⇒ Object
publish asset.
- #publish_url(asset_id) ⇒ Object
- #upload_media(filepath) ⇒ Object
Constructor Details
#initialize ⇒ Service
Returns a new instance of Service.
4 5 6 |
# File 'lib/azure_media_service/service.rb', line 4 def initialize @request = AzureMediaService.request end |
Instance Method Details
#assets(asset_id = nil) ⇒ Object
assets
9 10 11 12 |
# File 'lib/azure_media_service/service.rb', line 9 def assets(asset_id=nil) warn("DEPRECATION WARNING: Service#assets is deprecated. Use AzureMediaService::Asset.get() instead.") get('Assets', Asset, asset_id) end |
#create_access_policy(name: 'Policy', duration_minutes: 300, permission: 2) ⇒ Object
access policy create
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/azure_media_service/service.rb', line 25 def create_access_policy(name:'Policy', duration_minutes:300, permission:2) warn("DEPRECATION WARNING: Service#create_access_policy is deprecated. Use AzureMediaService::AccessPolicy.create() instead.") post_body = { "Name" => name, "DurationInMinutes" => duration_minutes, "Permissions" => } res = @request.post("AccessPolicies", post_body) AccessPolicy.new(res["d"]) end |
#create_asset(name) ⇒ Object
assets create
15 16 17 18 19 20 21 22 |
# File 'lib/azure_media_service/service.rb', line 15 def create_asset(name) warn("DEPRECATION WARNING: Service#create_asset is deprecated. Use AzureMediaService::Asset.create() instead.") post_body = { "Name" => name } res = @request.post("Assets", post_body) Asset.new(res["d"]) end |
#create_encode_job(asset_id, encode_configuration) ⇒ Object
56 57 58 59 60 |
# File 'lib/azure_media_service/service.rb', line 56 def create_encode_job(asset_id, encode_configuration) warn("DEPRECATION WARNING: Service#create_encode_job is deprecated. Use AzureMediaService::Job.create() instead.") asset = assets(asset_id) asset.encode_job(encode_configuration) end |
#create_locator(policy_id:, asset_id:, type: 1) ⇒ Object
locator create
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/azure_media_service/service.rb', line 37 def create_locator(policy_id:,asset_id:,type:1) warn("DEPRECATION WARNING: Service#create_locator is deprecated. Use AzureMediaService::Locator.create() instead.") post_body = { "AccessPolicyId" => policy_id, "AssetId" => asset_id, "Type" => type, "StartTime" => (Time.now - 5*60).gmtime.strftime('%Y-%m-%dT%H:%M:%SZ') } res = @request.post("Locators", post_body) Locator.new(res["d"]) end |
#get(method, klass, id = nil) ⇒ Object
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'lib/azure_media_service/service.rb', line 109 def get(method, klass, id=nil) if id.nil? res = @request.get(method) results = [] if res["d"] res["d"]["results"].each do |a| results << klass.new(a) end end else res = @request.get("#{method}('#{id}')") results = nil if res["d"] results = klass.new(res["d"]) end end results end |
#get_protection_key(protection_key_id) ⇒ Object
100 101 102 103 104 105 106 107 |
# File 'lib/azure_media_service/service.rb', line 100 def get_protection_key(protection_key_id) res = @request.get("GetProtectionKey", ProtectionKeyId: "'#{protection_key_id}'") if res["d"] res["d"]["GetProtectionKey"] else raise MediaServiceError.new(res["error"]["message"]["value"]) end end |
#get_protection_key_id(content_key_type) ⇒ Object
91 92 93 94 95 96 97 98 |
# File 'lib/azure_media_service/service.rb', line 91 def get_protection_key_id(content_key_type) res = @request.get("GetProtectionKeyId", contentKeyType: content_key_type) if res["d"] res["d"]["GetProtectionKeyId"] else raise MediaServiceError.new(res["error"]["message"]["value"]) end end |
#jobs(job_id = nil) ⇒ Object
62 63 64 65 |
# File 'lib/azure_media_service/service.rb', line 62 def jobs(job_id=nil) warn("DEPRECATION WARNING: Service#jobs is deprecated. Use AzureMediaService::Job.get() instead.") get('Jobs', Job, job_id) end |
#media_processor_id_by_name(name) ⇒ Object
81 82 83 84 85 86 87 88 89 |
# File 'lib/azure_media_service/service.rb', line 81 def media_processor_id_by_name(name) res = @request.get('MediaProcessors') mp = res["d"]["results"].select {|v| v["Name"] == 'Media Encoder Standard' }.sort{|a,b| b["Version"].to_i <=> a["Version"].to_i }.first MediaProcessor.new(mp) end |
#post(method, body) ⇒ Object
128 129 130 |
# File 'lib/azure_media_service/service.rb', line 128 def post(method, body) @request.post(method, body) end |
#publish(asset_id, expire_minutes = nil) ⇒ Object
publish asset
69 70 71 72 73 |
# File 'lib/azure_media_service/service.rb', line 69 def publish(asset_id, expire_minutes=nil) warn("DEPRECATION WARNING: Service#publish is deprecated. Use AzureMediaService::Asset#publish() instead.") asset = Asset.get(asset_id) asset.publish(expire_minutes) end |
#publish_url(asset_id) ⇒ Object
75 76 77 78 79 |
# File 'lib/azure_media_service/service.rb', line 75 def publish_url(asset_id) warn("DEPRECATION WARNING: Service#publish_url is deprecated. Use AzureMediaService::Asset#publish_url() instead.") asset = Asset.get(asset_id) asset.publish_url end |
#upload_media(filepath) ⇒ Object
49 50 51 52 53 54 |
# File 'lib/azure_media_service/service.rb', line 49 def upload_media(filepath) basename = File.basename(filepath, '.*') asset_name = "#{basename}-Source-#{Time.now.strftime('%Y%m%d%H%M%S')}" asset = Asset.create(asset_name) asset.upload(filepath) end |