Schritt 1: Remotedienst (AWS Lambda-Funktion) und Proxydienst (API Gateway) unter Verwendung der Vorlage erstellen¶
Unter diesem Thema finden Sie eine detaillierte Anleitung zur Verwendung der von Snowflake bereitgestellten AWS-CloudFormation-Vorlage. Die Vorlage vereinfacht das Erstellen der AWS Lambda-Funktion (zur Verwendung als Remotedienst) und des Amazon API Gateway-Dienstes (zur Verwendung als Proxydienst) für Ihre externe Funktion.
In diesem Dokument wird beispielhaft gezeigt, wie Sie eine externe Funktion auf AWS unter Verwendung einer CloudFormation-Vorlage erstellen.
Snowflake bietet eine Vorlage, mit der Sie beginnen können. Diese Vorlage verbirgt einige Details des Erstellungsprozesses und codiert einige Namen (z. B. den Stagingbereichsnamen) und Funktionen fest. Wenn Sie bereit sind, Ihre eigene benutzerdefinierte externe Funktion zu erstellen, können Sie entweder eine Kopie der Vorlage anpassen, oder Sie können die flexiblere Anleitung unter Erstellen externer Funktionen auf AWS nutzen.
Wenn Sie die Vorlage anpassen möchten, können Sie mehr über AWS CloudFormation erfahren.
Bemerkung
Diese Anleitung setzt voraus, dass Sie bereits mit der AWS-Administration vertraut sind. In dieser Anleitung werden die allgemeinen Schritte beschrieben, die Sie ausführen müssen, aber nicht die Azure Portal-Benutzeroberfläche im Detail, da sich die Benutzeroberfläche ändern kann.
Unter diesem Thema:
Vorheriger Schritt¶
Vorlage hochladen¶
Öffnen Sie die AWS Management Console.
Suchen Sie über die obere Suchleiste nach CloudFormation.
Klicken Sie unter „Services“ auf CloudFormation.
Klicken Sie auf Create stack.
Wenn Sie die Wahl zwischen With new resources (standard) oder With existing resources (import resources) haben, dann wählen Sie With new resources (standard) aus.
Wählen Sie auf der Seite Create stack unter Prepare template die Option Template is ready aus.
Wählen Sie Upload a template file aus.
Wählen Sie Choose file aus.
Navigieren Sie zu dem Verzeichnis, das Ihre Kopie der Vorlage enthält, und wählen Sie dann diese Vorlage aus.
Klicken Sie auf Next, um die Seite zu erreichen, auf der Sie die Namen für Rollen usw. eingeben.
Bemerkung
Die Vorlage verwendet für einige Ressourcen Standardnamen. Sie können die Namen ändern.
Optionen konfigurieren¶
Die Vorlage enthält Standardwerte für die meisten Felder. Sie müssen jedoch ein paar Werte eingeben, z. B. ob Sie einen regionalen Endpunkt oder einen privaten Endpunkt wünschen.
Geben Sie einen Namen für den Stapel (Stack) ein.
Geben Sie den Typ des Endpunkts ein, den Sie verwenden möchten: „REGIONAL“ oder „PRIVATE“.
Wenn Sie sich nicht sicher sind, welchen Typ Sie verwenden sollen, wählen Sie „REGIONAL“.
Wenn Sie „PRIVATE“ wählen, dann aktualisieren Sie die VPC-ID (in der Vorlage mit „sourceVpcId“ beschriftet). (Anweisungen zum Auffinden Ihrer VPC-ID finden Sie im Abschnitt Planen einer externen Funktion für AWS.)
Weitere Informationen zu Endpunkten, einschließlich einer Beschreibung der verschiedenen Typen von Endpunkten, finden Sie unter AWS-Endpunkte und unter Wählen Sie Ihren Endpunkttyp aus: Regionaler Endpunkt vs. Privater Endpunkt.
Geben Sie einen Namen für die API Gateway IAM-Rolle ein (Parameter apiGatewayIAMRoleName). Dies ist die von Snowflake übernommene Rolle für die Autorisierung mit dem API Gateway. Stellen Sie sicher, dass diese Rolle nicht bereits vorhanden ist, da die Vorlage sonst versucht, die vorhandene Rolle zu aktualisieren.
Notieren Sie sich den Rollennamen auf dem Arbeitsblatt unter
New IAM Role Name
.Geben Sie einen Namen für die Lambda Execution-Rolle ein (Parameter lambdaExecutionRoleName). Diese Rolle wird vom Lambda-Dienst zum Hinzufügen von CloudWatch-Protokollen verwendet. Stellen Sie sicher, dass diese Rolle nicht bereits vorhanden ist, da die Vorlage sonst versucht, die vorhandene Rolle zu aktualisieren.
Klicken Sie auf Next.
Diese Seite bietet einige erweiterte Optionen für die Bereitstellung von Vorlagen.
Legen Sie optional erweiterte Optionen fest, wie z. B. die Stapelrichtlinie. (Diese werden nicht benötigt, wenn Sie die Beispielfunktion mit der von Snowflake gelieferten Vorlage erstellen. Wenn Sie jedoch eine vorlagenbasierte Bereitstellung für Funktionen verwenden, die Sie angepasst haben, müssen Sie an dieser Stelle möglicherweise die erweiterten Optionen anpassen).
Klicken Sie auf Next.
Scrollen Sie auf der Überprüfungsseite bis zum Ende, und bestätigen Sie, dass die CloudFormation-Vorlage möglicherweise IAM-Ressourcen mit benutzerdefinierten Namen erstellt. Dies ist erforderlich, weil die Vorlage zwei IAM-Rollen als Teil der Bereitstellung erstellt.
Klicken Sie auf Create stack.
Die Bereitstellung dauert einige Sekunden. Nachdem die Bereitstellung abgeschlossen ist, sollten Sie sich auf der Registerkarte Events für den neu erstellten Stack befinden. Die erstellten Ressourcen sind auf der Registerkarte Resources aufgelistet.
Nächster Schritt¶
Schritt 2: Amazon API Gateway-URL und die neue IAM-Rollen-ARN erfassen