コンテンツに移動
アプリケーション開発

Google Cloud での Go アプリケーションの作成をシンプルに

2023年8月15日
https://storage.googleapis.com/gweb-cloudblog-publish/images/Google_Cloud_App_Dev_4.max-2600x2600.jpg
Google Cloud Japan Team

※この投稿は米国時間 2023 年 8 月 2 日に、Google Cloud blog に投稿されたものの抄訳です。

Go はクラウドベースの開発のために世界的に採用されている主要なプログラミング言語です。クラウド アプリケーションやビジネス クリティカルなクラウド インフラストラクチャを構築、スケーリングする目的で何百万人もの開発者に利用されています。CLI、ウェブ アプリケーション、クラウド サービス、ネットワーク サービスなど、どのようなものを構築するにしても、Go は習得するのも保守も容易で、組み込みの同時実行性や堅牢な標準ライブラリをはじめとする便利な機能が満載です。

このたび、Go を Google Cloud で使い始める際のハードルを少し下げることが可能になります。Go は最近、事前定義されたテンプレートを使用して新しいプロジェクトを Go でインスタンス化できる、gonew という試験運用版ツールを発表しました。Google Cloud ではこれを受け、開発者が複数の Google Cloud プロダクトにまたがって Go アプリケーションをブートストラップする際に使用できる gonew 用の 4 つのテンプレートをリリースします。これには、単純な HTTP ハンドラである Cloud Functions の関数の作成、Cloud Pub/Sub トピックへのサブスクライブ、Cloud Run での HTTP サーバーの作成といった一般的なユースケースが含まれています。

Google Cloud Go テンプレート

  • httpfn: 基本的な HTTP ハンドラ(Cloud Functions の関数)

  • pubsubfn: クラウド イベントを処理する Pub/Sub トピックにサブスクライブされる関数(Cloud Functions の関数)

  • microservice: サーバーレス ランタイムにデプロイできる HTTP サーバー(Cloud Run)

  • taskhandler: リクエストからのタスクを処理する基本的なアプリ(App Engine)

使ってみるには

  • お使いのマシンに Go がインストールされていることを確認してください。インストールされていない場合は、こちらからダウンロードしてインストールする必要があります。

次のように go install を使用して gonew をインストールします。
読み込んでいます...

基本的な HTTP ハンドラである Cloud Functions の関数を生成するには、新しいプロジェクトの親ディレクトリで gonew を実行し、既存の httpfn テンプレートをインスタンス化します。現時点では、gonew の構文に 2 つの引数が必要です。最初の引数は呼び出すテンプレートのパスで、2 番目は作成しているプロジェクトのモジュール名を渡します。次に例を示します。

読み込んでいます...

  • こちらに記載された手順に沿って、この新しい Go モジュールを Cloud Functions にデプロイします。Cloud Shell エディタでも同じことを行えます。

次のステップ

Google Cloud での Go の利用については大きな計画があり、いくつかの新しい機能強化もロードマップに組み込まれています。ひとまずは、今回リリースされた新しいテンプレートをぜひお試しください。手順に沿って Google Cloud にデプロイしていただき、さらに改善するためのご意見をお寄せいただけますと幸いです。問題が見つかりましたら、こちらからご報告ください。


- グループ プロダクト マネージャー Prithpal Bhogill
- シニア ソフトウェア エンジニア Cody Oss
投稿先