Ben Marten Ben Marten - 1 year ago 138
Python Question

Google App Engine Local Dev Server Does not Route to Remote Cloud Storage Bucket

I am trying to access files that are hosted on a remote cloud storage bucket through the
dev server.

This direct link to google cloud storage works:

where as the local via the dev_appserver does not:


Log Output:

INFO 2016-07-06 22:37:16,461] default: "GET /_ah/gcs/leanplum-black.svg HTTP/1.1" 200 116

I am running the dev server like this: --default_gcs_bucket_name=leanplum-wordpress .

What's wrong?

Answer Source

We're still having this issue. We believe this is an issue that's originating from the Appengine Wordpress plugin.

We came up with the following workaround to get the images loading properly:

Create a Bookmarklet in Google Chrome and add the following url:

javascript:var start = var targetUrls = ["//" + + "/wp-content/uploads/","//" + + "/_ah/gcs/bucket-name/"];var htmlAttributes = ["src", "srcset"];jQuery("img").each(function(index, img) {targetUrls.forEach(function(pattern) {htmlAttributes.forEach(function(htmlAttr) {var htmlObj = jQuery(img).attr(htmlAttr);if (htmlObj) {jQuery(img).attr(htmlAttr, htmlObj.replace(new RegExp(pattern, "g"), "//"));}});});});

Full Code:

var targetUrls = [
    "//" + + "/wp-content/uploads/",
    "//" + + "/_ah/gcs/bucket-name/"
var htmlAttributes = ["src", "srcset"];
jQuery("img").each(function(index, img) {
    targetUrls.forEach(function(pattern) {
        htmlAttributes.forEach(function(htmlAttr) {
            var htmlObj = jQuery(img).attr(htmlAttr);
            if (htmlObj) {
                jQuery(img).attr(htmlAttr, htmlObj.replace(new RegExp(pattern, "g"), "//"));
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download