Hi,
I have an api proxy that needs to make a request to Google Cloud Datastore API to retrieve a data stored on it. At the moment this data can not be moved from Datastore although it is planned to do so in the future. I’m observing that the policy has a very large latency. I attach a screenshot to illustrate.
The request to datastore is simply a get by Id two entities. The code of the policy is this:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="SC.GetGroupsAndFellowsFromDs" continueOnError="false">
<Request>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
<Set>
<Payload contentType="application/json">
{validateMembershipJsonRequest}
</Payload>
<Verb>POST</Verb>
</Set>
</Request>
<Response>validateMembershipResponse</Response>
<HTTPTargetConnection>
<Authentication>
<GoogleAccessToken>
<Scopes>
<Scope>https://www.googleapis.com/auth/datastore</Scope>
</Scopes>
<LifetimeInSeconds>3600</LifetimeInSeconds>
</GoogleAccessToken>
</Authentication>
<URL>https://datastore.googleapis.com/v1/projects/my-project:lookup</URL>
</HTTPTargetConnection>
</ServiceCallout>
As can be seen the latency is more than 700ms
In this case, the proxy is deployed in europe-west1 and the Datastore is in us-central1. Even if there is an intercontinental crossing, 700ms seems too long to me.
The HTTP request when the target is a Google API goes through public Internet? I understood that no because my subnet peered to Apigee has the “Private Google Access” on.
Can someone help me clarify the reason for this high latency?
Thank you!!
