

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Infrastructure Composer에서 카드를 연결하는 예제
<a name="using-composer-connecting-examples"></a>

이 섹션의 예제를 사용하여 Infrastructure Composer에서 카드를 연결하는 방법을 이해합니다.

## Amazon Simple Storage Service(Amazon S3) 버킷에 항목이 배치될 때 AWS Lambda 함수 호출
<a name="using-composer-connecting-examples-example1"></a>

이 예제에서는 **Amazon S3 버킷** 카드가 **Lambda 함수** 카드에 연결됩니다. Amazon S3 버킷에 항목이 배치되면 함수가 호출됩니다. 그런 다음 함수를 사용하여 항목을 처리하거나 애플리케이션에서 다른 이벤트를 트리거할 수 있습니다.

![Amazon S3 버킷 리소스의 오른쪽 포트에서 Lambda 함수 리소스의 왼쪽 포트로의 연결입니다.](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_use_05.png)


이 상호 작용을 수행하려면 함수에 대한 이벤트를 정의해야 합니다. Infrastructure Composer는 다음과 같이 프로비저닝합니다.

```
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyBucket:
    Type: AWS::S3::Bucket
    ...
  MyBucketBucketPolicy:
    Type: AWS::S3::BucketPolicy
    ...
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      ...
      Events:
        MyBucket:
          Type: S3
          Properties:
            Bucket: !Ref MyBucket
            Events:
              - s3:ObjectCreated:* # Event that triggers invocation of function
              - s3:ObjectRemoved:* # Event that triggers invocation of function
```

## Lambda 함수에서 Amazon S3 버킷 호출
<a name="using-composer-connecting-examples-example2"></a>

이 예제에서는 **Lambda 함수** 카드가 **Amazon S3 버킷** 카드를 호출합니다. Lambda 함수를 사용하여 Amazon S3 버킷의 항목에 대해 CRUD 작업을 수행할 수 있습니다.

![Lambda 함수 리소스의 오른쪽 포트에서 Amazon S3 버킷 리소스의 왼쪽 포트로의 연결입니다.](http://docs.aws.amazon.com/ko_kr/infrastructure-composer/latest/dg/images/aac_use_06.png)


이 상호 작용에는 Infrastructure Composer에서 프로비저닝한 다음이 필요합니다.
+ Lambda 함수가 Amazon S3 버킷과 상호 작용하도록 허용하는 IAM 정책입니다.
+ Lambda 함수의 동작에 영향을 미치는 환경 변수입니다.

```
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyBucket:
    Type: AWS::S3::Bucket
    ...
  MyBucketBucketPolicy:
    Type: AWS::S3::BucketPolicy
    ...
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      ...
      Environment:
        Variables:
          BUCKET_NAME: !Ref MyBucket
          BUCKET_ARN: !GetAtt MyBucket.Arn
      Policies:
        - S3CrudPolicy:
          BucketName: !Ref MyBucket
```