I'm slowly moving my way towards a migration path to the new Python 3 
runtime. 2022 is the year. I've been a AppEngine customer since 2009 - so 
I've already seen my share of smaller migrations as the oldest of the 
services died off. 

I currently have a question about Blobstore. As I'm planning to decouple 
services in preparation for the first of many migrations I'm wondering 
about all my old blobs. All my new blobstore files, as of summer of last 
year, are in the default cloud storage bucket and I'm keeping track of the 
"gs_object_name" 
so that they'll continue to be easy to work with as I migrate which is nice.

The real question is after I move my apps to the Python3 runtime how will I 
access my legacy blobs? I see that cloud NDB "supports" blobkeys and I 
currently I'd use "blobstore_handlers.BlobstoreDownloadHandler" and 
"send_blob" to allow my users to download their files. I literally have a 
decade of stored blobkeys that I would like to be able to service after I 
move to the new runtime. I see that "send_bob" puts the blobkey in a header 
which I assume is picked up by the platform to deliver the file to the end 
user. Please point me in the right direction if you can!

On Thursday, November 4, 2021 at 7:47:52 AM UTC-7 Wesley C (Google) wrote:

> App Engine and Google Cloud serverless users:
>
> The App Engine <http://cloud.google.com/appengine> team at Google Cloud 
> <http://cloud.google.com> had a flurry of announcements and product 
> updates over the past few months. In case you missed them, we've summarized 
> them here with relevant links.
>
>
>    - 
>    
>    New features to better secure your Google App Engine apps 
>    
> <https://cloud.google.com/blog/products/serverless/app-engine-egress-controls-and-user-managed-service-accounts>
>  
>    (Aug 2021) —  Introducing a pair of networking and security features:
>    - 
>       
>       Egress Controls for Serverless VPC Access 
>       
> <https://cloud.google.com/appengine/docs/standard/python3/connecting-vpc#manage>
>  
>       — consistent app (static) outbound IP address
>       - 
>       
>       User-managed service accounts 
>       
> <https://cloud.google.com/appengine/docs/standard/python3/user-managed-service-accounts>
>  
>       — custom service accounts to restrict apps to only the permissions 
>       necessary, following the best practice of "least privileges"
>       - 
>    
>    Exploring serverless with a nebulous app 
>    
> <https://developers.googleblog.com/2021/09/exploring-serverless-with-nebulous-app.html?utm_source=blog&utm_medium=partner&utm_campaign=CDR_wes_aap-serverless_nebserv_sms_201028>
>  
>    (Sep 2021) — Deploy/shift the same app to App Engine, Cloud Functions, 
>    or Cloud Run without any code changes, and show how to access Cloud APIs 
>    from serverless
>    - 
>    
>    Extending support for App Engine bundled services 
>    
> <https://cloud.google.com/blog/products/serverless/support-for-app-engine-services-in-second-generation-runtimes>
>  
>    (Sep 2021) — Legacy App Engine APIs/bundled services, e.g., Memcache 
>    <https://cloud.google.com/appengine/docs/standard/java/memcache>, 
>    Datastore 
>    <https://cloud.google.com/appengine/docs/standard/java/datastore>, 
>    etc., were left out of the next-generation service (to fight against 
>    "vendor lock-in" not because they were deprecated). Many matured into 
>    standalone products, e.g., Cloud Memorystore 
>    <http://cloud.google.com/memorystore>, Cloud Datastore 
>    <http://cloud.google.com/datastore>, etc., respectively anyway. To 
>    help with updating language versions (e.g., Python 2 to 3, Java 8 to 11, 
>    etc.), we've added many of these bundled services "back" to the latest App 
>    Engine runtimes.
>    - 
>    
>    Modernizing your serverless applications 
>    
> <https://cloud.google.com/blog/topics/developers-practitioners/modernizing-your-serverless-applications?utm_source=blog&utm_medium=partner&utm_campaign=CDR_wes_aap-serverless_modernizesvls_sms_201003>
>  
>    (Sep 2021) — Introducing codelabs (hands-on tutorials) and new video 
>    series <http://bit.ly/3xk2Swi> to help customers migrate to standalone 
>    services to modernize & make their apps more portable (second-generation 
>    App Engine, Cloud Functions, Cloud Run; Kubernetes Engine (GKE), Compute 
>    Engine VMs; other cloud, multi-cloud, hybrid cloud, on-prem, etc.):
>    - 
>       
>       App Engine webapp2 to Flask 
>       
> <https://developers.googleblog.com/2021/07/migrating-from-app-engine-webapp2-to-flask.html?utm_source=blog&utm_medium=partner&utm_campaign=CDR_wes_aap-serverless_mgrwa2flsk_201008>
>       - 
>       
>       App Engine taskqueue to Cloud Tasks 
>       
> <https://developers.googleblog.com/2021/10/migrating-app-engine-push-queues-to.html?utm_source=blog&utm_medium=partner&utm_campaign=CDR_wes_aap-serverless_mgrcloudtasks_sms_201112>
>  
>       (push queues)
>       - 
>       
>       App Engine ndb (Datastore) to Cloud NDB 
>       
> <http://developers.googleblog.com/2021/07/migrating-from-app-engine-ndb-to-cloud-ndb.html?utm_source=blog&utm_medium=partner&utm_campaign=CDR_wes_aap-serverless_mgrcloudndb_201021>
>        
>       - 
>       
>       Cloud NDB to Cloud Datastore 
>       
> <http://developers.googleblog.com/2021/08/cloud-ndb-to-cloud-datastore-migration.html?utm_source=blog&utm_medium=partner&utm_campaign=CDR_wes_aap-serverless_mgrcloudds_201003>
>       - 
>       
>       App Engine to Cloud Run (with Docker 
>       
> <https://developers.googleblog.com/2021/08/containerizing-google-app-engine-apps-for-cloud-run.html?utm_source=blog&utm_medium=partner&utm_campaign=CDR_wes_aap-serverless_mgrcrdckr_sms_201017>
>  
>       or without Docker using Cloud Buildpacks 
>       
> <https://developers.googleblog.com/2021/09/an-easier-way-to-move-your-app-engine-to-cloud-run.html?utm_source=blog&utm_medium=partner&utm_campaign=CDR_wes_aap-serverless_mgrcrbdpk_sms_201031>
>       )
>       - 
>       
>       More are on the way…
>       
>
> While we are working hard to improve your App Engine experience, recognize 
> App Engine is no longer the only serverless option available from Google 
> Cloud:
>
>  
>
>    - 
>    
>    If you don't have an entire app, have single-function utilities or 
>    microservices, Cloud Functions <http://cloud.google.com/functions> is 
>    a great alternative; it also supports event-driven workloads
>    - 
>    
>    For those leveraging containerization as part of their app 
>    modernization or software development workflows or wish to avoid some of 
>    the constraints from App Engine or Cloud Functions, consider Cloud Run 
>    <http://cloud.run>.
>    
>
> Both Cloud Functions and Cloud Run have similar execution profiles, are 
> pay-per-use, deploy quickly, and autoscale as needed, just like what you're 
> used to from App Engine. Providing a more complete serverless product suite 
> that meets all your use cases and workloads is one of the goals of the Google 
> Cloud serverless <http://cloud.google.com/serverless> team.
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> "A computer never does what you want... only what you tell it."
>     wesley chun :: @wescpy <http://twitter.com/wescpy> :: Software 
> Architect & Engineer
>     Developer Advocate at Google 
> <https://cloud.google.com/developers/advocates/wesley-chun/> by day; at 
> night: Core Python <http://amzn.com/dp/0132269937>
>
>
-- 


How we’re addressing COVID-19


Health and safety is our top priority. We 
have made arrangements for all staff to work remotely from home to continue 
to provide uninterrupted service, expertise and advice to our authors and 
prospective customers during the unfolding COVID-19 situation. Click here 
for more information <https://www.friesenpress.com/covid-19>.

Connect with 
us at:
 <https://www.friesenpress.com/social>

FriesenPress Mailing Address 
| One Printers Way, Altona, MB, Canada, R0G 0B0
friesenpress.com 
<https://www.friesenpress.com>

You are receiving this email because you 
are a FriesenPress client or partner. This email and any documents attached 
to it may contain confidential information. If you are not the intended 
recipient, you are hereby notified that any disclosure, copying or 
distribution of the contents of this email is prohibited. 

If you no 
longer wish to receive emails from FriesenPress, *please click here to 
unsubscribe.*  <https://books.friesenpress.com/agreement/email/>The privacy 
of your information is important to us. To learn more, visit our *privacy 
policy. <https://www.friesenpress.com/about/privacy-policy/>*

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/daea6582-c75d-4007-92fa-1da97062b42fn%40googlegroups.com.

Reply via email to