-
Notifications
You must be signed in to change notification settings - Fork 556
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to set correct url endpoint if other than 'us' ? #23426
Comments
Hi there — the code you linked describes the default for DocumentAI: https://cloud.google.com/document-ai/docs/regions but it's configurable. The DocAI Quickstart shows an example of configuring location: https://github.com/googleapis/google-cloud-ruby/blob/main/google-cloud-document_ai/samples/quickstart.rb Please take a look! Thanks! |
Thanks @meredithslota but i am not sure it works outside US When we look at the code and the attributes, we have "documentai.googleapis.com" as endpoint evenif we have 'eu' as location parameter client = Google::Cloud::DocumentAI.document_processor_service
# adding an ENV with correct endpoint if you are not in US
# example in .env DOC_AI_ENDPOINT='eu-documentai.googleapis.com'
::Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client.configure do |config|
config.endpoint = ENV['DOC_AI_ENDPOINT']
end Another thinks, according to the doc, we have to encode in Base64 # Read the bytes into memory and encode in Base64
bin_file = File.binread file_path
content = Base64.strict_encode64(bin_file) After that, i ve always have an error |
@ionosphere Try setting the config.endpoint before creating the client. The configuration is used by the client object constructor, so setting it after the client is created, as in the code snippet above, will have no effect. |
Hi there, The client object looks good but i am not sure why we have 2 attributes @access_token ?? #<Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client:0x0000561e7d31fa50
@config=
#<Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client::Configuration:0x0000561e7e0514a8
@parent_config=
#<Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client::Configuration:0x0000561e7d080308
@endpoint="eu-documentai.googleapis.com",
@parent_config=,
@rpcs=
#<Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client::Configuration::Rpcs:0x0000561e7d0802e0
@batch_process_documents=#<Gapic::Config::Method:0x0000561e7d080268 @retry_policy={:initial_delay=>0.1, :max_delay=>60.0, :multiplier=>1.3, :retry_codes=>[4, 14]}, @timeout=120.0>,
@process_document=#<Gapic::Config::Method:0x0000561e7d0802b8 @retry_policy={:initial_delay=>0.1, :max_delay=>60.0, :multiplier=>1.3, :retry_codes=>[4, 14]}, @timeout=120.0>,
@review_document=#<Gapic::Config::Method:0x0000561e7d080240 @retry_policy={:initial_delay=>0.1, :max_delay=>60.0, :multiplier=>1.3, :retry_codes=>[4, 14]}, @timeout=120.0>>>,
@rpcs=
#<Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client::Configuration::Rpcs:0x0000561e72bfbfa8
@batch_process_documents=
#<Gapic::Config::Method:0x0000561e72bfbdf0
@parent_config=#<Gapic::Config::Method:0x0000561e7d080268 @retry_policy={:initial_delay=>0.1, :max_delay=>60.0, :multiplier=>1.3, :retry_codes=>[4, 14]}, @timeout=120.0>>,
@process_document=
#<Gapic::Config::Method:0x0000561e72bfbf80
@parent_config=#<Gapic::Config::Method:0x0000561e7d0802b8 @retry_policy={:initial_delay=>0.1, :max_delay=>60.0, :multiplier=>1.3, :retry_codes=>[4, 14]}, @timeout=120.0>>,
@review_document=
#<Gapic::Config::Method:0x0000561e72bfbcb0
@parent_config=#<Gapic::Config::Method:0x0000561e7d080240 @retry_policy={:initial_delay=>0.1, :max_delay=>60.0, :multiplier=>1.3, :retry_codes=>[4, 14]}, @timeout=120.0>>>>,
@document_processor_service_stub=
#<Gapic::ServiceStub:0x0000561e7f04c150
@grpc_stub=
#<Google::Cloud::DocumentAI::V1::DocumentProcessorService::Stub:0x0000561e7f053e50
@ch=#<GRPC::Core::Channel:0x0000561e7f053b30>,
@host="eu-documentai.googleapis.com",
@interceptors=#<GRPC::InterceptorRegistry:0x0000561e7f053928 @interceptors=[]>,
@propagate_mask=nil,
@timeout=1970-01-01 00:59:59 +0100>>,
@operations_client=
#<Google::Cloud::DocumentAI::V1::DocumentProcessorService::Operations:0x0000561e7f04b110
@config=
#<Google::Cloud::DocumentAI::V1::DocumentProcessorService::Operations::Configuration:0x0000561e7f04ce70
@credentials=
#<Google::Cloud::DocumentAI::V1::DocumentProcessorService::Credentials:0x0000561e7e81c598
@client=
#<Google::Auth::ServiceAccountCredentials:0x0000561e7e81cd18
@access_token=
@access_token=
"XXXXXXXXXXXXXXXXXXXXXXX",
@access_type=:offline,
@additional_parameters={},
@audience="https://oauth2.googleapis.com/token",
@authorization_uri=nil,
@client_id=nil,
@client_secret=nil,
@code=nil,
@connection_info=nil,
@enable_self_signed_jwt=false,
@expires_at=2023-10-18 14:22:08 +0200,
@expiry=60,
@extension_parameters={},
@grant_type=nil,
@granted_scopes=nil,
@issued_at=2023-10-18 13:22:09 +0200,
@issuer="[email protected]",
@password=nil,
@principal=nil,
@project_id="ekylibre",
@quota_project_id=nil,
@redirect_uri=nil,
@refresh_token=nil,
@scope=["https://www.googleapis.com/auth/cloud-platform"],
@signing_key=#<OpenSSL::PKey::RSA:XXXXXXXXXXXXXX>,
@state=nil,
@target_audience=nil,
@token_credential_uri=#<Addressable::URI:0x2b0f3f40e524 URI:https://oauth2.googleapis.com/token>,
@username=nil>,
@env_vars=nil,
@paths=nil,
@project_id="XXXXXXXXX",
@quota_project_id=nil,
@scope=nil>,
@endpoint="eu-documentai.googleapis.com",
@parent_config=#<Google::Cloud::DocumentAI::V1::DocumentProcessorService::Operations::Configuration:0x0000561e7f04cec0>>,
@operations_stub=
#<Gapic::ServiceStub:0x0000561e7f04cbc8
@grpc_stub=
#<Google::Longrunning::Operations::Stub:0x0000561e7f04c790
@ch=#<GRPC::Core::Channel:0x0000561e7f04c510>,
@host="eu-documentai.googleapis.com",
@interceptors=#<GRPC::InterceptorRegistry:0x0000561e7f04c498 @interceptors=[]>,
@propagate_mask=nil,
@timeout=1970-01-01 00:59:59 +0100>>,
@quota_project_id=nil>,
@quota_project_id=nil> Anyway, when building the request request = Google::Cloud::DocumentAI::V1::ProcessRequest.new(
skip_human_review: true,
name: @name,
raw_document: {
content: content,
mime_type: document.file_content_type
}
) When encoding in Base64 we have someting like <Google::Cloud::DocumentAI::V1::ProcessRequest: name: "projects/602996917882/locations/eu/processors/fed5d64a222362ff", skip_human_review: true, raw_document: <Google::Cloud::DocumentAI::V1::RawDocument: content: "JVBERi0xLjQKJeLjz9MKNCAwIG9iago8PC9Db....." mime_type: "application/pdf">> response
When just binread the doc <Google::Cloud::DocumentAI::V1::ProcessRequest: name: "projects/602996917882/locations/eu/processors/fed5d64a222362ff", skip_human_review: true, raw_document: <Google::Cloud::DocumentAI::V1::RawDocument: content: ""%PDF-1.4
%����
4 0 obj
<</ColorSpace/DeviceGray/Subtype/Image/Height 264/Filter/FlateDecode/Type/XObject/Width 474/Length 12198/BitsPerComponent 8>>stream
x��};��:s���\���"" mime_type: "application/pdf">> response
|
Hi, Anybody has comment about that ? |
@ionosphere were you able to find a workaround on this issue? |
Hi,
I think, there a parmater missing in config to set correctly the api endpoint url.
If we have a server from 'EU', there's no way to adapt the endpoint.
https://github.com/googleapis/google-cloud-ruby/blob/1f1b9cc2fb096cd9403b6b8baf370379420f34cd/google-cloud-document_ai/lib/google/cloud/document_ai.rb#L32C1-L33C1
The text was updated successfully, but these errors were encountered: