Я пытаюсь запросить API Azure Microsoft.ResourceHealth / AvailabilityStatus из ActiveResource на Rails 6.
Я попытался с помощью self.collection_path({},{:api-version => '2015-01-01' }) добавить постоянные обязательные параметры запроса, но получил 400 - при отладке URI пропущены какие-либо параметры запроса.
self.collection_path({},{:api-version => '2015-01-01' })
Используя этот класс:
class AvailabilityStatuses < ActiveResource::Base self.site = "https://management.azure.com/subscriptions/mySubscriptionID/providers/Microsoft.ResourceHealth" self.headers['Authorization'] = 'Bearer '+$bearer_token self.include_format_in_path = false self.collection_path({},{:api-version => 2015-01-01}) self.collection_name = "availabilityStatuses" ActiveSupport::Notifications.subscribe('request.active_resource') do |name, start, finish, id, payload| puts payload end end
Вызов AvailabilityStatuses.all в контроллере приводит к следующему выводу:
{:method=>:get, :request_uri=>"https://management.azure.com:443/subscriptions/mySubscriptionID/providers/Microsoft.ResourceHealth/availabilityStatuses", :result=>#<Net::HTTPBadRequest 400 Bad Request readbody=true>}
Документация API требует следующего вызова:
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2015-01-01
https://docs.microsoft.com/en-us/rest/api/resourcehealth/availabilitystatuses/listbysubscriptionid