

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在基础设施编辑器的可视化画布上连接卡片
<a name="reference-navigation-gestures-connect"></a>

使用本主题来了解如何在基础架构编排器中连接卡片。本节包括有关连接增强型组件卡和标准组件卡的详细信息。它还提供了一些示例，说明了连接卡的不同方式。

## 连接增强型组件卡
<a name="reference-navigation-gestures-connect-enhanced"></a>

在增强型组件卡上，端口可直观地识别可以连接的位置。
+ 卡片右侧的端口表示该卡有机会调用另一张卡。
+ 卡片左侧的端口表示该卡有机会被另一张卡调用。

通过单击一张卡的右侧端口，然后将其拖动到另一张卡的左侧端口上，将卡片连接在一起。

![连接到 Lambda 函数的 API Gateway 卡。](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_use_con_02.png)


创建连接时，将显示一条消息，告知您连接是否已成功建立。选择消息以查看基础架构编排器更改了哪些内容以配置连接。如果连接失败，则可以选择**模板视图**手动更新基础架构代码以配置连接。
+ 成功后，单击消息以查看 “**更改” 检查器**。在这里，您可以看到基础设施编排器修改了哪些内容以配置您的连接。
+ 失败时，将显示一条消息。您可以选择 “**模板” 视图**并手动更新基础设施代码以配置连接。

![从屏幕底部打开 Change Inspector。](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_use_ci_02.gif)


当您将增强的组件卡连接在一起时，Infrastructure Composer 会自动在您的模板中创建基础架构代码，以便在资源之间配置事件驱动的关系。

## 连接标准组件卡（标准 IaC 资源卡）
<a name="reference-navigation-gestures-connect-standard"></a>

标准 IaC 资源卡不包括用于与其他资源建立连接的端口。在[配置卡片](using-composer-standard-cards.md)期间，您可以在应用程序的模板中指定事件驱动的关系，Infrastructure Composer 将自动检测这些连接，并在卡片之间用虚线将它们可视化。以下是标准组件卡和增强组件卡之间的连接示例：

![连接到增强型组件卡的标准组件卡。](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_use_con_04.png)


以下示例显示了如何将 Lambda 函数与 Amazon API Gateway rest API 连接：

```
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  MyApi:
    Type: 'AWS::ApiGateway::RestApi'
    Properties:
      Name: MyApi

  ApiGatewayMethod:
    Type: 'AWS::ApiGateway::Method'
    Properties:
      HttpMethod: POST  # Specify the HTTP method you want to use (e.g., GET, POST, PUT, DELETE)
      ResourceId: !GetAtt MyApi.RootResourceId
      RestApiId: !Ref MyApi
      AuthorizationType: NONE
      Integration:
        Type: AWS_PROXY
        IntegrationHttpMethod: POST
        Uri: !Sub
          - arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunctionArn}/invocations
          - { LambdaFunctionArn: !GetAtt MyLambdaFunction.Arn }
      MethodResponses:
        - StatusCode: 200

  MyLambdaFunction:
    Type: 'AWS::Lambda::Function'
    Properties:
      Handler: index.handler
      Role: !GetAtt LambdaExecutionRole.Arn
      Runtime: nodejs14.x
      Code:
        S3Bucket: your-bucket-name
        S3Key: your-lambda-zip-file.zip

  LambdaExecutionRole:
    Type: 'AWS::IAM::Role'
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: lambda.amazonaws.com
            Action: 'sts:AssumeRole'
      Policies:
        - PolicyName: LambdaExecutionPolicy
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Effect: Allow
                Action:
                  - 'logs:CreateLogGroup'
                  - 'logs:CreateLogStream'
                  - 'logs:PutLogEvents'
                Resource: 'arn:aws:logs:*:*:*'
              - Effect: Allow
                Action:
                  - 'lambda:InvokeFunction'
                Resource: !GetAtt MyLambdaFunction.Arn
```

在上面的示例中，下面列出的代码片段`Integration:`指定了连接两张卡片的事件驱动关系。`ApiGatewayMethod:`