[英]How to transcribe a call with AWS transcribe API?
我在嘗試轉錄電話時遇到此錯誤:
帳戶無權調用此操作。 檢查您的帳戶燙發
我認為錯誤的屬性是 DataAccessRoleArn,我嘗試在 IAM 控制台上創建新角色,但它不起作用。
這是完整的 PHP 代碼:
<?php
require 'vendor/autoload.php';
use Aws\TranscribeService\TranscribeServiceClient;
$awsKey = "{awsKey}";
$awsSecretKey = "{awsSecretKey}";
$clientAWS = new TranscribeServiceClient([
'region' => 'eu-west-3',
'version' => 'latest',
'credentials' => [
'key' => $awsKey,
'secret' => $awsSecretKey
],
]);
$result = $clientAWS->startCallAnalyticsJob([
'CallAnalyticsJobName' => 'Transcript1', // REQUIRED
'ChannelDefinitions' => [
[
'ChannelId' => 0,
'ParticipantRole' => 'AGENT',
],
[
'ChannelId' => 1,
'ParticipantRole' => 'CUSTOMER',
]
],
'DataAccessRoleArn' => 'arn:aws:iam::{id}:role/AWSRole', // REQUIRED
'Media' => [ // REQUIRED
'MediaFileUri' => 's3://{bucketName}/2022/02/23/file.wav',
'RedactedMediaFileUri' => 's3://{bucketName}/2022/02/23/',
],
'Settings' => [
'ContentRedaction' => [
'RedactionOutput' => 'redacted', // REQUIRED
'RedactionType' => 'PII', // REQUIRED
],
],
]);
print_r($result);
你知道如何解決角色問題嗎?
要解決此問題,您必須:
Select 兼容區域(在我的例子中是 eu-central-1)
使用 AmazonS3FullAccess 策略(僅用於測試,為安全性進行調整)和此信任實體創建一個新角色:
{“版本”:“2012-10-17”,“聲明”:[{“效果”:“允許”,“主體”:{“服務”:“transcribe.amazonaws.com”},“行動”:“ sts:AssumeRole" } ] }
將 AmazonTranscribeFullAccess 和 AmazonS3FullAccess 策略附加到您的 IAM 用戶(僅用於測試,針對安全性進行調整)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.