Bei der Bereitstellung einer Cloud Run-Funktion werden automatisch die zugrunde liegenden Google Cloud -Dienste koordiniert, einschließlich Cloud Storage, Cloud Build und Artifact Registry, um Ihren Code zu verpacken und auszuführen. Wenn Sie diese Dienstinteraktionen verstehen, können Sie die erforderlichen IAM-Berechtigungen (Identity and Access Management) konfigurieren, Ressourcenabhängigkeiten verfolgen und Probleme bei der Bereitstellung oder beim Build beheben.
Hinweis
Machen Sie sich mit den Konzepten von Cloud Run Functions und der Quellbereitstellung im Leitfaden Cloud Run-Bereitstellungsoptionen und -Ressourcenmodell vertraut.
Architektur
Wenn Sie den Quellcode Ihrer Funktion in Cloud Run Functions bereitstellen, wird dieser Quellcode in einem Cloud Storage-Bucket gespeichert. Cloud Build erstellt dann automatisch Ihren Code in einem Container-Image und überträgt dieses Image per Push in eine Image-Registry von Artifact Registry. Cloud Run Functions greift auf dieses Image zu, wenn es zum Ausführen der Funktion den Container ausführen muss.
Im folgenden Diagramm stellt das Feld „Cloud Run Functions“ eine Funktion dar, die in Cloud Run entweder mit der Cloud Run Admin API oder der Cloud Functions API bereitgestellt wird. In der Regel werden neuere Funktionen mit der Cloud Run Admin API und ältere Funktionen mit der Cloud Functions API bereitgestellt.
Je nachdem, welche API beim Bereitstellen einer Funktion verwendet wird, geschieht Folgendes:
Wenn Sie Ihre Funktion mit der Cloud Run Admin API bereitgestellt haben, geschieht Folgendes:
Ihr Quellcode wird in einen Cloud Storage-Bucket ohne Aufbewahrungsdauer hochgeladen.
- Wenn Sie die Standardverschlüsselung verwenden, wird der Name des Buckets automatisch generiert und lautet
run-sources-PROJECT_ID-REGION. - Wenn Sie Ihre Daten mit kundenverwalteten Verschlüsselungsschlüsseln (CMEK) schützen, wird der Bucket-Name nicht automatisch generiert und Sie müssen einen Bucket-Namen angeben.
- Wenn Sie die Standardverschlüsselung verwenden, wird der Name des Buckets automatisch generiert und lautet
Der Quellcode wird an Cloud Build gesendet, wo die Buildpacks von Google Cloud und das Functions Framework ein Container-Image erstellen. Beachten Sie, dass das Cloud Build-Dienstkonto das Container-Image erstellt. Cloud Run verwendet standardmäßig den von Cloud Build bereitgestellten Maschinentyp
e2-standard-2.Ihr Container-Image wird dann über einen automatisch erstellten Bucket namens
REGION-docker.pkg.dev/PROJECT_ID/cloud-run-source-deployin Artifact Registry hochgeladen.Das Image wird in Cloud Run als Dienst bereitgestellt.
Sie können die Funktion mit Eventarc, Pub/Sub oder anderen HTTP-Triggern auslösen oder aufrufen.
Wenn Sie Ihre Funktion mit der Cloud Functions API (v2) bereitgestellt haben, geschieht Folgendes:
Ihr Quellcode wird in einen Cloud Storage-Bucket ohne Aufbewahrungsdauer hochgeladen.
Der Name des Buckets wird automatisch generiert und hat folgendes Format:
- Wenn Sie die Standardverschlüsselung verwenden, heißt dieser Bucket
gcf-v2-sources-PROJECT_NUMBER-REGION. - Wenn Sie Ihre Daten mit CMEK schützen, heißt der Bucket
gcf-sources-PROJECT_NUMBER-REGION-CMEK_KEY_HASH.
- Wenn Sie die Standardverschlüsselung verwenden, heißt dieser Bucket
Der Quellcode wird an Cloud Build gesendet, wo die Buildpacks von Google Cloud und das Functions Framework ein Container-Image erstellen. Beachten Sie, dass das Cloud Build-Dienstkonto das Container-Image erstellt. Cloud Run verwendet standardmäßig den von Cloud Build bereitgestellten
e2-standard-2-Maschinentyp.Ihr Container-Image wird dann über einen automatisch erstellten Bucket namens
REGION-docker.pkg.dev/PROJECT_ID/gcf-artifactsin Artifact Registry hochgeladen.Das Image wird in Cloud Run als Dienst bereitgestellt.
Sie können die Funktion mit Eventarc, Pub/Sub oder anderen HTTP-Triggern auslösen oder aufrufen.
Nächste Schritte
- Informationen zu den verschiedenen Arten von Funktionen und zu den Optionen zum Auslösen von Funktionen
- Wenn Sie zuvor Funktionen mit der Cloud Functions API erstellt haben, finden Sie im Vergleichsleitfaden für Cloud Run-Funktionen Informationen zu den Unterschieden zwischen den beiden Versionen von Cloud Run-Funktionen.