Class: Embulk::Filter::GoogleVisionApi::VisionClient

Inherits:
Object
  • Object
show all
Defined in:
lib/embulk/filter/google_vision_api/vision_client.rb

Constant Summary collapse

ENDPOINT =
"https://vision.googleapis.com/v1/images:annotate"

Instance Method Summary collapse

Constructor Details

#initialize(features:, google_api_key:) ⇒ VisionClient

Returns a new instance of VisionClient.



11
12
13
14
15
16
17
# File 'lib/embulk/filter/google_vision_api/vision_client.rb', line 11

def initialize(features:, google_api_key:)
  uri = URI.parse("#{ENDPOINT}?key=#{google_api_key}")
  @http = Net::HTTP.new(uri.host, uri.port)
  @http.use_ssl = true
  @post = Net::HTTP::Post.new(uri.request_uri, initheader = {'Content-Type' =>'application/json'})
  @features = features
end

Instance Method Details

#request(images) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/embulk/filter/google_vision_api/vision_client.rb', line 19

def request(images)
  @post.body = get_body(images).to_json
  Embulk.logger.debug "request body => #{@post.body}"

  @http.start do |h|
    response = h.request(@post)
    JSON.parse(response.body)
  end
end