채널 프로세서 설정하기 - Amazon Chime SDK

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

채널 프로세서 설정하기

채널 흐름을 사용하려면 먼저 사용 사례에 맞는 사전 처리를 처리할 프로세서 Lambda 함수를 생성해야 합니다. 예를 들어 메시지 내용 또는 메타데이터를 업데이트하거나, 메시지를 거부하여 전송되지 않도록 하거나, 원본 메시지가 전달되도록 할 수 있습니다.

필수 조건
  • Lambda 함수는 와 AWS 동일한 계정 및 지역에 있어야 합니다. AWS AppInstance

간접 호출 권한 부여하기

Amazon Chime SDK 서비스에 Lambda 리소스를 호출하여 메시지를 검토할 수 있는 권한을 부여해야 합니다. 권한에 대한 자세한 내용은 AWS Lambda에서 리소스 기반 정책 사용을 참조하세요. 예:

주체: "messaging.chime.amazonaws.com"

조치: 람다: InvokeFunction

효과: 허용

AWSSourceAccount: 귀하의 AWS AccountId.

AWS: SourceArn: "arn:aws:chime:region:AWS AccountId: appInstance/"

참고

특정 앱 인스턴스 ID를 제공하여 프로세서를 호출하거나 와일드카드를 사용하여 계정의 모든 Amazon Chime SDK 앱 인스턴스가 프로세서를 호출하도록 허용할 수 있습니다.

콜백 권한 부여하기

또한 프로세서 Lambda 함수가 ChannelFlowCallback API를 호출하도록 허용해야 합니다. 이 작업에 대한 자세한 내용은 AWS Lambda 개발자 안내서AWS Lambda 실행 역할 항목을 참조하세요.

Lambda 함수의 실행 역할에 인라인 정책을 추가할 수 있습니다. 이 예제에서는 프로세서가 ChannelFlowCallback API를 호출할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "chime:ChannelFlowCallback" ], "Resource": [ "arn:aws:chime:Region:AwsAccountId:appInstance/*" ] } ] }
참고

Lambda 함수에 대한 모범 사례를 따르세요. 자세한 내용은 다음 주제를 참조하세요.

프로세서 Lambda 함수 호출하기

사용자가 메시지를 보내면 다음 입력 요청이 프로세서 Lambda 함수를 호출합니다.

{ "EventType": "string" "CallbackId": "string" "ChannelMessage": { "MessageId": "string", "ChannelArn": "string", "Content": "string", "Metadata": "string", "Sender":{ "Arn": "string", "Name": "string" }, "Persistence": "string", "LastEditedTimestamp": "string", "Type": "string", "CreatedTimestamp": "string", } }
EventType

프로세서로 전송되는 이벤트입니다. 값은 CHANNEL_MESSAGE_EVENT 상수입니다.

CallbackId

프로세서에서 ChannelFlowCallback API를 호출할 때 사용되는 토큰입니다.

ChannelMessage

ChannelArn채널의 ARN입니다.

Content   처리할 메시지 내용

CreatedTimestamp메시지가 생성된 시간

LastEditedTimestamp메시지가 편집된 시간

MessageId메시지 식별자

Metadata   처리할 메시지 메타데이터

Persistence   백엔드에서 메시지가 지속될지 여부를 제어하는 부울입니다. 유효한 값: PERSISTENT | NON_PERSISTENT

Sender   메시지를 보낸 사람입니다. 유형: identity개체.

메시지 유형을 입력합니다. ChannelFlowSTANDARD메시지 유형만 지원합니다. 유효한 값: STANDARD

프로세서 함수는 각 메시지에 대해 다음을 결정합니다.

  • 메시지 콘텐츠, 메타데이터 또는 둘 다를 업데이트할지 여부

  • 메시지를 거부할지 여부

  • 메시지를 변경하지 않고 그대로 둘지 여부

처리가 완료되면 프로세서 Lambda 함수는 메시지를 모든 수신자에게 보낼 수 있도록 Amazon Chime SDK 메시징 서비스에 결과를 다시 전송합니다. 프로세서 Lambda 함수가 결과를 다시 보낼 때까지 메시지 상태는 PENDING으로 표시됩니다. 프로세서 Lambda 함수는 48시간 이내에 결과를 다시 전송해야 합니다. 이후 메시지 전송은 보장하지 않으며 ChannelFlowCallback API에서 금지된 예외 오류 메시지가 발생합니다. 결과를 다시 보내려면 ChannelFlowCallback API를 호출하세요.