Einführung in die Bereitstellung mit dem sam deploy Befehl - AWS Serverless Application Model

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Einführung in die Bereitstellung mit dem sam deploy Befehl

Verwenden Sie den AWS Serverless Application Model Befehl Command Line Interface (AWS SAMCLI)sam deploy, um Ihre serverlose Anwendung auf dem bereitzustellen. AWS Cloud

Voraussetzungen

Um das zu verwendensam deploy, installieren Sie das, AWS SAMCLI indem Sie wie folgt vorgehen:

Vor der Verwendung empfehlen wirsam deploy, sich mit folgenden Grundkenntnissen vertraut zu machen:

Bereitstellen von Anwendungen mit Sam Deploy

Wenn Sie eine serverlose Anwendung zum ersten Mal bereitstellen, verwenden Sie die --guided Option. Sie AWS SAMCLI führt Sie durch einen interaktiven Ablauf zur Konfiguration der Bereitstellungseinstellungen Ihrer Anwendung.

Um eine Anwendung mithilfe des interaktiven Ablaufs bereitzustellen
  1. Gehen Sie zum Stammverzeichnis Ihres Projekts. Dies ist derselbe Speicherort wie Ihre AWS SAM Vorlage.

    $ cd sam-app
  2. Führen Sie den folgenden Befehl aus:

    $ sam deploy --guided
  3. Während des interaktiven Ablaufs werden Sie AWS SAMCLI aufgefordert, Optionen zur Konfiguration der Bereitstellungseinstellungen Ihrer Anwendung anzugeben.

    Klammern ([ ]) stehen für Standardwerte. Lassen Sie Ihre Antwort leer, um den Standardwert auszuwählen. Standardwerte werden aus den folgenden Konfigurationsdateien abgerufen:

    • ~/.aws/config— Ihre allgemeinen AWS Kontoeinstellungen.

    • ~/.aws/credentials— Ihre AWS Kontoanmeldeinformationen.

    • <project>/samconfig.toml— Die Konfigurationsdatei Ihres Projekts.

    Geben Sie Werte an, indem Sie die AWS SAMCLI Eingabeaufforderungen beantworten. Sie können beispielsweise Werte y für Ja, n für Nein oder Zeichenfolgen eingeben.

    Der AWS SAMCLI schreibt Ihre Antworten in die samconfig.toml Datei Ihres Projekts. Für nachfolgende Bereitstellungen können Sie die Bereitstellung mithilfe dieser konfigurierten Werte verwenden. sam deploy Um diese Werte neu zu konfigurieren, verwenden Sie Ihre sam deploy --guided Konfigurationsdateien erneut oder ändern Sie sie direkt.

    Im Folgenden finden Sie ein Beispiel für eine Ausgabe:

    sam-app $ sam deploy --guided Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]: ENTER AWS Region [us-west-2]: ENTER #Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [Y/n]: ENTER #SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]: ENTER #Preserves the state of previously provisioned resources when an operation fails Disable rollback [y/N]: ENTER HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y Save arguments to configuration file [Y/n]: ENTER SAM configuration file [samconfig.toml]: ENTER SAM configuration environment [default]: ENTER
  4. Als Nächstes AWS SAMCLI stellt der Ihre Anwendung auf dem AWS Cloud bereit. Während der Bereitstellung wird der Fortschritt in Ihrer Befehlszeile angezeigt. Im Folgenden sind die wichtigsten Phasen der Bereitstellung aufgeführt:

    • Bei Anwendungen mit AWS Lambda Funktionen, die als ZIP-Dateiarchiv verpackt sind, wird das Paket AWS SAMCLI komprimiert und in einen Amazon Simple Storage Service (Amazon S3) -Bucket hochgeladen. Falls erforderlich, AWS SAMCLI wird ein neuer Bucket erstellt.

    • Bei Anwendungen mit einem Lambda-Funktionspaket als Container-Image wird das Image in Amazon Elastic Container Registry (Amazon ECR) AWS SAMCLI hochgeladen. Falls erforderlich, AWS SAMCLI wird ein neues Repository erstellt.

    • Das AWS SAMCLI erstellt einen AWS CloudFormation Änderungssatz und stellt Ihre Anwendung AWS CloudFormation als Stack bereit.

    • Das AWS SAMCLI ändert Ihre bereitgestellte AWS SAM Vorlage mit dem neuen CodeUri Wert für Ihre Lambda-Funktionen.

    Im Folgenden finden Sie ein Beispiel für die AWS SAMCLI Bereitstellungsausgabe:

    Looking for resources needed for deployment: Managed S3 bucket: aws-sam-cli-managed-default-samclisourcebucket-1a4x26zbcdkqr A different default S3 bucket can be set in samconfig.toml and auto resolution of buckets turned off by setting resolve_s3=False Parameter "stack_name=sam-app" in [default.deploy.parameters] is defined as a global parameter [default.global.parameters]. This parameter will be only saved under [default.global.parameters] in /Users/.../sam-app/samconfig.toml. Saved arguments to config file Running 'sam deploy' for future deployments will use the parameters saved above. The above parameters can be changed by modifying samconfig.toml Learn more about samconfig.toml syntax at https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-config.html Uploading to sam-app-zip/da3c598813f1c2151579b73ad788cac8 262144 / 619839 (42.29%)Uploading to sam-app-zip/da3c598813f1c2151579b73ad788cac8 524288 / 619839 (84.58%)Uploading to sam-app-zip/da3c598813f1c2151579b73ad788cac8 619839 / 619839 (100.00%) Deploying with following values =============================== Stack name : sam-app Region : us-west-2 Confirm changeset : True Disable rollback : False Deployment s3 bucket : aws-sam-cli-managed-default-samclisourcebucket-1a4x26zbcdkqr Capabilities : ["CAPABILITY_IAM"] Parameter overrides : {} Signing Profiles : {} Initiating deployment ===================== Uploading to sam-app-zip/be84c20f868068e4dc4a2c11966edf2d.template 1212 / 1212 (100.00%) Waiting for changeset to be created.. CloudFormation stack changeset ------------------------------------------------------------------------------------------------- Operation LogicalResourceId ResourceType Replacement ------------------------------------------------------------------------------------------------- + Add HelloWorldFunctionHell AWS::Lambda::Permissio N/A oWorldPermissionProd n + Add HelloWorldFunctionRole AWS::IAM::Role N/A + Add HelloWorldFunction AWS::Lambda::Function N/A + Add ServerlessRestApiDeplo AWS::ApiGateway::Deplo N/A yment47fc2d5f9d yment + Add ServerlessRestApiProdS AWS::ApiGateway::Stage N/A tage + Add ServerlessRestApi AWS::ApiGateway::RestA N/A pi ------------------------------------------------------------------------------------------------- Changeset created successfully. arn:aws:cloudformation:us-west-2:012345678910:changeSet/samcli-deploy1680559234/d9f58a77-98bc-41cd-b9f4-433a5a450d7a Previewing CloudFormation changeset before deployment ====================================================== Deploy this changeset? [y/N]: y 2023-04-03 12:00:50 - Waiting for stack create/update to complete CloudFormation events from stack operations (refresh every 5.0 seconds) ------------------------------------------------------------------------------------------------- ResourceStatus ResourceType LogicalResourceId ResourceStatusReason ------------------------------------------------------------------------------------------------- CREATE_IN_PROGRESS AWS::IAM::Role HelloWorldFunctionRole - CREATE_IN_PROGRESS AWS::IAM::Role HelloWorldFunctionRole Resource creation Initiated CREATE_COMPLETE AWS::IAM::Role HelloWorldFunctionRole - CREATE_IN_PROGRESS AWS::Lambda::Function HelloWorldFunction - CREATE_IN_PROGRESS AWS::Lambda::Function HelloWorldFunction Resource creation Initiated CREATE_COMPLETE AWS::Lambda::Function HelloWorldFunction - CREATE_IN_PROGRESS AWS::ApiGateway::RestA ServerlessRestApi - pi CREATE_IN_PROGRESS AWS::ApiGateway::RestA ServerlessRestApi Resource creation pi Initiated CREATE_COMPLETE AWS::ApiGateway::RestA ServerlessRestApi - pi CREATE_IN_PROGRESS AWS::Lambda::Permissio HelloWorldFunctionHell - n oWorldPermissionProd CREATE_IN_PROGRESS AWS::ApiGateway::Deplo ServerlessRestApiDeplo - yment yment47fc2d5f9d CREATE_IN_PROGRESS AWS::Lambda::Permissio HelloWorldFunctionHell Resource creation n oWorldPermissionProd Initiated CREATE_IN_PROGRESS AWS::ApiGateway::Deplo ServerlessRestApiDeplo Resource creation yment yment47fc2d5f9d Initiated CREATE_COMPLETE AWS::ApiGateway::Deplo ServerlessRestApiDeplo - yment yment47fc2d5f9d CREATE_IN_PROGRESS AWS::ApiGateway::Stage ServerlessRestApiProdS - tage CREATE_IN_PROGRESS AWS::ApiGateway::Stage ServerlessRestApiProdS Resource creation tage Initiated CREATE_COMPLETE AWS::ApiGateway::Stage ServerlessRestApiProdS - tage CREATE_COMPLETE AWS::Lambda::Permissio HelloWorldFunctionHell - n oWorldPermissionProd CREATE_COMPLETE AWS::CloudFormation::S sam-app-zip - tack ------------------------------------------------------------------------------------------------- CloudFormation outputs from deployed stack ------------------------------------------------------------------------------------------------- Outputs ------------------------------------------------------------------------------------------------- Key HelloWorldFunctionIamRole Description Implicit IAM Role created for Hello World function Value arn:aws:iam::012345678910:role/sam-app-zip- HelloWorldFunctionRole-11ZOGSCG28H0M Key HelloWorldApi Description API Gateway endpoint URL for Prod stage for Hello World function Value https://njzfhdmls0.execute-api.us-west-2.amazonaws.com/Prod/hello/ Key HelloWorldFunction Description Hello World Lambda Function ARN Value arn:aws:lambda:us-west-2:012345678910:function:sam-app- HelloWorldFunction-XPqNX4TBu7qn ------------------------------------------------------------------------------------------------- Successfully created/updated stack - sam-app-zip in us-west-2
  5. Gehen Sie wie folgt vor, um Ihre bereitgestellte Anwendung anzuzeigen:

    1. Öffnen Sie die AWS CloudFormation Konsole direkt mit der URL https://console.aws.amazon.com/cloudformation.

    2. Wählen Sie Stacks aus.

    3. Identifizieren Sie Ihren Stack anhand des Anwendungsnamens und wählen Sie ihn aus.

Überprüfen Sie die Änderungen vor der Bereitstellung

Sie können den so konfigurieren AWS SAMCLI, dass Ihr AWS CloudFormation Änderungssatz angezeigt wird und Sie vor der Bereitstellung um Bestätigung gebeten werden.

Um Änderungen vor der Bereitstellung zu bestätigen
  1. Geben Sie sam deploy --guided währenddessen ein, Y um die Änderungen vor der Bereitstellung zu bestätigen.

    #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
    Confirm changes before deploy [Y/n]: Y

    Alternativ können Sie Ihre samconfig.toml Datei wie folgt ändern:

    [default.deploy]
    [default.deploy.parameters]
    confirm_changeset = true
  2. Während der Bereitstellung AWS SAMCLI werden Sie aufgefordert, die Änderungen vor der Bereitstellung zu bestätigen. Im Folgenden wird ein Beispiel gezeigt:

    Waiting for changeset to be created.. CloudFormation stack changeset ------------------------------------------------------------------------------------------------- Operation LogicalResourceId ResourceType Replacement ------------------------------------------------------------------------------------------------- + Add HelloWorldFunctionHell AWS::Lambda::Permissio N/A oWorldPermissionProd n + Add HelloWorldFunctionRole AWS::IAM::Role N/A + Add HelloWorldFunction AWS::Lambda::Function N/A + Add ServerlessRestApiDeplo AWS::ApiGateway::Deplo N/A yment47fc2d5f9d yment + Add ServerlessRestApiProdS AWS::ApiGateway::Stage N/A tage + Add ServerlessRestApi AWS::ApiGateway::RestA N/A pi ------------------------------------------------------------------------------------------------- Changeset created successfully. arn:aws:cloudformation:us-west-2:012345678910:changeSet/samcli-deploy1680559234/d9f58a77-98bc-41cd-b9f4-433a5a450d7a Previewing CloudFormation changeset before deployment ====================================================== Deploy this changeset? [y/N]: y

Geben Sie während der Bereitstellung zusätzliche Parameter an

Sie können zusätzliche Parameterwerte angeben, die bei der Bereitstellung konfiguriert werden sollen. Sie tun dies, indem Sie Ihre AWS SAM Vorlage ändern und Ihren Parameterwert während der Bereitstellung konfigurieren.

Um zusätzliche Parameter anzugeben
  1. Ändern Sie den Parameters Abschnitt Ihrer AWS SAM Vorlage. Im Folgenden wird ein Beispiel gezeigt:

    AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Globals: ... Parameters: DomainName: Type: String Default: example Description: Domain name
  2. Führen Sie sam deploy --guided. Im Folgenden finden Sie ein Beispiel für eine Ausgabe:

    sam-app $ sam deploy --guided Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app-zip]: ENTER AWS Region [us-west-2]: ENTER Parameter DomainName [example]: ENTER

Konfigurieren Sie die Codesignatur für Ihre Lambda-Funktionen

Sie können die Codesignatur für Ihre Lambda-Funktionen bei der Bereitstellung konfigurieren. Dazu ändern Sie Ihre AWS SAM Vorlage und konfigurieren die Codesignatur während der Bereitstellung.

Um die Codesignatur zu konfigurieren
  1. Geben Sie CodeSigningConfigArn dies in Ihrer AWS SAM Vorlage an. Im Folgenden wird ein Beispiel gezeigt:

    AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: hello_world/ Handler: app.lambda_handler Runtime: python3.7 CodeSigningConfigArn: arn:aws:lambda:us-east-1:111122223333:code-signing-config:csc-12e12345db1234567
  2. Führen Sie sam deploy --guided. Sie AWS SAMCLI werden aufgefordert, die Codesignatur zu konfigurieren. Im Folgenden finden Sie ein Beispiel für eine Ausgabe:

    #Found code signing configurations in your function definitions
    Do you want to sign your code? [Y/n]: ENTER
    #Please provide signing profile details for the following functions & layers
    #Signing profile details for function 'HelloWorld'
    Signing Profile Name: 
    Signing Profile Owner Account ID (optional):
    #Signing profile details for layer 'MyLayer', which is used by functions {'HelloWorld'}
    Signing Profile Name: 
    Signing Profile Owner Account ID (optional):

Bewährte Methoden

  • Bei der Verwendung sam deploy werden die AWS SAMCLI Build-Artefakte Ihrer Anwendung bereitgestellt, die sich im .aws-sam Verzeichnis befinden. Wenn Sie Änderungen an den Originaldateien Ihrer Anwendung vornehmen, führen Sie vor der Bereitstellung den Befehl aus, sam build um das .aws-sam Verzeichnis zu aktualisieren.

  • Wenn Sie eine Anwendung zum ersten Mal bereitstellen, verwenden Sie diese Option, sam deploy --guided um die Bereitstellungseinstellungen zu konfigurieren. Für nachfolgende Bereitstellungen können Sie die Bereitstellung mit Ihren konfigurierten Einstellungen verwendensam deploy.

Optionen für Sam Deploy

Die folgenden Optionen werden häufig für verwendetsam deploy. Eine Liste aller Optionen finden Sie untersam deploy.

Verwenden Sie den geführten interaktiven Ablauf, um Ihre Anwendung bereitzustellen

Verwenden Sie die --guided Option, um die Bereitstellungseinstellungen Ihrer Anwendung über einen interaktiven Ablauf zu konfigurieren. Im Folgenden wird ein Beispiel gezeigt:

$ sam deploy --guided

Die Bereitstellungseinstellungen Ihrer Anwendung werden in der samconfig.toml Datei Ihres Projekts gespeichert. Weitere Informationen hierzu finden Sie unter Konfigurieren Sie die Projekteinstellungen.

Fehlerbehebung

Informationen zur Fehlerbehebung bei AWS SAMCLI finden Sie unterAWS SAMCLIProblembehandlung.

Beispiele

Stellen Sie eine Hello World-Anwendung bereit, die eine Lambda-Funktion enthält, die als ZIP-Dateiarchiv verpackt ist

Ein Beispiel finden Sie Schritt 3: Stellen Sie Ihre Anwendung auf dem AWS Cloud im Tutorial zur Hello World-Anwendung.

Stellen Sie eine Hello World-Anwendung bereit, die eine Lambda-Funktion enthält, die als Container-Image verpackt ist

Zunächst erstellen wir sam init damit unsere Hello World-Anwendung. Während des interaktiven Ablaufs wählen wir die Python3.9 Laufzeit und den Image Pakettyp aus.

$ sam init ... Which template source would you like to use? 1 - AWS Quick Start Templates 2 - Custom Template Location Choice: 1 Choose an AWS Quick Start application template 1 - Hello World Example 2 - Multi-step workflow ... Template: 1 Use the most popular runtime and package type? (Python and zip) [y/N]: ENTER Which runtime would you like to use? 1 - aot.dotnet7 (provided.al2) ... 15 - nodejs12.x 16 - python3.9 17 - python3.8 ... Runtime: 16 What package type would you like to use? 1 - Zip 2 - Image Package type: 2 Based on your selections, the only dependency manager available is pip. We will proceed copying the template using pip. ... Project name [sam-app]: ENTER ----------------------- Generating application: ----------------------- Name: sam-app Base Image: amazon/python3.9-base Architectures: x86_64 Dependency Manager: pip Output Directory: . Configuration file: sam-app/samconfig.toml Next steps can be found in the README file at sam-app/README.md ...

Als Nächstes cd gehen wir in das Stammverzeichnis unseres Projekts und führen es aussam build. Das AWS SAMCLI erstellt unsere Lambda-Funktion lokal mitDocker.

sam-app $ sam build Building codeuri: /Users/.../sam-app runtime: None metadata: {'Dockerfile': 'Dockerfile', 'DockerContext': '/Users/.../sam-app/hello_world', 'DockerTag': 'python3.9-v1'} architecture: x86_64 functions: HelloWorldFunction Building image for HelloWorldFunction function Setting DockerBuildArgs: {} for HelloWorldFunction function Step 1/5 : FROM public.ecr.aws/lambda/python:3.9 ---> 0a5e3da309aa Step 2/5 : COPY requirements.txt ./ ---> abc4e82e85f9 Step 3/5 : RUN python3.9 -m pip install -r requirements.txt -t . ---> [Warning] The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested ---> Running in 43845e7aa22d Collecting requests Downloading requests-2.28.2-py3-none-any.whl (62 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 KB 829.5 kB/s eta 0:00:00 Collecting idna<4,>=2.5 Downloading idna-3.4-py3-none-any.whl (61 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 KB 2.4 MB/s eta 0:00:00 Collecting charset-normalizer<4,>=2 Downloading charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (199 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 199.2/199.2 KB 2.1 MB/s eta 0:00:00 Collecting certifi>=2017.4.17 Downloading certifi-2022.12.7-py3-none-any.whl (155 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.3/155.3 KB 10.2 MB/s eta 0:00:00 Collecting urllib3<1.27,>=1.21.1 Downloading urllib3-1.26.15-py2.py3-none-any.whl (140 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.9/140.9 KB 9.1 MB/s eta 0:00:00 Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests Successfully installed certifi-2022.12.7 charset-normalizer-3.1.0 idna-3.4 requests-2.28.2 urllib3-1.26.15 Removing intermediate container 43845e7aa22d ---> cab8ace899ce Step 4/5 : COPY app.py ./ ---> 4146f3cd69f2 Step 5/5 : CMD ["app.lambda_handler"] ---> [Warning] The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested ---> Running in f4131ddffb31 Removing intermediate container f4131ddffb31 ---> d2f5180b2154 Successfully built d2f5180b2154 Successfully tagged helloworldfunction:python3.9-v1 Build Succeeded Built Artifacts : .aws-sam/build Built Template : .aws-sam/build/template.yaml Commands you can use next ========================= [*] Validate SAM template: sam validate [*] Invoke Function: sam local invoke [*] Test Function in the Cloud: sam sync --stack-name {{stack-name}} --watch [*] Deploy: sam deploy --guided

Als Nächstes starten wir, sam deploy --guided um unsere Anwendung bereitzustellen. Das AWS SAMCLI führt uns durch die Konfiguration unserer Bereitstellungseinstellungen. Anschließend AWS SAMCLI stellt der unsere Anwendung auf dem AWS Cloud bereit.

sam-app $ sam deploy --guided Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]: ENTER AWS Region [us-west-2]: ENTER #Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [Y/n]: ENTER #SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]: ENTER #Preserves the state of previously provisioned resources when an operation fails Disable rollback [y/N]: ENTER HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y Save arguments to configuration file [Y/n]: ENTER SAM configuration file [samconfig.toml]: ENTER SAM configuration environment [default]: ENTER Looking for resources needed for deployment: Managed S3 bucket: aws-sam-cli-managed-default-samclisourcebucket-1a4x26zbcdkqr A different default S3 bucket can be set in samconfig.toml and auto resolution of buckets turned off by setting resolve_s3=False Parameter "stack_name=sam-app" in [default.deploy.parameters] is defined as a global parameter [default.global.parameters]. This parameter will be only saved under [default.global.parameters] in /Users/.../sam-app/samconfig.toml. Saved arguments to config file Running 'sam deploy' for future deployments will use the parameters saved above. The above parameters can be changed by modifying samconfig.toml Learn more about samconfig.toml syntax at https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-config.html e95fc5e75742: Pushed d8df51e7bdd7: Pushed b1d0d7e0b34a: Pushed 0071317b94d8: Pushed d98f98baf147: Pushed 2d244e0816c6: Pushed eb2eeb1ebe42: Pushed a5ca065a3279: Pushed fe9e144829c9: Pushed helloworldfunction-d2f5180b2154-python3.9-v1: digest: sha256:cceb71401b47dc3007a7a1e1f2e0baf162999e0e6841d15954745ecc0c447533 size: 2206 Deploying with following values =============================== Stack name : sam-app Region : us-west-2 Confirm changeset : True Disable rollback : False Deployment image repository : { "HelloWorldFunction": "012345678910.dkr.ecr.us-west-2.amazonaws.com/samapp7427b055/helloworldfunction19d43fc4repo" } Deployment s3 bucket : aws-sam-cli-managed-default-samclisourcebucket-1a4x26zbcdkqr Capabilities : ["CAPABILITY_IAM"] Parameter overrides : {} Signing Profiles : {} Initiating deployment ===================== HelloWorldFunction may not have authorization defined. Uploading to sam-app/682ad27c7cf7a17c7f77a1688b0844f2.template 1328 / 1328 (100.00%) Waiting for changeset to be created.. CloudFormation stack changeset ------------------------------------------------------------------------------------------------- Operation LogicalResourceId ResourceType Replacement ------------------------------------------------------------------------------------------------- + Add HelloWorldFunctionHell AWS::Lambda::Permissio N/A oWorldPermissionProd n + Add HelloWorldFunctionRole AWS::IAM::Role N/A + Add HelloWorldFunction AWS::Lambda::Function N/A + Add ServerlessRestApiDeplo AWS::ApiGateway::Deplo N/A yment47fc2d5f9d yment + Add ServerlessRestApiProdS AWS::ApiGateway::Stage N/A tage + Add ServerlessRestApi AWS::ApiGateway::RestA N/A pi ------------------------------------------------------------------------------------------------- Changeset created successfully. arn:aws:cloudformation:us-west-2:012345678910:changeSet/samcli-deploy1680634124/0ffd4faf-2e2b-487e-b9e0-9116e8299ac4 Previewing CloudFormation changeset before deployment ====================================================== Deploy this changeset? [y/N]: y 2023-04-04 08:49:15 - Waiting for stack create/update to complete CloudFormation events from stack operations (refresh every 5.0 seconds) ------------------------------------------------------------------------------------------------- ResourceStatus ResourceType LogicalResourceId ResourceStatusReason ------------------------------------------------------------------------------------------------- CREATE_IN_PROGRESS AWS::CloudFormation::S sam-app User Initiated tack CREATE_IN_PROGRESS AWS::IAM::Role HelloWorldFunctionRole - CREATE_IN_PROGRESS AWS::IAM::Role HelloWorldFunctionRole Resource creation Initiated CREATE_COMPLETE AWS::IAM::Role HelloWorldFunctionRole - CREATE_IN_PROGRESS AWS::Lambda::Function HelloWorldFunction - CREATE_IN_PROGRESS AWS::Lambda::Function HelloWorldFunction Resource creation Initiated CREATE_COMPLETE AWS::Lambda::Function HelloWorldFunction - CREATE_IN_PROGRESS AWS::ApiGateway::RestA ServerlessRestApi - pi CREATE_IN_PROGRESS AWS::ApiGateway::RestA ServerlessRestApi Resource creation pi Initiated CREATE_COMPLETE AWS::ApiGateway::RestA ServerlessRestApi - pi CREATE_IN_PROGRESS AWS::Lambda::Permissio HelloWorldFunctionHell - n oWorldPermissionProd CREATE_IN_PROGRESS AWS::ApiGateway::Deplo ServerlessRestApiDeplo - yment yment47fc2d5f9d CREATE_IN_PROGRESS AWS::Lambda::Permissio HelloWorldFunctionHell Resource creation n oWorldPermissionProd Initiated CREATE_IN_PROGRESS AWS::ApiGateway::Deplo ServerlessRestApiDeplo Resource creation yment yment47fc2d5f9d Initiated CREATE_COMPLETE AWS::ApiGateway::Deplo ServerlessRestApiDeplo - yment yment47fc2d5f9d CREATE_IN_PROGRESS AWS::ApiGateway::Stage ServerlessRestApiProdS - tage CREATE_IN_PROGRESS AWS::ApiGateway::Stage ServerlessRestApiProdS Resource creation tage Initiated CREATE_COMPLETE AWS::ApiGateway::Stage ServerlessRestApiProdS - tage CREATE_COMPLETE AWS::Lambda::Permissio HelloWorldFunctionHell - n oWorldPermissionProd CREATE_COMPLETE AWS::CloudFormation::S sam-app - tack ------------------------------------------------------------------------------------------------- CloudFormation outputs from deployed stack ------------------------------------------------------------------------------------------------- Outputs ------------------------------------------------------------------------------------------------- Key HelloWorldFunctionIamRole Description Implicit IAM Role created for Hello World function Value arn:aws:iam::012345678910:role/sam-app-HelloWorldFunctionRole-JFML1JOKHJ71 Key HelloWorldApi Description API Gateway endpoint URL for Prod stage for Hello World function Value https://endlwiqqod.execute-api.us-west-2.amazonaws.com/Prod/hello/ Key HelloWorldFunction Description Hello World Lambda Function ARN Value arn:aws:lambda:us-west-2:012345678910:function:sam-app-HelloWorldFunction- kyg6Y2iNRUPg ------------------------------------------------------------------------------------------------- Successfully created/updated stack - sam-app in us-west-2

Weitere Informationen

Weitere Informationen zur Verwendung des AWS SAMCLI sam deploy Befehls finden Sie in den folgenden Abschnitten: