I'm getting a 404 error when trying to access an API in a non-default app engine deployment.
I have a deployed Cloud Endpoint (first version and not Cloud Framework) service with an app engine version of 1 and API version of 1. This is successfully deployed and accessible as the default version - http://{project-id}.appspot.com/_ah/api/{name}/v1/{relative-path}.
I also have a second deployment using Cloud Framework with an app engine version of 2 and API version of 2. I did this by first generating and deploying an API config file with the hostname {project-id}.appspot.com. I then deployed the new service under a version 2. Checking the AppEngine UI console shows the two different versions deployed with v1 as the default version serving all traffic.
The problem though is I cannot access an API on the 2nd version. When I try accessing an API method with the URL http://2-dot-{project-id}.appspot.com/_ah/api/{name}/v2/{relative-path}, I get a 404 error. I don't see any entries in the Log viewer for that request. However when I access the root path, http://2-dot-{project-id}.appspot.com, I also get a 404 but do see an entry in the Log viewer.
When I make v2 the default version by migrating all traffic to it, I can then access all APIs on the 2nd version via the URL http://{project-id}.appspot.com/_ah/api/{name}/v2/{relative-path}. I don't know why I can't access these APIs when it's the non-default version.
Am I accessing the v2 deployment the wrong way when it's the non-default version? I don't think so because when I make it the default the APIs work. Is it rather something to do with how I deployed the API spec for version 2? Does it for some reason not apply to a non-default 2-{project-id}.appspot.com request.
Related
I have deployed source code via gcloud command line with no issue. However, I am currently away from my desktop and see a critical change to my app.yaml file that I would like to make.
Is this possible to do via my Google Cloud account?
You can use the App Engine Admin API to patch the specific version of your service and update the instance type since your app is using App Engine Standard. You can use the "Try this API" feature to update it right from your browser.
I just installed Cloud Tools for Visual Studio, and created a new default ASP.NET Core 2.1 product targeting Google App Engine, using the cloud tools.
When running the fresh default application locally, the default controller returns the sample values. But when deploying to App Engine, the web service returns a 503 error.
https://my-project-nam.appspot.com/api/values
503. That’s an error.
The service you requested is not available at this time.
Service error -27. That’s all we know.
Did I miss a step? How can the API values be access on the App Engine production site?
According to wikipedia, 503 Service Unavailable error means that:
The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.
The error message is quite explicit too: The service you requested is not available at this time.
If you get that error again, I suggest you to wait for 5-10min and retry. If the error persists, please contact support.
I 'm building an AppEngine application that stores data in Google Cloud Storage. I use the Google Cloud Storage Client (GCS) library as suggested.
My app is working when deployed on AppEngine (reading/writing/listing objects) but I cannot make it work on the development server. The development server keeps returning error 404 and GCS raises NotFoundError. The dev-appserver is supposed to emulate the cloud storage functionality without any specific configurations etc. I see in the log files that the dev server is accepting requests at "/_ah/gcs" yet it seems that there is no handler for that url. I 've tried with version 1.8.5 and 1.8.6. Apart from my app, not even the demo app provided by Google works.
Is there something that I 'm missing here, e.g. a special configuration for the dev-appserver?
Sorry the following change was pushed out too early by mistake. It only works with 1.8.8 SDK. We are streamlining the release process of gcs client to align with SDK. Sorry
https://code.google.com/p/appengine-gcs-client/source/detail?r=125
Without this change, it works on 1.8.7 SDK.
I use Google Cloud Endpoints for my application. Whenever I hit the application root, it gives an error. The console says:
Importing endpoints from google.appengine.ext is deprecated and will be removed. Add the endpoints library to app.yaml, then endpoints can be imported simply with "import endpoints".
There is no mention of this in the documentation and I believe I am doing this correctly.
I tried adding endpoints to the library section of app.yaml, but the deployment failed saying that it wasn't a valid library. When I look in the instance page, it says that my instances are running on App Engine 1.8.5, which is a pre-release version that hasn't even come out yet!
Is this a Google problem or something with my code?
The message you're seeing is a warning, not an error. Endpoints running on Python 2.7 will continue to work without code changes.
However, you may also be seeing an error if you're trying to run Endpoints on Python 2.5. This will no longer work, and unfortunately was not well communicated prior to the release. To resume use of Endpoints, you'll need to update your application to Python 2.7.
I'm testing with Google Cloud Endpoints on App Engine and I've mapped my app to a custom domain. It appears that this is not possible. I've tried accessing the endpoint url, changing the host but this gives me a 404.
I've also tried to change the root url and backend url for the service, but then I get this error after deployment:
Endpoints: https://test.neenbedankt.com/_ah/api/myapi#v1 Error: API root https://test.neenbedankt.com/_ah/api not allowed on host version.myappid.appspot.com
Can somebody confirm this is a limitation? For my current project this would be a showstopper.
Correct, you can not map to a custom domain at current.
edit: Google CloudEndpoints 2.0 will support this, which is now BETA. As explained by Google in the link below.
Google has now announced this "will be supported" but has not given an ETA.
https://code.google.com/p/googleappengine/issues/detail?id=9384#c44