高度にスケーラブルな .NET アプリの作成、デプロイ、デバッグ、モニタリング

  • check Visual Studio、ブラウザベースのコマンドライン、Windows PowerShell を使用して .NET アプリを作成する
  • check .NET のイディオムに対応したライブラリから GCP サービスを使用する
  • check C# を使用してフルマネージドの SQL データベースにクエリを実行する
  • check Google のテクノロジーを利用して .NET Core アプリをスケーリングする
  • check 事前に設定された ASP.NET Windows Server を起動する
  • check ASP.NET コアアプリを Docker コンテナとしてデプロイする
.NET のイディオムに対応した広範なライブラリセット

一般的な C# のライブラリを利用して Google Cloud Platform サービスにアクセスしてみましょう

Cloud Storage 内にデータを保存し、アーカイブする
C# を使用してフルマネージドの NoSQL データベースにアクセスする
BigQuery を使用してデータ分析を行う
Translation API を使用して、異なる言語のテキストを翻訳する
Vision API を使用して画像を分析する
Cloud Storage 内にデータを保存し、アーカイブする
1
NuGet パッケージ マネージャ、.NET CLI、Paket CLI を使用してクライアント ライブラリをインストールする
PM> Install-Package Google.Cloud.Storage.V1 -Version 2.1.0-beta01
.NET CLI> dotnet add package Google.Cloud.Storage.V1 --version 2.1.0-beta01
Paket CLI> paket add Google.Cloud.Storage.V1 --version 2.1.0-beta01
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Storage API を有効にする。

    Enable the API

3
コードを書く
using Google.Cloud.Storage.V1;
using System;
using System.Diagnostics;

namespace GoogleCloudSamples
{
    class StorageQuickstart
    {
        static void Main(string[] args)
        {
            // Your Google Cloud Platform project ID.
            string projectId = "YOUR-PROJECT-ID";

            // Instantiates a client.
            StorageClient storageClient = StorageClient.Create();

            // The name for the new bucket.
            string bucketName = projectId + "-test-bucket";
            try
            {
                // Creates the new bucket.
                storageClient.CreateBucket(projectId, bucketName);
                Console.WriteLine($"Bucket {bucketName} created.");
            }
            catch (Google.GoogleApiException e)
            when (e.Error.Code == 409)
            {
                // The bucket already exists.  That's fine.
                Console.WriteLine(e.Error.Message);
            }
        }
    }
}
C# を使用してフルマネージドの NoSQL データベースにアクセスする
1
NuGet パッケージ マネージャ、.NET CLI、Paket CLI を使用してクライアント ライブラリをインストールする
PM> Install-Package Google.Cloud.Datastore.V1 -Version 2.0.0
.NET CLI> dotnet add package Google.Cloud.Datastore.V1 --version 2.0.0
Paket CLI> paket add Google.Cloud.Datastore.V1 --version 2.0.0
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Datastore API を有効にする。

    Enable the API

3
コードを書く
using Google.Cloud.Datastore.V1;

namespace GoogleCloudSamples
{
    public class QuickStart
    {
        public static void Main(string[] args)
        {
            // Your Google Cloud Platform project ID
            string projectId = "YOUR-PROJECT-ID";

            // Instantiates a client
            DatastoreDb db = DatastoreDb.Create(projectId);

            // The kind for the new entity
            string kind = "Task";
            // The name/ID for the new entity
            string name = "sampletask1";
            KeyFactory keyFactory = db.CreateKeyFactory(kind);
            // The Cloud Datastore key for the new entity
            Key key = keyFactory.CreateKey(name);

            var task = new Entity
            {
                Key = key,
                ["description"] = "Buy milk"
            };
            using (DatastoreTransaction transaction = db.BeginTransaction())
            {
                // Saves the task
                transaction.Upsert(task);
                transaction.Commit();

                Console.WriteLine($"Saved {task.Key.Path[0].Name}: {(string)task["description"]}");
            }
        }
    }
}
BigQuery を使用してデータ分析を行う
1
NuGet パッケージ マネージャ、.NET CLI、Paket CLI を使用してクライアント ライブラリをインストールする
PM> Install-Package Google.Cloud.BigQuery.V2 -Version 1.0.0-beta19
.NET CLI> dotnet add package Google.Cloud.BigQuery.V2 --version 1.0.0-beta19
Paket CLI> paket add Google.Cloud.BigQuery.V2 --version 1.0.0-beta19
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. BigQuery APIを有効にする。

    Enable the API

3
コードを書く
using System;
using Google.Cloud.BigQuery.V2;

namespace GoogleCloudSamples
{
    public class BigquerySample
    {
        const string usage = @"Usage:
BigquerySample <project_id>";

        private static void Main(string[] args)
        {
            string projectId = null;
            if (args.Length == 0)
            {
                Console.WriteLine(usage);
            }
            else
            {
                projectId = args[0];
                // By default, the Google.Cloud.BigQuery.V2 library client will authenticate
                // using the service account file (created in the Google Developers
                // Console) specified by the GOOGLE_APPLICATION_CREDENTIALS
                // environment variable. If you are running on
                // a Google Compute Engine VM, authentication is completely
                // automatic.
                var client = BigQueryClient.Create(projectId);
                string query = @"SELECT
                    CONCAT(
                        'https://stackoverflow.com/questions/',
                        CAST(id as STRING)) as url, view_count
                    FROM `bigquery-public-data.stackoverflow.posts_questions`
                    WHERE tags like '%google-bigquery%'
                    ORDER BY view_count DESC
                    LIMIT 10";
                var result = client.ExecuteQuery(query, parameters: null);
                Console.Write("\nQuery Results:\n------------\n");
                foreach (var row in result)
                {
                    Console.WriteLine($"{row["url"]}: {row["view_count"]} views");
                }
            }
            Console.WriteLine("\nPress any key...");
            Console.ReadKey();
        }
    }
}
Translation API を使用して、異なる言語のテキストを翻訳する
1
NuGet パッケージ マネージャ、.NET CLI、Paket CLI を使用してクライアント ライブラリをインストールする
PM>Install-Package Google.Cloud.Translation.V2 -Version 1.0.0
.NET CLI> dotnet add package Google.Cloud.Translation.V2 --version 1.0.0
Paket CLI> paket add Google.Cloud.Translation.V2 --version 1.0.0
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Translation API を有効にする。

    Enable the API

3
コードを書く
using Google.Cloud.Translation.V2;
using System;

public class QuickStart
{
    public static void Main(string[] args)
    {
        Console.OutputEncoding = System.Text.Encoding.Unicode;
        TranslationClient client = TranslationClient.Create();
        var response = client.TranslateText("Hello World.", "ru");
        Console.WriteLine(response.TranslatedText);
    }
}
Vision API を使用して画像を分析する
1
NuGet パッケージ マネージャ、.NET CLI、Paket CLI を使用してクライアント ライブラリをインストールする
PM> Install-Package Google.Cloud.Vision.V1 -Version 1.0.0
.NET CLI> dotnet add package Google.Cloud.Vision.V1 --version 1.0.0
Paket CLI> paket add Google.Cloud.Vision.V1 --version 1.0.0
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Vision API を有効にする。

    Enable the API

3
コードを書く
using Google.Cloud.Vision.V1;
using System;

namespace GoogleCloudSamples
{
    public class QuickStart
    {
        public static void Main(string[] args)
        {
            // Instantiates a client
            var client = ImageAnnotatorClient.Create();
            // Load the image file into memory
            var image = Image.FromFile("wakeupcat.jpg");
            // Performs label detection on the image file
            var response = client.DetectLabels(image);
            foreach (var annotation in response)
            {
                if (annotation.Description != null)
                    Console.WriteLine(annotation.Description);
            }
        }
    }
}
.NET クイックスタート
本番環境の問題を検出して修正する

Google Stackdriver は、強力なロギング、モニタリング、レポート機能を提供します。これによって、クラウドで実行されるアプリケーションの健全性やパフォーマンス、可用性を分析し、すばやく問題を検出して修正することができます。

詳細
GCP コミュニティ上の .NET

質問やご意見がありましたら、コミュニティに参加して質問したり、Google Cloud Platform 向け .NET 構築をサポートする Google の専門家と会話したりすることができます。