Erste Schritte mit .NET

Diese Anleitung richtet sich an alle Nutzer, die sich für das Erstellen von Anwendungen in der Cloud interessieren, z. B. Software- oder Webentwickler, die die grundlegenden Konzepte der Anwendungsentwicklung im Zusammenhang mit Google Cloudkennenlernen möchten.

Ziele

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Die Anleitungen in diesem Dokument wurden so gestaltet, dass Ihre Ressourcennutzung innerhalb der Limits der Stufe Immer kostenlos von Google Cloudbleibt. Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.

Neuen Nutzern von Google Cloud steht möglicherweise eine kostenlose Testversion zur Verfügung.

Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Mit den folgenden Schritten können Sie eine Firebase-Datenbank im nativen Modus erstellen:
    1. Rufen Sie in der Google Cloud Console die Seite Firestore-Datenbank erstellen auf.

      Zur Seite zum Erstellen einer Firestore-Datenbank

    2. Klicken Sie im Bildschirm Firestore-Modus auswählen auf Nativen Modus auswählen.
    3. Wählen Sie einen Standort für Ihre Firestore-Datenbank aus. Mit dieser Standorteinstellung legen Sie den Google Cloud Standardspeicherort für Ressourcen in Ihrem Google Cloud Projekt fest. Dieser Speicherort wird für Google Cloud Dienste in Ihrem Google Cloud Projekt verwendet, die eine Speicherorteinstellung erfordern, insbesondere für Ihren standardmäßigen Cloud Storage-Bucket und Ihre Cloud Run-App.
    4. Klicken Sie auf Datenbank erstellen.
  7. Aktivieren Sie die Cloud Run, Cloud Storage JSON, Cloud Logging und Error Reporting APIs.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    APIs aktivieren

  8. Klonen Sie das Beispiel-Repository und öffnen Sie die Beispielanwendung in Cloud Shell:
    Cloud Shell aufrufen

    Cloud Shell bietet Ihnen direkt über den Browser Befehlszeilenzugriff auf Ihre Google Cloud Ressourcen.

  9. Klicken Sie in der Aufforderung zum Klonen des Repositorys auf Bestätigen.
  10. Konfigurieren Sie in Cloud Shell das gcloud-Tool, um das neue Google Cloud -Projekt zu verwenden:

    # Configure gcloud for your project
    gcloud config set project PROJECT_ID

    Ersetzen Sie PROJECT_ID durch die Google Cloud Projekt-ID, die Sie mit der Google Cloud Console erstellt haben.

    Die Google Cloud CLI ist die primäre Methode zum Interagieren mit Google Cloud -Ressourcen über die Befehlszeile. In dieser Anleitung verwenden Sie das gcloud-Tool zum Bereitstellen und Überwachen der Anwendung.

Anwendung ausführen

  1. Führen Sie die App aus:
    GOOGLE_CLOUD_PROJECT=PROJECT_ID dotnet run
    
    Ersetzen Sie PROJECT_ID durch die Google Cloud Projekt-ID, die Sie erstellt haben.
  2. Klicken Sie in Cloud Shell auf Webvorschau und wählen Sie dann Vorschau auf Port 8080 aus. Ein neues Fenster mit der ausgeführten Anwendung wird geöffnet.

Anwendung in Cloud Run bereitstellen

Google Cloud bietet mehrere Optionen zum Ausführen des Codes. In diesem Beispiel verwenden Sie Cloud Run zum Bereitstellen einer skalierbaren Anwendung in Google Cloud. Da Sie keine Server verwalten müssen, können Sie sich mit Cloud Run ganz auf das Programmieren konzentrieren. Außerdem bietet Cloud Run eine automatische Skalierung bei plötzlich auftretenden Trafficspitzen.

Die Dockerfile teilt Cloud Run mit, wie Ihre Anwendung ausgeführt werden soll:

FROM mcr.microsoft.com/dotnet/core/aspnet:2.1
COPY . /app
WORKDIR /app
ENTRYPOINT ["dotnet", "Bookshelf.dll"]

Dockerfiles können umfangreicher sein, aber diese Konfiguration funktioniert für viele Anwendungen.

Cloud Run teilt Ihrer Anwendung mit, welchen Port sie abhören soll, indem die Umgebungsvariable PORT festgelegt wird. Das Program.cs von Bookshelf enthält Code zum Beobachten der Variablen PORT und zum Abhören dieses Ports:

using Google.Cloud.Diagnostics.AspNetCore;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using System;

namespace Bookshelf
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseGoogleDiagnostics(Startup.GetProjectId(), "Bookshelf", "0.01")
                .UseStartup<Startup>().UsePortEnvironmentVariable();
    }

    static class ProgramExtensions
    {
        // Google Cloud Run sets the PORT environment variable to tell this
        // process which port to listen to.
        public static