LoginSignup
0
0

AmazonConnect × Salesforce 連携をセットアップしてトラブルシュートした話 その3 (コンタクト追跡レコード(CTR)のセットアップ)

Last updated at Posted at 2022-10-27

コンタクト追跡レコード.JPG

前提条件

Saleforce API Version : v55.0
serverlessrepo-AmazonConnectSalesforceLambda : 5.19.0
この記事は、2022/10頃に書かれています。

AmazonConnectのGUIの問題(その内VerUpで解消されるかも?)だったり、自分の理解不足の問題だったりするので、備忘以外の何物でもないかもしれません。

同じハマり方をした人に届いたらいいな?と自分への備忘も兼ねて

トラブルの内容

公式のインストール手順書は下記の通り

前提として

の有効化が必要である。

この手順通りに設定してもデータ連携ができなかった。というのが、今回の記事の主旨になります。

初見の視点で手順書からは分かりにくい前提や、躓きやすい事を、備忘録として書き残しておきます。

問題の内容

今回は、エラーメッセージらしきエラーはありません。

  • Firehoseでのストリーミング出力設定から、DataStreamへの切り替えがGUIで出来ない?(疑惑)
  • コンタクトチャネル分析(ContactLens)のDataStreamとコンタクト追跡レコード(CTR)のDataStreamは共用できない

後者の、『DataStreamは共用できない』は、それ以上でも、それ以下でもないので、後述は省略します。
(しいて言えば、コンタクト追跡レコード(CTR)のデータ連携は、Firehose→S3トラガー式の連携も提供して欲しいとAWSへ要望を出すか、提供されたLambdaを元に自作してしまうか、、、、なレベル)

AmazonConnect_CTR検証.JPG

CLI 調査に必要なコマンドのドキュメント詳細の在処

  • 現状の設定情報確認をする

  • CLIからストリームを紐づける

  • CLIからストリーム紐づけを解除する

最後に信じるべきは、GUIではなくCLIである。久々にコレを痛感させられた出来事

検証( 未設定 → Firehose )への切り替え

AmazonConnect_CTR検証01.JPG

AmazonConnect_CTR検証02.JPG

未設定の状態からFirehose経由の出力するのは問題なし

aws connect list-instance-storage-configs --instance-id AmazonConnectインスタンスID  --resource-type CONTACT_TRACE_RECORDS
{
    "StorageConfigs": [
        {
            "AssociationId": "自動採番",
            "StorageType": "KINESIS_FIREHOSE",
            "KinesisFirehoseConfig": {
                "FirehoseArn": "arn:aws:firehose:ap-northeast-1:AWSアカウントID:deliverystream/Firehoseストリーム名"
            }
        }
    ]
}

検証( Firehose → DataStream )への切り替え

AmazonConnect_CTR検証03.JPG

CLIで設定情報を確認すると。。。

aws connect list-instance-storage-configs --instance-id AmazonConnectインスタンスID  --resource-type CONTACT_TRACE_RECORDS
{
    "StorageConfigs": []
}

何も割当たってない。。。。
『ちょっ、まっ!』コマンドの結果を見て、驚きの声が隠せませんでした。
(気が付くまでに結構な時間が溶けた)
勿論、このままでは『コンタクト追跡レコード』のデータ連携は出来ません。

なので、GUIでの設定は諦めて、CLIで設定をかけます。

ストリーム割りてのコマンド実行と結果

aws connect associate-instance-storage-config --instance-id AmazonConnectインスタンスID --resource-type CONTACT_TRACE_RECORDS --storage-config StorageType=KINESIS_STREAM,KinesisStreamConfig={StreamArn=arn:aws:kinesis:ap-northeast-1:AWSアカウントID:stream/ストリーム名}

{
    "AssociationId": "自動採番"
}

設定情報の確認

aws connect list-instance-storage-configs --instance-id AmazonConnectインスタンスID  --resource-type CONTACT_TRACE_RECORDS
{
    "StorageConfigs": [
        {
            "AssociationId": "自動採番",
            "StorageType": "KINESIS_STREAM",
            "KinesisStreamConfig": {
                "StreamArn": "arn:aws:kinesis:ap-northeast-1:AWSアカウントID:stream/ストリーム名"
            }
        }
    ]
}

ふぅ、CLIなら無事に設定がかかるようです。
CLIで設定をかけたら、無事にSalesforceへデータ連携も出来ました。

検証( DataStream → Firehose )への切り替え

こちらは、どうでしょうか、、、

AmazonConnect_CTR検証04.JPG

GUIで再度割り当てて、CLIで設定内容を確認します。

設定情報の確認

aws connect list-instance-storage-configs --instance-id AmazonConnectインスタンスID  --resource-type CONTACT_TRACE_RECORDS
{
    "StorageConfigs": [
        {
            "AssociationId": "自動採番",
            "StorageType": "KINESIS_FIREHOSE",
            "KinesisFirehoseConfig": {
                "FirehoseArn": "arn:aws:firehose:ap-northeast-1:AWSアカウントID:deliverystream/Firehoseストリーム名"
            }
        }
    ]
}

こちらの場合は、大丈夫のようですね。

まとめ

  • コンタクト追跡レコードは、一度でもFirehose出力の設定をかけるとCLIを使わないとDataStreamへの変更ができない
  • Firehoseへの出力設定は、GUIを利用して設定することが可能

GUIで切り替えられるんだったら、Firehoseの出力も試してみるか、、、と安易な気持ちで試したらDataStream連携への設定に戻らなくなって困ったけど、何とかなった話しでした。

おまけ(CLIを叩くのに付与したロールとポリシー)

ほぼほぼデバックの為のCLI実行だったので。。。

  • AmazonConnect_FullAccess(組み込みポリシー)
  • カスタムポリシー
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "iam:PutRolePolicy",
            "Resource": "arn:aws:iam::AWSアカウントID:role/*"
        }
    ]
}

を付与して実行しました。
ストレージ系の割当変更の実行には、"iam:PutRolePolicy"も必要なようです。

AmazonConnect トラブルシュートシリーズ

AWSの相談・お困りごとありましたら、、、

AWSの活用方法や、お困りごとの相談、随時、お仕事の受付しております。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0