

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 呼叫 Amazon Chime SDK 的分析處理器和輸出目的地
<a name="call-analytics-processor-and-output-destinations"></a>

 每個媒體洞見管道組態只能指定唯一元素一次。所有處理器和接收器都必須位於相同的 AWS 帳戶中，而且您必須在與您呼叫的端點相同的 AWS 區域中建立它們。例如，如果您使用 Amazon Chime SDK 媒體管道的`us-east-1`端點，則無法從 `us-west-2`區域傳遞 Kinesis Data Stream。

展開每個區段以取得每個目的地的相關資訊。

## Amazon Transcribe Call Analytics 處理器目的地
<a name="amazon-transcribe-call-analytics-processor"></a>

支援的接收器：`KinesisDataStreamSink`。

您無法將此處理器與 Amazon Transcribe 處理器結合。如需 Amazon Transcribe Call Analytics 的詳細資訊，請參閱《*Amazon Transcribe 開發人員指南*》中的[即時通話分析](https://docs.aws.amazon.com/transcribe/latest/dg/call-analytics-streaming.html)。如果您在 `AmazonTranscribeCallAnalyticsProcessorConfiguration` API [呼叫中包含 以啟用通話後分析](https://docs.aws.amazon.com/transcribe/latest/dg/tca-post-call.html)，當媒體洞察管道停止且處理完成時，您會在指定的 Amazon S3 位置收到成品。 `PostCallAnalyticsSettings`

**注意**  
如果您暫停管道超過 35 秒，然後繼續，通話後成品會在 Amazon S3 儲存貯體中具有不同工作階段 IDs 的個別檔案中產生。

通話後成品包括分析 JSON 檔案和錄音 WAV 或 Opus 檔案。在中繼資料區段`onetimeMetadata`中，每個 Amazon Transcribe 呼叫分析通話後工作階段的修訂後 （如果您啟用內容修訂） 和非編輯記錄檔案的 Amazon S3 儲存貯體 URL 會傳送至 Kinesis Data Stream 一次。 Amazon Transcribe 

使用 Amazon Transcribe 呼叫分析的呼叫分析會從 Kinesis Video Stream 取得音訊資料輸入。
+ 支援的媒體編碼：PCM 簽署的 16 位元小端音訊。
+ 支援的媒體取樣率：介於 8，000 Hz 和 48，000 Hz 之間。

`StreamConfiguration` Amazon Transcribe Analytics 程序的 輸入：
+ 您必須`KinesisVideoStreamArn`為每個串流指定 。
+ （選用） KVS 會在指定片段之後使用 區塊`FragmentNumber`啟動呼叫分析任務。如果未提供，則會在 Kinesis 影片串流上使用最新的區塊。
+ `StreamChannelDefinition` 定義誰在說話。Amazon Transcribe 呼叫分析需要雙聲道音訊。當您呼叫 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html) API 時，必須指定哪個發言者位於哪個頻道上。例如，如果您的客服人員先說話，您可以將 `ChannelId` 設定為 `0` 以表示第一個頻道，並將 `ParticipantRole` 設定為 `AGENT` 以表示客服人員正在說話。

**注意**  
當您使用 Voice Connector 建立`MediaInsightsPipeline`具有 Amazon Transcribe 呼叫分析處理器的 時，語音連接器帳戶腿部音訊為 ，`AGENT`而 PSTN 腿部音訊`CUSTOMER`為 `ParticipantRole`。  
對於語音連接器 SIPREC，我們依賴 SIPREC 中繼資料。在大多數情況下，具有最低語義值的串流標籤會被視為 `AGENT`。

下列範例顯示一個雙聲道音訊串流的 Kinesis Video Stream 輸入。

```
"StreamChannelDefinition" : {
    "NumberOfChannels" : 2
    "ChannelDefinitions": [
        {
            "ChannelId": 0,
            "ParticipantRole": "AGENT"
        },
        {
            "ChannelId": 1,
            "ParticipantRole": "CUSTOMER"
        }
    ]
}
```

 相反地，以下範例顯示來自兩個不同 Kinesis Video 串流的兩個單輸入。

```
KVS-1:
    "StreamChannelDefinition" : {
        "NumberOfChannels"  : 1
        "ChannelDefinitions": [
            {
                "ChannelId": 0,
               "ParticipantRole": "AGENT"
            }
        ]
    }
KVS-2:
    "StreamChannelDefinition" : {
        "NumberOfChannels"  : 1
        "ChannelDefinitions": [
            {
                "ChannelId": 1,
               "ParticipantRole": "CUSTOMER"
            }
        ]
    }
```

## Amazon Transcribe 呼叫分析輸出
<a name="amazon-transcribe-call-analytics-output"></a>

 每個 Amazon Transcribe 記錄都包含 `UtteranceEvent`或 `CategoryEvent`，但不能同時包含兩者。 `CategoryEvents` 具有 `detail-type`的 `TranscribeCallAnalyticsCategoryEvent`。

下列範例顯示 Amazon Transcribe 的一次性中繼資料輸出格式。

```
{
    "time": "string", // ISO8601 format
    "service-type": "CallAnalytics",
    "detail-type": "CallAnalyticsMetadata",
    "mediaInsightsPipelineId": "string",
    "metadata": "string" // JSON encoded string of the metadata object
}

// metadata object
{
    "voiceConnectorId": "string",
    "callId": "string",
    "transactionId": "string",
    "fromNumber": "string",
    "toNumber": "string",
    "direction": "string",
    "oneTimeMetadata": "string" // JSON encoded string of oneTimeMetadata object
}
 
// onetimeMetadata object
{
    "inviteHeaders": "string", // JSON encoded string of SIP Invite headers key-value pair
    "siprecMetadata": "string", // siprec metadata in XML 
    "siprecMetadataJson": "string", // siprec metadata in JSON (converted from above XML) 
    
    // If PostcallSettings are enabled for Amazon Transcribe Call Analytics
    "s3RecordingUrl": "string", 
    "s3RecordingUrlRedacted": "string"
}
 
// inviteHeaders object
{
    "string": "string"
}
```

 下列範例顯示 Amazon Transcribe Call Analytics 輸出格式。

```
{
    "time": "string", // ISO8601 format
    "service-type": "CallAnalytics",
    "detail-type": "TranscribeCallAnalytics",
    "mediaInsightsPipelineId": "string",
    "metadata": {
        "voiceConnectorId": "string",
        "callId": "string",
        "transactionId": "string",
        "fromNumber": "string",
        "toNumber": "string",
        "direction": "string"
    },
    "UtteranceEvent": {
        "UtteranceId": "string",
        "ParticipantRole": "string",
        "IsPartial": boolean,
        "BeginOffsetMillis": number,
        "EndOffsetMillis": number,
        "Transcript": "string",
        "Sentiment": "string",
        "Items": [{
            "Content": "string",
            "Confidence": number,
            "VocabularyFilterMatch": boolean,
            "Stable": boolean,
            "ItemType": "string",
            "BeginOffsetMillis": number,
            "EndOffsetMillis": number,
        }, ]
        "Entities": [{
            "Content": "string",
            "Confidence": number,
            "Category": "string", // Only PII is supported currently
            "Type": "string",
            "BeginOffset": number,
            "EndOffset": number,
        }, ],
        "IssuesDetected": [{
            "CharacterOffsets": {
                "Begin": number,
                "End": number
            }
        }]
    },
    "CategoryEvent": {
        "MatchedCategories": ["string"],
        "MatchedDetails": {
            "string": {
                "TimestampRanges": [{
                    "BeginOffsetMillis": number,
                    "EndOffsetMillis": number
                }]
            }
        }
    }
}
```

## Amazon Chime SDK Voice Connector 串流更新中繼資料
<a name="cvc-stream-update-metadata"></a>

如果呼叫分析組態與 Amazon Chime SDK Voice Connector 相關聯，則在有 Voice Connector [串流更新時，將會傳送下列 Voice Connector](https://docs.aws.amazon.com/chime-sdk/latest/ag/automating-chime-with-cloudwatch-events.html) Update 承載。

下列範例顯示 Amazon Transcribe 處理器和 Transcribe Call Analytics 處理器的更新中繼資料格式。

```
{
    "time": "string", // ISO8601 format
    "service-type": "CallAnalytics",
    "detail-type": "CallAnalyticsMetadata",
    "callevent-type": "Update",
    "metadata": "string" // JSON encoded string of the metadata object
}

// metadata object
{
    "voiceConnectorId": "string",
    "callId": "string",
    "transactionId": "string",
    "fromNumber": "string",
    "toNumber": "string",
    "direction": "string",
    "oneTimeMetadata": "string" // JSON encoded string of oneTimeMetadata object
}
 
// onetimeMetadata object
{
    "sipHeaders": "string", // JSON encoded string of SIP Invite headers key-value pair
    "siprecMetadata": "string", // siprec metadata in XML 
    "siprecMetadataJson": "string" // siprec metadata in JSON (converted from above XML) 
}
 
// sipHeaders object
{
    "string": "string"
}
```

下列範例顯示 Call Analytics Amazon S3 錄製的更新中繼資料格式。

```
{
    "time": "string", // ISO8601 format
    "service-type": "CallAnalytics",
    "detail-type": "Recording",
    "callevent-type": "Update",
    "metadata": "string" // JSON encoded string of the metadata object
}

// metadata object
{
    "voiceConnectorId": "string",
    "callId": "string",
    "transactionId": "string",
    "fromNumber": "string",
    "toNumber": "string",
    "direction": "string",
    "oneTimeMetadata": "string" // JSON encoded in string of oneTimeMetadata object
}

// onetimeMetadata object
{
    "sipHeaders": "string", // JSON encoded string of SIP Invite headers key-value pair
    "siprecMetadata": "string", // siprec metadata in XML 
    "siprecMetadataJson": "string" // siprec metadata in JSON (converted from above XML) 
}

// sipHeaders object
{
    "string": "string"
}
```

## SIP 呼叫錄製中繼資料
<a name="sip-update-metadata"></a>

下列範例顯示記錄 Alice 和 Bob 之間 SIP 呼叫的中繼資料。兩位參與者都會傳送和接收音訊和視訊。為了簡化，此範例只有 SIP 和 SDP 的程式碼片段，而 SRC 會將每個參與者的串流記錄到 SRS，而不會混合。

```
INVITE sip:recorder@example.com SIP/2.0
   Via: SIP/2.0/TCP src.example.com;branch=z9hG4bKdf6b622b648d9
   From: <sip:2000@example.com>;tag=35e195d2-947d-4585-946f-09839247
   To: <sip:recorder@example.com>
   Call-ID: d253c800-b0d1ea39-4a7dd-3f0e20a
   Session-ID: ab30317f1a784dc48ff824d0d3715d86
    ;remote=00000000000000000000000000000000
   CSeq: 101 INVITE
   Max-Forwards: 70
   Require: siprec
   Accept: application/sdp, application/rs-metadata,
   application/rs-metadata-request
   Contact: <sip:2000@src.example.com>;+sip.src
   Content-Type: multipart/mixed;boundary=boundary
   Content-Length: [length]

   Content-Type: application/SDP
   ...
   m=audio 49170 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
   a=label:96
   a=sendonly
   ...
   m=video 49174 RTP/AVPF 96
   a=rtpmap:96 H.264/90000
   a=label:97
   a=sendonly
   ...
   m=audio 51372 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
   a=label:98
   a=sendonly
   ...
   m=video 49176 RTP/AVPF 96
   a=rtpmap:96 H.264/90000
   a=label:99
   a=sendonly
   ....

Content-Type: application/rs-metadata
Content-Disposition: recording-session

<?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording:1'>
  <datamode>complete</datamode>
        <group group_id="7+OTCyoxTmqmqyA/1weDAg==">
                <associate-time>2010-12-16T23:41:07Z</associate-time>
                <!-- Standardized extension -->
                <call-center xmlns='urn:ietf:params:xml:ns:callcenter'>
                        <supervisor>sip:alice@atlanta.com</supervisor>
                </call-center>
                <mydata xmlns='http://example.com/my'>
                        <structure>structure!</structure>
                        <whatever>structure</whatever>
                </mydata>
        </group>
        <session session_id="hVpd7YQgRW2nD22h7q60JQ==">
                <sipSessionID>ab30317f1a784dc48ff824d0d3715d86;
                                      remote=47755a9de7794ba387653f2099600ef2</sipSessionID>
                <group-ref>7+OTCyoxTmqmqyA/1weDAg==
                </group-ref>
                <!-- Standardized extension -->
                <mydata xmlns='http://example.com/my'>
                        <structure>FOO!</structure>
                        <whatever>bar</whatever>
                </mydata>
        </session>
        <participant
              participant_id="srfBElmCRp2QB23b7Mpk0w==">
                <nameID aor="sip:alice@atlanta.com">
                        <naSRCme xml:lang="it">Alice</name>
                </nameID>
                <!-- Standardized extension -->
                <mydata xmlns='http://example.com/my'>
                        <structure>FOO!</structure>
                        <whatever>bar</whatever>
                </mydata>
        </participant>
        <participant
               participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
                <nameID aor="sip:bob@biloxy.com">
                        <name xml:lang="it">Bob</name>
                </nameID>
                <!-- Standardized extension -->
                <mydata xmlns='http://example.com/my'>
                        <structure>FOO!</structure>
                        <whatever>bar</whatever>
                </mydata>
        </participant>
        <stream stream_id="UAAMm5GRQKSCMVvLyl4rFw=="
               session_id="hVpd7YQgRW2nD22h7q60JQ==">
                <label>96</label>
        </stream>
        <stream stream_id="i1Pz3to5hGk8fuXl+PbwCw=="
               session_id="hVpd7YQgRW2nD22h7q60JQ==">
                <label>97</label>
        </stream>
        <stream stream_id="8zc6e0lYTlWIINA6GR+3ag=="
               session_id="hVpd7YQgRW2nD22h7q60JQ==">
                <label>98</label>
        </stream>
        <stream stream_id="EiXGlc+4TruqqoDaNE76ag=="
               session_id="hVpd7YQgRW2nD22h7q60JQ==">
                <label>99</label>
        </stream>
        <sessionrecordingassoc session_id="hVpd7YQgRW2nD22h7q60JQ==">
            <associate-time>2010-12-16T23:41:07Z</associate-time>
        </sessionrecordingassoc>
        <participantsessionassoc
              participant_id="srfBElmCRp2QB23b7Mpk0w=="
              session_id="hVpd7YQgRW2nD22h7q60JQ==">
                <associate-time>2010-12-16T23:41:07Z</associate-time>
        </participantsessionassoc>
        <participantsessionassoc
               participant_id="zSfPoSvdSDCmU3A3TRDxAw=="
               session_id="hVpd7YQgRW2nD22h7q60JQ==">
                <associate-time>2010-12-16T23:41:07Z</associate-time>
        </participantsessionassoc>
        <participantstreamassoc
              participant_id="srfBElmCRp2QB23b7Mpk0w==">
                <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
                <send>UAAMm5GRQKSCMVvLyl4rFw==</send>
                <recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
                <recv>EiXGlc+4TruqqoDaNE76ag==</recv>
        </participantstreamassoc>
        <participantstreamassoc
               participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
                <send>8zc6e0lYTlWIINA6GR+3ag==</send>
                <send>EiXGlc+4TruqqoDaNE76ag==</send>
                <recv>UAAMm5GRQKSCMVvLyl4rFw==</recv>
                <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
        </participantstreamassoc>
</recording>
```

下列範例顯示當一個通話參與者保留另一個通話時，已更新的中繼資料。在此情況下， `participant_id srfBElmCRp2QB23b7Mpk0w==`只會接收媒體串流，而不會傳送任何媒體，因此會省略 `send` XML 元素。相反地， `participant_id zSfPoSvdSDCmU3A3TRDxAw==`會將媒體傳送至其他參與者，但不接收來自該參與者的媒體，因此會省略 `recv` XML 元素。

```
INVITE sip:recorder@example.com SIP/2.0
            Via: SIP/2.0/TCP src.example.com;branch=z9hG4bKdf6b622b648d9
      From: <sip:2000@example.com>;tag=35e195d2-947d-4585-946f-09839247
      To: <sip:recorder@example.com>
      Call-ID: d253c800-b0d1ea39-4a7dd-3f0e20a
      Session-ID: ab30317f1a784dc48ff824d0d3715d86
       ;remote=f81d4fae7dec11d0a76500a0c91e6bf6
      CSeq: 101 INVITE
      Max-Forwards: 70
      Require: siprec
      Accept: application/sdp, application/rs-metadata,
      application/rs-metadata-request
      Contact: <sip:2000@src.example.com>;+sip.src
      Content-Type: multipart/mixed;boundary=foobar
      Content-Length: [length]

      Content-Type: application/SDP
      ...
      m=audio 49170 RTP/AVP 0
      a=rtpmap:0 PCMU/8000
      a=label:96
      a=sendonly
      ...
      m=video 49174 RTP/AVPF 96
      a=rtpmap:96 H.264/90000
      a=label:97
      a=sendonly
      ...
      m=audio 51372 RTP/AVP 0
      a=rtpmap:0 PCMU/8000
      a=label:98
      a=sendonly
      ...
      m=video 49176 RTP/AVPF 96
      a=rtpmap:96 H.264/90000
      a=label:99
      a=sendonly
      ....

   Content-Type: application/rs-metadata
   Content-Disposition: recording-session

      <?xml version="1.0" encoding="UTF-8"?>
        <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
          <datamode>partial</datamode>
            <participantstreamassoc
             participant_id="srfBElmCRp2QB23b7Mpk0w==">
             <recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
             <recv>EiXGlc+4TruqqoDaNE76ag==</recv>
            </participantstreamassoc>
            <participantstreamassoc
             participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
              <send>8zc6e0lYTlWIINA6GR+3ag==</send>
              <send>EiXGlc+4TruqqoDaNE76ag==</send>
             </participantstreamassoc>
           </recording>
```

下列範例顯示通話繼續時的中繼資料更新。承載現在具有 `send`和 `recv` XML 元素。

```
INVITE sip:recorder@example.com SIP/2.0
      Via: SIP/2.0/TCP src.example.com;branch=z9hG4bKdf6b622b648d9
      From: <sip:2000@example.com>;tag=35e195d2-947d-4585-946f-09839247
      To: <sip:recorder@example.com>
      Call-ID: d253c800-b0d1ea39-4a7dd-3f0e20a
      Session-ID: ab30317f1a784dc48ff824d0d3715d86
       ;remote=f81d4fae7dec11d0a76500a0c91e6bf6
      CSeq: 101 INVITE
      Max-Forwards: 70
      Require: siprec
      Accept: application/sdp, application/rs-metadata,
      application/rs-metadata-request
      Contact: <sip:2000@src.example.com>;+sip.src
      Content-Type: multipart/mixed;boundary=foobar
      Content-Length: [length]

      Content-Type: application/SDP
      ...
      m=audio 49170 RTP/AVP 0
      a=rtpmap:0 PCMU/8000
      a=label:96
      a=sendonly
      ...
      m=video 49174 RTP/AVPF 96
      a=rtpmap:96 H.264/90000
      a=label:97
      a=sendonly
      ...
      m=audio 51372 RTP/AVP 0
      a=rtpmap:0 PCMU/8000
      a=label:98
      a=sendonly
      ...
      m=video 49176 RTP/AVPF 96
      a=rtpmap:96 H.264/90000
      a=label:99
      a=sendonly
      ....
    
   Content-Type: application/rs-metadata
   Content-Disposition: recording-session

      <?xml version="1.0" encoding="UTF-8"?>
        <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
          <datamode>partial</datamode>
            <participantstreamassoc
             participant_id="srfBElmCRp2QB23b7Mpk0w==">
             <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
             <send>UAAMm5GRQKSCMVvLyl4rFw==</send>
             <recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
             <recv>EiXGlc+4TruqqoDaNE76ag==</recv>
            </participantstreamassoc>
            <participantstreamassoc
             participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
              <send>8zc6e0lYTlWIINA6GR+3ag==</send>
              <send>EiXGlc+4TruqqoDaNE76ag==</send>
              <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
             <recv>UAAMm5GRQKSCMVvLyl4rFw==</recv>
             </participantstreamassoc>
           </recording>
```

## Amazon Transcribe 處理器目的地
<a name="amazon-transcribe-processors"></a>

支援的接收器：`KinesisDataStreamSink`。

您無法將此處理器與 Amazon Transcribe 呼叫分析結合。如需 Amazon Transcribe 輸入和輸出的詳細資訊，請參閱《Amazon [ Transcribe 開發人員指南》中的 Transcribe 串流音訊](https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html)。 *Amazon Transcribe *

使用 Amazon Transcribe 呼叫分析工作階段會從 Kinesis Video Stream 取得音訊資料輸入。
+ 支援的 MediaEncoding：PCM 已簽章的 16 位元小端音訊。
+ 支援的 MediaSampleRate 取樣率：介於 8，000 Hz 和 48，000 Hz 之間。

 `StreamConfiguration` Amazon Transcribe 處理器的 輸入：
+ 您必須`KinesisVideoStreamArn`為每個串流指定 。
+ （選用） KVS `FragmentNumber` - 在特定片段之後使用 區塊啟動呼叫分析任務。如果未提供，則會在 Kinesis Video Stream 上使用最新的可用區塊。
+ `StreamChannelDefinition` Amazon Transcribe 目前支援兩個聲道的音訊。您必須在執行時間 `NumberOfChannels`中指定 `StreamChannelDefinition`。此外，`ChannelId`如果您在兩個不同的頻道中傳送單聲道音訊，則必須傳遞 。在您的文字記錄中，聲道會指定標籤 `ch_0` 和 `ch_1`。下列範例顯示單一音訊頻道串流的 KVS 輸入。

```
"StreamChannelDefinition" : {"
    NumberOfChannels" : 1
}
```

 下列範例顯示兩個不同串流中兩個單音音訊輸入的 KVS 輸入。

```
KVS-1:
    "StreamChannelDefinition" : {
        "NumberOfChannels"  : 1
        "ChannelDefinitions": [
            {
                "ChannelId": 0
            }
        ]
    }
KVS-2:
    "StreamChannelDefinition" : {
        "NumberOfChannels"  : 1
        "ChannelDefinitions": [
            {
                "ChannelId": 1
            }
        ]
    }
```

**注意**  
對於`MediaInsightsPipeline`使用 Amazon Transcribe 處理器建立的 Voice Connector，會將 Voice Connector 帳戶腿部音訊指派給 ，`channel-0`並將 PSTN 腿部音訊指派給 `channel-1`。  
對於語音連接器 SIPREC，我們依賴 SIPREC 中繼資料。在大多數情況下，具有最低語義值的串流標籤會指派給 `channel-0`。  
對於 Amazon Transcribe 和 Amazon Transcribe 呼叫分析處理器，如果您傳遞兩個 Kinesis Video 串流，且每個串流都包含單一音訊通道，我們會在處理 Transcribe 或 Transcribe 呼叫分析資料之前，將這兩個頻道交錯至單一音訊串流。

## Amazon Transcribe 輸出
<a name="amazon-transcribe-output"></a>

下列範例顯示 Amazon Transcribe 的一次性中繼資料輸出格式。

```
{
    "time": "string", // ISO8601 format
    "service-type": "CallAnalytics",
    "detail-type": "CallAnalyticsMetadata",
    "mediaInsightsPipelineId": "string",
    "metadata": "string" // JSON encoded string of the metadata object
}

// metadata object
{
    "voiceConnectorId": "string",
    "callId": "string",
    "transactionId": "string",
    "fromNumber": "string",
    "toNumber": "string",
    "direction": "string",
    "oneTimeMetadata": "string" // JSON encoded string of oneTimeMetadata object
}
 
// onetimeMetadata object
{
    "inviteHeaders": "string", // JSON encoded string of SIP Invite headers key-value pair
    "siprecMetadata": "string", // siprec metadata in XML 
    "siprecMetadataJson": "string" // siprec metadata in JSON (converted from above XML) 
}
 
// inviteHeaders object
{
    "string": "string"
}
```

下列範例顯示 Amazon Transcribe 輸出格式。

```
{
    "time": "string", // ISO8601 format
    "service-type": "CallAnalytics",
    "detail-type": "Transcribe",
    "mediaInsightsPipelineId": "string",
    "metadata": {
        "voiceconnectorId": "string",
        "callId": "string",
        "transactionId": "string",
        "fromNumber": "string",
        "toNumber": "string",
        "direction": "string"
    }
    "TranscriptEvent": {
        "Transcript": {
            "Results": [{
                "Alternatives": [{
                    "Entities": [{
                        "Category": "string",
                        "Confidence": number,
                        "Content": "string",
                        "EndTime": number,
                        "StartTime": number,
                        "Type": "string"
                    }],
                    "Items": [{
                        "Confidence": number,
                        "Content": "string",
                        "EndTime": number,
                        "Speaker": "string",
                        "Stable": boolean,
                        "StartTime": number,
                        "Type": "string",
                        "VocabularyFilterMatch": boolean
                    }],
                    "Transcript": "string"
                }],
                "ChannelId": "string",
                "EndTime": number,
                "IsPartial": boolean,
                "LanguageCode": "string",
                "LanguageIdentification": [{
                    "LanguageCode": "string",
                    "Score": number
                }],
                "ResultId": "string",
                "StartTime": number
            }]
        }
    }
}
```

## 語音分析處理器目的地
<a name="voice-analytics-processor"></a>

 支援的接收器：`KinesisDataStreamSink`、`SnsTopicSink`、 `SqsQueueSink`和 `LambdaFunctionSink`。

 您可以結合此處理器與 Amazon Transcribe 通話分析處理器、Amazon Transcribe 處理器或通話錄音。您必須使用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_StartSpeakerSearchTask.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_StartSpeakerSearchTask.html)或 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_StartVoiceToneAnalysisTask.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_StartVoiceToneAnalysisTask.html) APIs來叫用語音分析處理器。如需使用語音分析的詳細資訊，請參閱[使用 Amazon Chime SDK 語音分析](https://docs.aws.amazon.com/chime-sdk/latest/dg/voice-analytics.html)。

## 使用 Kinesis Data Stream 做為接收器
<a name="kinesis-data-stream-destination"></a>

呼叫分析產生的 Kinesis Data Stream (KDS) 記錄包括媒體管道 ID、詳細資訊類型、中繼資料和處理器特定區段。如需有關從 Kinesis Data Stream 取用資料的資訊，請參閱《[Amazon Kinesis Streams 開發人員指南》中的從 Amazon Kinesis Data Streams 讀取資料](https://docs.aws.amazon.com/streams/latest/dev/building-consumers.html)。 *Amazon Kinesis * 若要使用此接收器建立組態，您必須具有指定串流的`kinesis:DescribeStream`許可。

 **中繼資料**

 產生的 KDS 記錄`metadata`區段包含 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html) API 呼叫`CallAnalyticsRuntimeMetadata`期間在 中指定的任何鍵值對。如果通話分析工作階段是由語音連接器啟動，中繼資料區段會自動填入下列參數：
+ `transactionId`
+ `fromNumber`
+ `toNumber`
+ `callId`
+ `voiceConnectorId`
+ `direction`

 除了上述參數之外，語音連接器起始通話分析工作階段的中繼資料區段也會填入包含下列項目`oneTimeMetadata`的欄位：
+ `inviteHeaders`
+ `siprecMetadata`

這只會在工作階段開始時發佈至 Kinesis Data Streams 一次，並具有 `detail-type`的 `CallAnalyticsMetadata`。

您可以在 中`MediaInsightsRuntimeMetadata`針對每個 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html) API 呼叫傳遞唯一識別符，以便唯一識別交付至 Kinesis Data Stream 的每個記錄來源。

## Amazon S3 通話錄音
<a name="amazon-s3-call-recording"></a>

 通話分析記錄會從 KVS 串流讀取音訊，將其記錄為音訊檔案，並將檔案上傳至指定的 Amazon S3 儲存貯體。記錄通話分析之後， 也會將通話中繼資料以及檔案位置傳送至 KDS。如果您啟用資料倉儲，呼叫中繼資料 （包括使用 SIPREC 時的 SIPREC 中繼資料） 會交付至一組 Parquet 資料表中的資料倉儲，供您查詢。

如同任何其他呼叫分析處理器，您必須先為管道建立組態。您可以使用 Amazon Chime SDK 主控台或 CLI 來建立組態。然後，您可以使用 CLI 來建立管道。如需使用主控台建立錄製組態的詳細資訊，請參閱本節[為 Amazon Chime SDK 建立通話分析組態](creating-ca-configuration.md)稍早的 。如需使用錄製工作流程的詳細資訊，請參閱本節[了解記錄 Amazon Chime SDK 呼叫的工作流程](recording-workflows.md)稍早的 。

 **使用 CLI 建立組態**

 執行以下命令：

```
aws chime-sdk-media-pipeline create-media-insights-pipeline-configuration --cli-input-json file://configuration.json 
```

 下列範例顯示僅啟用記錄的組態 JSON 檔案：

```
{
    "MediaInsightsPipelineConfigurationName": configuration_name,
    "ResourceAccessRoleArn": role_arn,
    "Elements": [
        {
            "KinesisDataStreamSinkConfiguration": {
                "InsightsTarget": KDS_arn //Where recording live metadata will be delivered.
            },
            "Type": "KinesisDataStreamSink"
        },
        {
            "S3RecordingSinkConfiguration": {
                "Destination": "arn:aws:s3:::kvs-recording-testing",
                "RecordingFileFormat": file_format // Specify "Opus" or "WAV" as the recording file format.
            },
            "Type": "S3RecordingSink"
        }         
    ]
}
```

請記得以下事項：
+ 若要透過 Kinesis Video Streams 啟用通話錄音，音訊應為 PCM 簽署的 16 位元小端。取樣率必須為 8KHz。
+ 建置器必須為 Kinesis Video Stream 設定足夠長的資料保留期，以確保透過呼叫分析保留和消耗片段。
+ 如果您啟用通話錄音，無論是單獨使用還是與其他處理器結合，都必須提供兩個 Kinesis Video Stream ARNs 進行錄音。通話錄音不支援單一立體聲音訊輸入。

## Amazon S3 通話記錄中繼資料輸出
<a name="s3-recording-metadata-output"></a>

下列範例顯示呼叫分析 Amazon S3 記錄的中繼資料輸出格式。

```
{
    "time": "string", // ISO8601 format
    "service-type": "CallAnalytics",
    "detail-type": "Recording",   
    "mediaInsightsPipelineId": "string",
    "s3MediaObjectConsoleUrl": "string",
    "recordingDurationSeconds": "number",
    "metadata": "string" // JSON encoded string of the metadata object
}

// metadata object
{
    "voiceConnectorId": "string",
    "callId": "string",
    "transactionId": "string",
    "fromNumber": "string",
    "toNumber": "string",
    "direction": "string",
    "startTime": "string", // ISO8601 format
    "endTime": "string", // ISO8601 format
    "oneTimeMetadata": "string" // JSON encoded in string of oneTimeMetadata object
}

// onetimeMetadata object
{
    "sipHeaders": "string", // JSON encoded string of SIP Invite headers key-value pair
    "siprecMetadata": "string", // siprec metadata in XML 
    "siprecMetadataJson": "string" // siprec metadata in JSON (converted from above XML) 
}

// sipHeaders object
{
    "string": "string"
}
```

## 啟用語音增強功能
<a name="voice-enhancement-sink"></a>

若要啟用語音增強功能，請在 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipelineConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipelineConfiguration.html) API 呼叫中包含 `VoiceEnhancementSinkConfiguration`元素。

此範例顯示典型的 元素。

```
{
  "Type":"VoiceEnhancementSink",
  "VoiceEnhancementSinkConfiguration": {
       "Disabled": Boolean (string) // FALSE ==> Voice Enhancement will be performed
}
```

若要更新組態，請將 `VoiceEnhancementSinkConfiguration`元素新增至 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_UpdateMediaInsightsPipelineConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_UpdateMediaInsightsPipelineConfiguration.html) API 呼叫。當您這麼做時，[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_GetMediaInsightsPipelineConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_GetMediaInsightsPipelineConfiguration.html)API 會在結果中包含 `VoiceEnhancementSinkConfiguration`元素。

此範例請求說明如何啟用語音增強功能和 Amazon S3 錄製。

```
POST /media-insights-pipeline-configurations HTTP/1.1
Content-type: application/json

{
   "MediaInsightsPipelineConfigurationName":"media_insights_configuration_name",
   "ResourceAccessRoleArn":"arn:aws:iam::account_id:role/resource_access_role",
   "Elements":[
      {
         "Type":"S3RecordingSink",
         "S3RecordingSinkConfiguration":{
            "Destination":"arn:aws:s3:::input_bucket_path",
            "RecordingFileFormat":"Wav"
         }
      },
      {
         "Type":"VoiceEnhancementSink",
         "VoiceEnhancementSinkConfiguration": {
            "disabled":"false"
         }
      }
   ],
   "ClientRequestToken":"client_request_token"
}
```

**注意**  
`VoiceEnhancementSink` 元素一律需要呼叫分析組態中的 `S3RecordingSink`元素。

# 將轉錄與 Amazon Chime SDK 的錄製接收器結合
<a name="combining-recording-transcription"></a>

您可以結合 Amazon Transcribe 和 Amazon Transcribe Call Analytics 處理器與 Amazon S3 錄音接收器。除了 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipelineConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipelineConfiguration.html) API 呼叫中的 Amazon Transcribe 處理器之外，建置器也可以使用 主控台傳遞 S3RecordingSinkConfiguration。

搭配 Amazon S3 錄音接收器，您可以使用 Amazon Transcribe 或 Amazon Transcribe Call Analytics 處理器，但不能同時使用兩者。除了錄製接收器之外，您還可以將語音分析新增至相同的組態，無論是否使用轉錄處理器。

**注意**  
您可以使用上述任何處理器啟用錄製。不過，如果您啟用 Amazon Transcribe Call Analytics 與 Amazon S3 通話錄音，您必須提供兩個 Kinesis 影片串流，而且會收到重複的錄音檔案，一個來自 Amazon Transcribe Call Analytics，另一個來自 Amazon S3 通話錄音。

請記得以下事項：
+ 您必須使用唯一的 `MediaInsightsPipelineConfigurationName`。
+ 如需 的相關資訊`ResourceAccessRoleArn`，請參閱本指南[使用 Amazon Chime SDK 的呼叫分析資源存取角色](call-analytics-resource-access-role.md)中的 。
+ `Destination` 值必須是 S3 路徑 ARN。Amazon S3 儲存貯體必須由相同的帳戶擁有。
+ 如果您搭配 Transcribe 和記錄使用組態來建立管道，則 暫停和繼續只會出現在 Kinesis Data 串流所產生的洞見中。KVS 串流中的所有資料都會記錄並上傳至 Amazon S3。
+ 如果組態除了錄製使用 Amazon 轉錄或轉錄通話分析 (TCA)，媒體洞察管道會即時提供轉錄或轉錄通話分析洞察，然後在通話結束時進行 Amazon S3 錄製。如果在呼叫分析期間轉錄服務失敗，S3 錄製任務仍會嘗試執行。相反地，Amazon S3 記錄失敗不會影響轉錄洞察，因為它在轉錄完成後執行。

此範例顯示具有 Amazon Transcribe 處理器和 Amazon S3 錄製接收器的組態。此範例也啟用部分結果穩定功能，這可以減少輸出的延遲，但可能會影響準確性。如需詳細資訊，請參閱《*Amazon Transcribe 開發人員指南*》中的[部分結果穩定](https://docs.aws.amazon.com/transcribe/latest/dg/streaming-partial-results.html#streaming-partial-result-stabilization)功能。

```
{
    "MediaInsightsPipelineConfigurationName": unique_configuration_name,
    "ResourceAccessRoleArn": role_arn,
    "Elements": [{
            "AmazonTranscribeProcessorConfiguration": {
                "ContentIdentificationType": "string",
                "ContentRedactionType": "string",
                "EnablePartialResultsStabilization": boolean, //Enables partial result stabilization. Can reduce latency. May impact accuracy. 
                "FilterPartialResults": boolean, //To control partial utterance events
                "LanguageCode": "string",
                "LanguageModelName": "string",
                "PartialResultsStability": "string",
                "PiiEntityTypes": "string",
                "ShowSpeakerLabel": boolean,
                "VocabularyFilterMethod": "string",
                "VocabularyFilterName": "string",
                "VocabularyName": "string"
            },
            "Type": "AmazonTranscribeProcessor"
        },
        {
            "KinesisDataStreamSinkConfiguration": {
                "InsightsTarget": KDS_arn //Where recording and insights live metadata will be delivered.
            },
            "Type": "KinesisDataStreamSink"
        },
        {
            "S3RecordingSinkConfiguration": {
                "Destination": S3_Arn,
                "RecordingFileFormat": file_format // Specify "Opus" or "WAV" as the recording file format.
            },
            "Type": "S3RecordingSink"
        }
    ]
}
```

# 針對 Amazon Chime SDK 使用 Amazon EventBridge 通知
<a name="using-eventbridge-notifications"></a>

Amazon Chime SDK 呼叫分析支援在媒體洞察管道的狀態變更，或符合呼叫分析即時警示條件時，將事件傳送至預設 EventBridge 匯流排。針對媒體洞察管道錯誤狀態更新，建議您設定 EventBridge 目標，以便在資源非同步失敗時通知您。通話分析通知具有 aws.chime 來源和各種詳細資訊類型，在下列各節中共用。如需詳細資訊，請參閱[「Amazon EventBridge 使用者指南」](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)。

**Topics**
+ [狀態更新](#status-updates)
+ [即時提醒](#realtime-alerts)

## 狀態更新
<a name="status-updates"></a>

 媒體洞察管道會在通話分析工作階段進行時傳送 EventBridge 通知，並成功結束或發生錯誤。在以下情況下，您會收到 EventBridge 通知，其中包含「Media Insights 狀態變更」詳細資訊類型：
+ 媒體洞見管道的狀態會變更。
+ 媒體洞見管道元素的狀態會變更。
+ 任何管道元素都會停止。
+ 任何管道元素都會失敗。

詳細資訊區段一律包含下列欄位：
+ `version`
+ `mediaInsightsPipelineArn`
+ `eventType`

如果媒體洞察管道包含多個元素，例如分析處理器和資料接收器，詳細資訊區段也會包含 `mediaInsightsPipelineElementStatuses` 欄位。此欄位表示管道中每個元素的狀態。每個管道元素的可能狀態可以是：
+ `NotStarted`
+ `InProgress`
+ `Stopped`
+ `Failed`

 詳細資訊區段也包含 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html) API 呼叫`MediaInsightsRuntimeMetadata`期間在 中指定的任何鍵值對。如果通話分析工作階段是由語音連接器啟動，中繼資料區段會自動填入下列參數：
+ `transactionId`
+ `fromNumber`
+ `toNumber`
+ `callId`
+ `voiceConnectorId`
+ `direction`

 每當媒體洞察管道包含單一元素時，可能會出現下列事件類型。展開每個區段以進一步了解。

### Amazon Chime SDK 媒體洞察正在進行中
<a name="insights-in-progress"></a>

此範例顯示典型的事件結構。

```
{
    "version": "0",
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number,
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "resources": [] 
    "detail": {
        "version": "0",
        "mediaInsightsPipelineArn": "string",
        "eventType": "chime:MediaInsightsInProgress",
        "version": "0",
        "callId": "string",
        "transactionId": "string",
        "fromNumber": "string",
        "toNumber": "string",
        "voiceConnectorId": "string", 
        "direction": "string"
    }
}
```

### Amazon Chime SDK 媒體洞察已暫停
<a name="insights-paused"></a>

此範例顯示典型的事件結構。

```
{
    "version": "0",
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number,
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "resources": [] 
    "detail": {
        "version": "0",
        "mediaInsightsPipelineArn": "string",
        "eventType": "chime:MediaInsightsPaused",
        "callId": "string",
        "transactionId": "string",
        "fromNumber": "string",
        "toNumber": "string",
        "voiceConnectorId": "string", 
        "direction": "string"
    }
}
```

### Amazon Chime SDK 媒體洞察已停止
<a name="insights-stoppped"></a>

此範例顯示典型的事件結構。

```
{
    "version": "0",
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number,
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "resources": [] 
    "detail": {
        "version": "0",
        "mediaInsightsPipelineArn": "string",
        "eventType": "chime:MediaInsightsStopped",
        "callId": "string",
        "transactionId": "string",
        "fromNumber": "string",
        "toNumber": "string",
        "voiceConnectorId": "string", 
        "direction": "string"
    }
}
```

### Amazon Chime SDK 媒體洞察暫時失敗
<a name="insights-temp-failure"></a>

表示服務遇到暫時失敗，並會嘗試重試。您不需要採取任何動作。

此範例顯示典型的事件結構。

```
{
    "version": "0",
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number,
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "resources": [] 
    "detail": {
        "version": "0",
        "mediaInsightsPipelineArn": "string",
        "eventType": "chime:MediaInsightsTemporaryFailure",
        "callId": "string",
        "transactionId": "string",
        "fromNumber": "string",
        "toNumber": "string",
        "voiceConnectorId": "string", 
        "direction": "string"
    }
}
```

### Amazon Chime SDK 媒體洞察永久故障
<a name="insights-perm-failure"></a>

表示需要您採取動作的失敗。使用 `failureReason`對問題進行疑難排解。典型失敗可能包括下列項目：
+ 資源存取角色的許可不足
+ 遺失或刪除的資源
+ 從 AWS 服務調節，呼叫 分析會代表您叫用，例如 Amazon Transcribe 或 Amazon Kinesis。
+ KVS 串流上的不相容媒體格式

此範例顯示典型的事件結構。

```
{
    "version": "0",
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number,
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "resources": [] 
    "detail": {
        "version": "0",
        "mediaInsightsPipelineArn": "string",
        "eventType": "chime:MediaInsightsPermanentFailure",
        "callId": "string",
        "transactionId": "string",
        "fromNumber": "string",
        "toNumber": "string",
        "voiceConnectorId": "string", 
        "direction": "string",
        "failureReason": "string"              
    }
}
```

**注意**  
此 `failureReason` 欄位為選用。例如，典型原因可能是 `Access denied when assuming resource access role`。

每當建立媒體洞見管道，或建立嘗試失敗時，Amazon Chime SDK Voice Connector 啟動的呼叫分析工作階段，可能會出現下列事件類型。展開每個區段以進一步了解。

### 已建立 Amazon Chime SDK 媒體洞察
<a name="vc-pipeline-created"></a>

此範例顯示典型的成功事件。

```
{
    "version": "0",
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number,
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "resources": [] 
    "detail": 
    {
        "version": "0",
        "mediaInsightsPipelineConfigurationArn": "string",
        "mediaInsightsPipelineArn": "string",
        "eventType": "chime:MediaInsightsCreated",
        "callId": "string",
        "transactionId": "string",
        "fromNumber": "string",
        "toNumber": "string",
        "voiceConnectorId": "string", 
        "direction": "string",
    }
}
```

### Amazon Chime SDK 媒體洞察建立失敗
<a name="vc-pipeline-failed"></a>

此範例顯示典型的失敗事件。

```
{
    "version": "0",
    "id": "string",
    "detail-type": "Media Insights State Change",     
    "source": "aws.chime", 
    "account": number,
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "resources": [] 
    "detail": 
    {
        "version": "0",
        "mediaInsightsPipelineConfigurationArn": "string",
        "eventType": "chime:MediaInsightsCreateFailed", 
        "callId": "string",
        "transactionId": "string",
        "fromNumber": "string",
        "toNumber": "string",
        "voiceConnectorId": "string", 
        "direction": "string",
        "failureOrigin": "Voice Connector",
        "httpStatusCode": "string",
        "failureReason": "string"
    }
}
```

當媒體洞察管道包含多個元素時，可能會出現下列事件類型。通知範例適用於 與 `AmazonTranscribeProcessor`結合使用`S3RecordingSink`。展開每個區段以進一步了解。

### AmazonTranscribeProcessor 正在進行中，且 S3RecordingSink 尚未啟動
<a name="processor-running-sink-not-started"></a>

此範例顯示典型的事件結構。

```
{
    "version": "0", 
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number, 
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": [],
    "detail": {
        "version": "0", 
        "mediaInsightsPipelineArn": "string", 
        "eventType": "chime:MediaInsightsInProgress",
        "mediaInsightsPipelineElementStatuses": [
            { 
                "type": "AmazonTranscribeProcessor", 
                "status": "InProgress",
                "updatedOn": 1686184070655             
            },
            { 
                "type": "S3RecordingSink", 
                "status": "NotStarted",
                "updatedOn": 1686184070655 
            }
        ] 
        "callId": "string", 
        "transactionId": "string", 
        "fromNumber": "string", 
        "toNumber": "string", 
        "voiceConnectorId": "string", 
        "direction": "string" 
    } 
}
```

### AmazonTranscribeProcessor 已成功且 S3RecordingSink 正在進行中
<a name="processor-success-sink-in-progress"></a>

此範例顯示典型的事件結構。

```
{
    "version": "0", 
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number, 
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": [],
    "detail": {
        "version": "0", 
        "mediaInsightsPipelineArn": "string", 
        "eventType": "chime:MediaInsightsInProgress",
        "mediaInsightsPipelineElementStatuses": [
            { 
                "type": "AmazonTranscribeProcessor", 
                "status": "Stopped",
                "updatedOn": 1686184070655             
            },
            { 
                "type": "S3RecordingSink", 
                "status": "InProgress",
                "updatedOn": 1686184070655 
            }
        ] 
        "callId": "string", 
        "transactionId": "string", 
        "fromNumber": "string", 
        "toNumber": "string", 
        "voiceConnectorId": "string", 
        "direction": "string" 
    } 
}
```

### AmazonTranscribeProcessor 失敗且 S3RecordingSink 正在進行中
<a name="processor-fail-sink-in-process"></a>

此範例顯示典型的事件結構。

```
{
    "version": "0", 
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number, 
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": [],
    "detail": {
        "version": "0", 
        "mediaInsightsPipelineArn": "string", 
        "eventType": "chime:MediaInsightsInProgress",
        "mediaInsightsPipelineElementStatuses": [
            { 
                "type": "AmazonTranscribeProcessor", 
                "status": "Failed",
                "updatedOn": 1686184070655             
            },
            { 
                "type": "S3RecordingSink", 
                "status": "InProgress",
                "updatedOn": 1686184070655 
            }
        ] 
        "callId": "string", 
        "transactionId": "string", 
        "fromNumber": "string", 
        "toNumber": "string", 
        "voiceConnectorId": "string", 
        "direction": "string" 
    } 
}
```

### AmazonTranscribeProcessor 失敗且 S3RecordingSink 成功
<a name="processor-fail-record-finish"></a>

此範例顯示典型的事件結構。

```
{
    "version": "0", 
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number, 
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": [],
    "detail": {
        "version": "0", 
        "mediaInsightsPipelineArn": "string", 
        "eventType": "chime:MediaInsightsPermanentFailure",
        "mediaInsightsPipelineElementStatuses": [
            { 
                "type": "AmazonTranscribeProcessor", 
                "status": "Failed",
                "updatedOn": 1686184070655             
            },
            { 
                "type": "S3RecordingSink", 
                "status": "Stopped",
                "updatedOn": 1686184070655 
            }
        ] 
        "callId": "string", 
        "transactionId": "string", 
        "fromNumber": "string", 
        "toNumber": "string", 
        "voiceConnectorId": "string", 
        "direction": "string",
        "failureReason": "string" 
    } 
}
```

### AmazonTranscribeProcessor 已成功且 S3RecordingSink 失敗
<a name="processor-success-recording-fail"></a>

此範例顯示典型的事件結構。

```
{
    "version": "0", 
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number, 
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": [],
    "detail": {
        "version": "0", 
        "mediaInsightsPipelineArn": "string", 
        "eventType": "chime:MediaInsightsPermanentFailure",
        "mediaInsightsPipelineElementStatuses": [
            { 
                "type": "AmazonTranscribeProcessor", 
                "status": "Stopped",
                "updatedOn": 1686184070655             
            },
            { 
                "type": "S3RecordingSink", 
                "status": "Failed",
                "updatedOn": 1686184070655 
            }
        ] 
        "callId": "string", 
        "transactionId": "string", 
        "fromNumber": "string", 
        "toNumber": "string", 
        "voiceConnectorId": "string", 
        "direction": "string",
        "failureReason": "string" 
    } 
}
```

### AmazonTranscribeProcessor 已暫停且 S3RecordingSink 尚未啟動
<a name="processor-pause-recording-no-start"></a>

此範例顯示典型的事件結構。

```
{
    "version": "0", 
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number, 
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": [],
    "detail": {
        "version": "0", 
        "mediaInsightsPipelineArn": "string", 
        "eventType": "chime:MediaInsightsPaused",
        "mediaInsightsPipelineElementStatuses": [
            { 
                "type": "AmazonTranscribeProcessor", 
                "status": "Paused",
                "updatedOn": 1686184070655             
            },
            { 
                "type": "S3RecordingSink", 
                "status": "NotStarted",
                "updatedOn": 1686184070655 
            }
        ] 
        "callId": "string", 
        "transactionId": "string", 
        "fromNumber": "string", 
        "toNumber": "string", 
        "voiceConnectorId": "string", 
        "direction": "string" 
    } 
}
```

### AmazonTranscribeProcessor 暫時失敗，且 S3RecordingSink 尚未啟動
<a name="processor-temp-fail-recording-no-start"></a>

此範例顯示典型的事件結構。

```
{
    "version": "0", 
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number, 
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": [],
    "detail": {
        "version": "0", 
        "mediaInsightsPipelineArn": "string", 
        "eventType": "chime:MediaInsightsTemporaryFailure",
        "mediaInsightsPipelineElementStatuses": [
            { 
                "type": "AmazonTranscribeProcessor", 
                "status": "TemporarilyFailed",
                "updatedOn": 1686184070655             
            },
            { 
                "type": "S3RecordingSink", 
                "status": "NotStarted",
                "updatedOn": 1686184070655 
            }
        ] 
        "callId": "string", 
        "transactionId": "string", 
        "fromNumber": "string", 
        "toNumber": "string", 
        "voiceConnectorId": "string", 
        "direction": "string" 
    } 
}
```

### AmazonTranscribeProcessor 和 S3RecordingSink 成功
<a name="processor-sink-success"></a>

此範例顯示典型的事件結構。

```
{
    "version": "0", 
    "id": "string",
    "detail-type": "Media Insights State Change", 
    "source": "aws.chime", 
    "account": number, 
    "region": "string",
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": [],
    "detail": {
        "version": "0", 
        "mediaInsightsPipelineArn": "string", 
        "eventType": "chime:MediaInsightsStopped",
        "mediaInsightsPipelineElementStatuses": [
            { 
                "type": "AmazonTranscribeProcessor", 
                "status": "Stopped",
                "updatedOn": 1686184070655             
            },
            { 
                "type": "S3RecordingSink", 
                "status": "Stopped",
                "updatedOn": 1686184070655 
            }
        ] 
        "callId": "string", 
        "transactionId": "string", 
        "fromNumber": "string", 
        "toNumber": "string", 
        "voiceConnectorId": "string", 
        "direction": "string" 
    } 
}
```

### S3RecordingSink 成功且 VoiceEnhancement 進行中
<a name="voice-enhancement-sink-inprogress"></a>

此範例顯示典型的事件結構。

```
{
  "version": "0",
  "id": "string",
  "detail-type": "Media Insights State Change",
  "source": "aws.chime",
  "account": number,
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "region": "string",
  "detail": {
    "mediaInsightsPipelineArn": "string",
    "eventType": "chime:MediaInsightsInProgress",
    "version": "0",
    "mediaInsightsPipelineElementStatuses": [
      {
        "type": "VoiceEnhancementSink",
        "status": "InProgress",
        "updatedOn": 1686184070655
      },
      {
        "type": "S3RecordingSink",
        "status": "Stopped",
        "updatedOn": 1686184070655
      }
    ]
  }
}
```

### S3RecordingSink 成功且 VoiceEnhancement 失敗，因為呼叫時間超過 30 分鐘
<a name="voice-enhancement-sink-fail-longerthan30minutes"></a>

此範例顯示典型的事件結構。

```
{
  "version": "0",
  "id": "string",
  "detail-type": "Media Insights State Change",
  "source": "aws.chime",
  "account": number,
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "region": "string",
  "detail": {
    "mediaInsightsPipelineArn": "string",
    "eventType": "chime:MediaInsightsStopped",
    "version": "0",
    "mediaInsightsPipelineElementStatuses": [
      {
        "type": "VoiceEnhancement",
        "status": "NotSupported",
        "updatedOn": 1686184070655,
        "statusDetail": "Unsupported recording length"
      },
      {
        "type": "S3RecordingSink",
        "status": "Stopped",
        "updatedOn": 1686184070655
      }
    ]
  }
}
```

### S3RecordingSink 成功且 VoiceEnhancement 由於呼叫少於 30 分鐘而失敗
<a name="voice-enhancement-sink-fail-lessthan30minutes"></a>

此範例顯示典型的事件結構。

```
{
  "version": "0",
  "id": "string",
  "detail-type": "Media Insights State Change",
  "source": "aws.chime",
  "account": number,
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "region": "string",
  "detail": {
    "mediaInsightsPipelineArn": "string",
    "eventType": "chime:MediaInsightsPermanentFailure",
    "version": "0",
    "mediaInsightsPipelineElementStatuses": [
      {
        "type": "VoiceEnhancement",
        "status": "Failed",
        "updatedOn": 1686184070655
      },
      {
        "type": "S3RecordingSink",
        "status": "Stopped",
        "updatedOn": 1686184070655
      }
    ]
  }
}
```

## 即時提醒
<a name="realtime-alerts"></a>

**注意**  
只有 Amazon Transcribe 和 Amazon Transcribe Call Analytics 處理器支援即時警示。

 Amazon Chime SDK 呼叫分析可讓開發人員設定在分析工作階段期間透過處理器傳送即時提醒的規則。警示會以詳細資訊類型 傳送至 Amazon EventBridge`Media Insights Rules Matched`。EventBridge 支援與 Lambda、Amazon SQS 和 Amazon SNS 等下游服務的整合，以觸發最終使用者的通知或啟動其他自訂商業邏輯。

 即時提醒會設定為 `RealTimeAlertConfiguration` 欄位的一部分`MediaInsightsPipelineConfiguration`。您可以使用 Amazon Chime SDK 主控台來設定 欄位，也可以呼叫 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipelineConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipelineConfiguration.html)或 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_UpdateMediaInsightsPipelineConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_UpdateMediaInsightsPipelineConfiguration.html) APIs。

 此範例示範如何透過 API 建立或更新即時提醒組態。

```
{
    "MediaInsightsPipelineConfigurationName": "config_name",
    "ResourceAccessRoleArn": "arn:aws:iam::account_id:role/role_name",
    "RealTimeAlertConfiguration": {
        "Disabled": false,
        "Rules": [{
                "Type": "KeywordMatch",
                "KeywordMatchConfiguration": {
                    "RuleName": "rule_name_1",
                    "Keywords": [
                        "hello",
                        "thank you"
                    ],
                    "Negate": false
                }
            },
            {
                "Type": "Sentiment",
                "RuleName": "rule_name_2",
                "SentimentType": "NEGATIVE",
                "TimePeriod": 60
            },
            {
                "Type": "IssueDetection",
                "RuleName": "rule_name_3"
            }
        ]
    },
    "Elements": [{
            "Type": "AmazonTranscribeCallAnalyticsProcessor",
            "AmazonTranscribeCallAnalyticsProcessorConfiguration": {
                "LanguageCode": "en-US"
            }
        },
        {
            "Type": "KinesisDataStreamSink",
            "KinesisDataStreamSinkConfiguration": {
                "InsightsTarget": "arn:aws:kinesis:us-east-1:account_id:stream/stream_name"
            }
        }
    ]
}
```

即時警示組態中的每個規則都會獨立觸發。如果同時符合多個規則條件，您可能會收到多個 EventBridge 通知。若要建立提醒的規則清單，您可以在下列規則類型中選取：

關鍵字比對  
在表達用語或文字記錄事件中符合指定的一組關鍵字或片語時發出警示。您可以設定警示以發出事件，如果：  
+ 系統會說出任何指定的關鍵字，並將 `Negate` 設定為 `false`。
+ 如果 `Negate` 設定為 ，則整個呼叫的所有指定關鍵字都是不說出的`true`。
Amazon Transcribe 和 Amazon Transcribe Analytics 支援此規則類型。

情緒分析  
當特定情緒類型在滾動時段持續時發出警示。只有轉錄通話分析支援此規則。

問題偵測  
在表達用語事件中偵測到問題時發出警示。只有 Transcribe Call Analytics 支援此規則類型。

下列範例顯示`KeywordMatch`規則的即時提醒事件。

```
{
    "version": "0",
    "id": "string",
    "detail-type": "Media Insights Rules Matched", 
    "source": "aws.chime", 
    "account": number,
    "region": "us-east-1",
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": [],
    "detail":   {
        "version": "0",
        "sourceMetadata": {}
        "ruleName": "string"
        "utteranceId": "string",
        "beginTimestamp": "yyyy-mm-ddThh:mm:ssZ",
    }
}
```

有些 EventBridge 欄位專屬於符合的規則類型：

**關鍵字比對欄位**  
`utteranceId`：如果您使用 Amazon Transcribe Call Analytics，包含相符關鍵字的文字記錄 ID。僅適用於口語關鍵字比對。  
`resultId`：如果您使用 Amazon Transcribe，包含相符關鍵字的文字記錄 ID。僅適用於口語關鍵字比對。  
`beginTimestamp`：包含相符關鍵字之文字記錄的開始時間。僅適用於口語關鍵字比對。

**情緒分析欄位**  
`beginTimestamp`：相符情緒滾動時段的開始時間。  
`endTimestamp`：相符情緒滾動時段的結束時間。

# 建立 Amazon Chime SDK 資料湖
<a name="ca-data-lake"></a>

Amazon Chime SDK 呼叫分析資料湖可讓您將機器學習支援的洞見和任何中繼資料從 Amazon Kinesis Data Stream 串流到 Amazon S3 儲存貯體。例如，使用資料湖來存取錄製的 URLs。若要建立資料湖，您可以從 Amazon Chime SDK 主控台或以程式設計方式使用 部署一組 AWS CloudFormation 範本 AWS CLI。資料湖可讓您在 Amazon Athena 中參考 AWS Glue 資料表，以查詢通話中繼資料和語音分析資料。

**Topics**
+ [先決條件](#data-lake-prereqs)
+ [資料湖術語和概念](#data-lake-terms)
+ [建立多個資料湖](#creating-multiple-data-lakes)
+ [資料湖區域可用性](#data-lake-regions)
+ [資料湖架構](#data-lake-architecture)
+ [資料湖設定](#data-lake-setup)

## 先決條件
<a name="data-lake-prereqs"></a>

您必須具有下列項目，才能建立 Amazon Chime SDK 湖：
+ Amazon Kinesis 資料串流。如需詳細資訊，請參閱《Amazon Kinesis [Streams 開發人員指南》中的透過 AWS 管理主控台建立](https://docs.aws.amazon.com/streams/latest/dev/how-do-i-create-a-stream.html)串流。 *Amazon Kinesis *
+ S3 儲存貯體。如需詳細資訊，請參閱《[Amazon S3 使用者指南》中的建立您的第一個 Amazon S3 儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html)體。 *Amazon S3 *

## 資料湖術語和概念
<a name="data-lake-terms"></a>

使用以下術語和概念來了解資料湖的運作方式。

**Amazon Kinesis Data Firehose**  
擷取、轉換和載入 (ETL) 服務，可可靠地擷取、轉換串流資料，並將資料交付至資料湖、資料存放區和分析服務。如需詳細資訊，請參閱什麼是 Amazon Kinesis Data Firehose？

**Amazon Athena**  
Amazon Athena 是一種互動式查詢服務，可讓您使用標準 SQL 分析 Amazon S3 中的資料。Athena 是無伺服器，因此您不需要管理基礎設施，您只需為執行的查詢付費。若要使用 Athena，請指向 Amazon S3 中的資料、定義結構描述，並使用標準 SQL 查詢。您也可以使用工作群組來將使用者分組，並控制他們在執行查詢時可存取的資源。工作群組可讓您管理查詢並行，並排定不同使用者和工作負載群組的查詢執行優先順序。

**Glue Data Catalog**  
在 Amazon Athena 中，資料表和資料庫包含詳細說明基礎來源資料的結構描述的中繼資料。對於每個資料集，資料表必須存在於 Athena 中。資料表中的中繼資料會告知 Athena Amazon S3 儲存貯體的位置。它也會指定資料結構，例如資料欄名稱、資料類型和資料表的名稱。資料庫只會保留資料集的中繼資料和結構描述資訊。

## 建立多個資料湖
<a name="creating-multiple-data-lakes"></a>

可以透過提供唯一的 Glue 資料庫名稱來指定存放呼叫洞見的位置來建立多個資料湖。對於指定的 AWS 帳戶，可以有數個呼叫分析組態，每個組態都有對應的資料湖。這表示資料分離適用於特定使用案例，例如自訂保留政策，以及資料存放方式的存取政策。可以套用不同的安全政策來存取洞見、錄製和中繼資料。

## 資料湖區域可用性
<a name="data-lake-regions"></a>

Amazon Chime SDK 資料湖可在下列區域使用。


| 區域 | Glue 資料表 | 快速 | 
| --- | --- | --- | 
| us-east-1 | Available | Available | 
| us-west-2 | Available | Available | 
| eu-central-1 | Available | Available | 

## 資料湖架構
<a name="data-lake-architecture"></a>

下圖顯示資料湖架構。繪圖中的數字對應於下方的編號文字。

![\[程式會流經資料湖。\]](http://docs.aws.amazon.com/zh_tw/chime-sdk/latest/dg/images/call-analytics-data-lake-architecture.png)


在圖表中，當您使用 AWS 主控台從媒體洞見管道組態設定工作流程部署 CloudFormation 範本時，下列資料會流向 Amazon S3 儲存貯體：

1. Amazon Chime SDK 呼叫分析將開始將即時資料串流到客戶的 Kinesis Data Stream。

1. Amazon Kinesis Firehose 會緩衝此即時資料，直到累積 128 MB 或經過 60 秒，以先到者為準。接著 Firehose 會使用 Glue Data Catalog `amazon_chime_sdk_call_analytics_firehose_schema`中的 來壓縮資料，並將 JSON 記錄轉換為 parquet 檔案。

1. parquet 檔案以分割格式存放在 Amazon S3 儲存貯體中。

1. 除了即時資料之外，通話後 Amazon Transcribe Call Analytics 摘要 .wav 檔案 （已編輯和未編輯，如果在組態中指定） 和通話記錄 .wav 檔案也會傳送至您的 Amazon S3 儲存貯體。

1. 您可以使用 Amazon Athena 和標準 SQL 來查詢 Amazon S3 儲存貯體中的資料。

1. CloudFormation 範本也會建立 Glue Data Catalog，透過 Athena 查詢此通話後摘要資料。

1. Amazon S3 儲存貯體上的所有資料也可以使用 Quick 視覺化。QuickSight 使用 Amazon Athena 與 Amazon S3 儲存貯體建立連線。 Amazon Athena

Amazon Athena 資料表使用下列功能來最佳化查詢效能：

**資料分割**  
分割會將資料表分成數個部分，並根據日期、國家/地區和區域等資料欄值將相關資料保留在一起。分割區充當虛擬資料欄。在此情況下，CloudFormation 範本會在建立資料表時定義分割區，這有助於減少每個查詢掃描的資料量並改善效能。您也可以依分割區篩選，以限制查詢掃描的資料量。如需詳細資訊，請參閱《*Amazon Athena * [Athena 使用者指南》中的 Athena 中的分割資料](https://docs.aws.amazon.com/athena/latest/ug/partitions.html)。  
此範例顯示日期為 2023 年 1 月 1 日的分割結構：  

1. 

   ```
   s3://example-bucket/amazon_chime_sdk_data_lake
                               /serviceType=CallAnalytics/detailType={DETAIL_TYPE}/year=2023
                               /month=01/day=01/example-file.parquet
   ```

1. 其中 `DETAIL_TYPE`是下列其中一項：

   1. `CallAnalyticsMetadata`

   1. `TranscribeCallAnalytics`

   1. `TranscribeCallAnalyticsCategoryEvents`

   1. `Transcribe`

   1. `Recording`

   1. `VoiceAnalyticsStatus`

   1. `SpeakerSearchStatus`

   1. `VoiceToneAnalysisStatus`

**最佳化單欄式資料存放區產生**  
Apache Parquet 使用資料欄式壓縮、以資料類型為基礎的壓縮，以及述詞下推來存放資料。更佳的壓縮率或略過資料區塊，表示從 Amazon S3 儲存貯體讀取的位元組較少。這可提高查詢效能並降低成本。為此最佳化，Amazon Kinesis Data Firehose 中已啟用從 JSON 到 parquet 的資料轉換。

**分割區投影**  
此 Athena 功能會自動為每天建立分割區，以改善以日期為基礎的查詢效能。

## 資料湖設定
<a name="data-lake-setup"></a>

使用 Amazon Chime SDK 主控台來完成下列步驟。

1. 啟動 Amazon Chime SDK 主控台 ([ https://console.aws.amazon.com/chime-sdk/home](https://console.aws.amazon.com/chime-sdk/home)：//)，然後在導覽窗格中的**通話分析**下，選擇**組態**。

1. 完成步驟 1，選擇**下一步**，然後在步驟 2 頁面上，選擇**語音分析**核取方塊。

1. 在**輸出詳細資訊**下，選取**資料倉儲以執行歷史分析**核取方塊，然後選擇**部署 CloudFormation 堆疊**連結。

   系統會將您傳送至 CloudFormation 主控台中的**快速建立堆疊**頁面。

1. 輸入堆疊的名稱，然後輸入下列參數：

   1. `DataLakeType` – 選擇**建立通話分析 DataLake**。

   1. `KinesisDataStreamName` – 選擇您的串流。它應該是用於通話分析串流的串流。

   1. `S3BucketURI` – 選擇您的 Amazon S3 儲存貯體。URI 必須有 字首 `s3://bucket-name`

   1. `GlueDatabaseName` – 選擇唯一的 AWS Glue 資料庫名稱。您無法重複使用 AWS 帳戶中現有的資料庫。

1. 選擇確認核取方塊，然後選擇**建立資料湖**。系統需要 10 分鐘的時間來建立湖。

### 使用 設定資料湖 AWS CLI
<a name="data-lake-setup-using-cli"></a>

使用 AWS CLI 建立具有呼叫 CloudFormation 建立堆疊許可的角色。請依照下列程序建立和設定 IAM 角色。如需詳細資訊，請參閱《*AWS CloudFormation 使用者指南*》中的[建立堆疊](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-cli-creating-stack.html)。

1. 建立名為 *AmazonChimeSdkCallAnalytics-Datalake-Provisioning-Role* 的角色，並將信任政策連接至允許 CloudFormation 擔任該角色的角色。

   1. 使用下列範本建立 IAM 信任政策，並以 .json 格式儲存檔案。

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "cloudformation.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole",
                  "Condition": {}
              }
          ]
      }
      ```

------

   1. 執行 **aws iam create-role**命令，並將信任政策做為參數傳遞。

      ```
                                          aws iam create-role \
          --role-name AmazonChimeSdkCallAnalytics-Datalake-Provisioning-Role
          --assume-role-policy-document file://role-trust-policy.json
      ```

   1. 記下從回應傳回*的角色 arn*。下一個步驟中需要*角色 arn*。

1. 建立具有建立 CloudFormation 堆疊許可的政策。

   1. 使用下列範本建立 IAM 政策，並以 .json 格式儲存檔案。呼叫 create-policy 時需要此檔案。

------
#### [ JSON ]

****  

      ```
      {  
          "Version":"2012-10-17",		 	 	   
          "Statement": [  
              {  
                  "Sid": "DeployCloudFormationStack",  
                  "Effect": "Allow",  
                  "Action": [  
                      "cloudformation:CreateStack"
                  ],
                  "Resource": "*"
              }
          ]
      }
      ```

------

   1. 執行**aws iam create-policy**並傳遞建立堆疊政策做為參數。

      ```
                                      aws iam create-policy --policy-name testCreateStackPolicy 
      --policy-document file://create-cloudformation-stack-policy.json
      ```

   1. 記下從回應傳回*的角色 arn*。在下一個步驟中需要*角色 arn*。

1. 將 **aws iam attach-role-policy** 政策連接到角色。

   ```
                               aws iam attach-role-policy --role-name {Role name created above}
   --policy-arn {Policy ARN created above}
   ```

1. 建立 CloudFormation 堆疊並輸入必要的參數：**aws cloudformation create-stack**。

   使用 ParameterValue 提供每個 ParameterKey 的參數值。 ParameterValue

   ```
                               aws cloudformation create-stack  --capabilities CAPABILITY_NAMED_IAM 
   --stack-name testDeploymentStack 
   --template-url https://chime-sdk-assets.s3.amazonaws.com/public_templates/AmazonChimeSDKDataLake.yaml 
   --parameters  ParameterKey=S3BucketURI,ParameterValue={S3 URI}
   ParameterKey=DataLakeType,ParameterValue="Create call analytics datalake" 
   ParameterKey=KinesisDataStreamName,ParameterValue={Name of Kinesis Data Stream}
   --role-arn {Role ARN created above}
   ```

#### 資料湖設定建立的資源
<a name="cf-resources"></a>

下表列出建立資料湖時建立的資源。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/chime-sdk/latest/dg/ca-data-lake.html)

# 設定 Amazon Chime SDK 的快速儀表板
<a name="quicksight-setup-setup"></a>

設定資料湖後，您可以使用視覺化資料的預先定義指標來設定快速儀表板。您可以使用下列儀表板：
+ **轉錄通話分析 \$1 語音分析**。指標包括turn-by-turn轉錄的摘要和詳細視覺效果、偵測到的問題、結果、實體偵測和語音設定檔 ID 比對。
+ **轉錄 \$1 Voice Analytics**。指標包括turn-by-turn轉錄、詞彙配對、語音音調和語音設定檔 ID 配對的摘要和詳細視覺效果。

下列主題說明如何在還沒有快速帳戶時設定快速帳戶，以及如何設定儀表板。

**Topics**
+ [建立 QuickSight 帳戶](#create-quicksight-account)
+ [設定您的 QuickSight 帳戶](#configure-qs-acct)
+ [建立 QuickSight 儀表板](#create-qs-dashboard)

## 建立 QuickSight 帳戶
<a name="create-quicksight-account"></a>

本節中的步驟說明如何建立快速帳戶。如果您已有 帳戶，您可以跳到 [建立 QuickSight 儀表板](#create-qs-dashboard)。

您可以透過以下方式建立 QuickSight 帳戶：
+ 使用 Amazon CloudFormation 範本。
+ 使用 Amazon Chime SDK 主控台。

### 先決條件
<a name="qs-account-prereqs"></a>

開始之前，請先收集下列資訊：
+ 您的呼叫分析 Amazon S3 儲存貯體的名稱。
+ 通知電子郵件地址。系統會傳送 QuickSight 通知到此地址。

### 使用 CloudFormation 範本建立 帳戶
<a name="account-by-cft"></a>

下列步驟說明如何透過部署 Amazon CloudFormation 範本來建立 Quick 帳戶。程序只會訂閱您的企業帳戶。如需定價的相關資訊，請參閱 [Quick Pricing](https://aws.amazon.com/quicksight/pricing/)。

**部署範本**

1. 啟動 AWS 主控台並登入您的 AWS 帳戶。

1. 將下列 URL 貼到瀏覽器的地址列。請務必依照指示輸入您的區域。

   `https://region.console.aws.amazon.com/cloudformation/home?region=region#/stacks/quickcreate?templateURL=https://chime-sdk-assets.s3.amazonaws.com/public_templates/AmazonChimeSDKQuickSightSubscription.yaml`.

1. 在**快速建立堆疊**頁面上，輸入下列內容：

   1. 在**堆疊名稱**下，輸入您帳戶的名稱。

   1. 在 **QuickSightNotificationEmail** 下，您先前收集的電子郵件地址。

   1. 在 **QuickSightSubscriptionForDataVisualization** 下，選擇**建立新的 AWS QuickSight 帳戶**。

   1. 在 **S3BucketName** 下，輸入 Amazon S3 儲存貯體的名稱。

   1. 選取**我確認 AWS CloudFormation 可能會建立 IAM 資源。**核取方塊。

1. 選擇**建立堆疊**。

   系統大約需要 10 分鐘才能建立堆疊。

1. 當建置完成時，請選擇**前往快速**，然後輸入您的電子郵件地址以登入您的帳戶。

### 使用主控台建立 帳戶
<a name="account-by-console"></a>

下列步驟說明如何使用 Amazon Chime SDK 主控台建立快速帳戶。您必須使用 Enterprise 或 Enterprise \$1 Q 帳戶。

**使用主控台**

1. 在 [https://console.aws.amazon.com/chime-sdk/home](https://console.aws.amazon.com/chime-sdk/home)：// 啟動 Amazon Chime SDK 主控台，搜尋 **QuickSight**，然後在搜尋結果中選擇 **QuickSight**。  
![\[連結至 Quick 的搜尋結果。\]](http://docs.aws.amazon.com/zh_tw/chime-sdk/latest/dg/images/quicksightsetup-1.png)

1. 選擇 **Sign up for QuickSight (註冊 QuickSight)**。

1. 選擇**企業**或**企業 \$1 Q**，然後選擇**繼續**。

1. 輸入您的名字、姓氏、電話號碼，以及您先前收集的電子郵件地址，然後選擇**繼續**。

1. 請執行下列操作：

   1. 在**身分驗證方法**下，選擇選項。
**注意**  
如果您使用聯合身分使用者選擇 選項，則需要正確的 IAM 許可。如需詳細資訊，請參閱《 [ 快速使用者指南》中的註冊快速訂閱](https://docs.aws.amazon.com/quicksight/latest/user/signing-up.html)。 **

   1. 在 **QuickSight 區域**下，選取區域。

   1. 在**帳戶資訊**下，輸入帳戶的名稱，以及您先前收集的電子郵件地址。

   1. 在 **QuickSight 存取 AWS Services** 下，使用預設角色，或選擇**使用現有角色**，然後從清單中選擇角色。

   1. （選用） 視需要，在**允許這些資源的存取和自動探索**下，選擇其他資源。

   1. 完成後，請選擇**完成**。

   1. 當建置完成時，請選擇**前往快速**，然後輸入您的電子郵件地址以登入您的帳戶。

## 設定您的 QuickSight 帳戶
<a name="configure-qs-acct"></a>

登入您的 QuickSight 帳戶後，您需要設定安全性，並將自己新增至設定程序建立的群組。

**設定安全性**

1. 選擇右上角的設定檔圖示，然後從產生的功能表中選擇**管理 QuickSight**。  
![\[具有管理 QuickSight 命令的功能表。\]](http://docs.aws.amazon.com/zh_tw/chime-sdk/latest/dg/images/quicksightsetup-1-a.png)

1. 在導覽窗格中，選擇**安全性與許可**。

1. 在 **QuickSight 存取 AWS 服務**下，選擇**管理**，並確保已選取下列服務。
   + Amazon Redshift
   + Amazon RDS
   + Amazon S3
   + Amazon Athena
   +  IAM

1. 選擇**選取 Amazon S3 儲存貯**體連結。

1. 選取 Amazon S3 儲存貯體旁的核取方塊，然後在 **Athena 工作群組的寫入許可**欄中選取右側的核取方塊。

1. 選擇**完成**。

1. 選擇**儲存**。

**若要將自己新增至群組**

1. 在導覽窗格中，選擇**管理群組**，然後在名稱中選擇具有**管理員的**群組。例如，*S3BucketName*–**Admins**。

1. 選擇**新增使用者**，然後在出現的方塊中輸入您的電子郵件別名。

   您的名稱會顯示為 **Admin – ***your-alias*。

1. 選擇**新增**。

## 建立 QuickSight 儀表板
<a name="create-qs-dashboard"></a>

建立資料湖之後，您可以建立 QuickSight 儀表板來視覺化您的資料。您可以使用 Amazon CloudFormation 範本或 Amazon Chime SDK 主控台來建立儀表板。下列步驟說明這兩種方法。

**使用範本**

1. 啟動 Amazon CloudFormation 主控台。

1. 將以下連結貼到瀏覽器的地址列： `https://region.console.aws.amazon.com/cloudformation/home?region=region#/stacks/quickcreate?templateURL=https://chime-sdk-assets.s3.amazonaws.com/public_templates/AmazonChimeSDKQuickSightDashboards.yaml`

1. 在**快速建立堆疊**頁面的**堆疊名稱**下，輸入帳戶的名稱。

1. 在 **ActiveQuickSightAccount** 下，選擇 **True**。

1. 在 **QuicksightDashboardSelection** 下，選擇**通話分析 – 轉錄通話分析和語音分析儀表板**或**通話分析 – 轉錄和語音分析儀表板**。

1. 在 **Amazon S3BucketName** 下，輸入 Amazon S3 儲存貯體的 URI。

1. 在 **GlueDatabaseName** 下，輸入您要部署 QuickSight 儀表板的 Glue 資料庫。

1. 選擇**我確認 AWS CloudFormation 可能會建立 IAM 資源**核取方塊，然後選擇**建立堆疊**。

**手動設定 QuickSight 儀表板**

1. 導覽至您的 QuickSight 帳戶。

1. 在右上角選擇設定檔圖示，然後選擇**管理 QuickSight**。  
![\[QuickSight 帳戶對話方塊和管理 QuickSight 命令。\]](http://docs.aws.amazon.com/zh_tw/chime-sdk/latest/dg/images/quicksightsetup-1-a.png)

1. 在導覽窗格中，選擇**管理群組**，然後選擇設定程序建立的群組。

1. 選擇**新增使用者**，輸入您的電子郵件地址，然後選擇**新增**。

   系統需要 10 分鐘才能部署頁面。

1. 使用 Amazon Chime SDK 主控台登入您的 QuickSight 帳戶並使用儀表板。