要解决“AWS Textract的StartDocumentAnalysis函数未将消息发布到SNS主题”的问题,您可以按照以下步骤操作:
确保您已正确配置AWS Textract和SNS服务。确保已创建了SNS主题并具有正确的访问权限。
使用以下代码示例来调用StartDocumentAnalysis函数,并将消息发布到SNS主题:
import boto3
def start_document_analysis(sns_topic_arn, document_s3_bucket, document_s3_name):
client = boto3.client('textract')
response = client.start_document_analysis(
DocumentLocation={
'S3Object': {
'Bucket': document_s3_bucket,
'Name': document_s3_name
}
},
FeatureTypes=['TABLES', 'FORMS'],
NotificationChannel={
'SNSTopicArn': sns_topic_arn,
'RoleArn': 'YOUR_SNS_ROLE_ARN'
}
)
return response
sns_topic_arn = 'YOUR_SNS_TOPIC_ARN'
document_s3_bucket = 'YOUR_DOCUMENT_S3_BUCKET'
document_s3_name = 'YOUR_DOCUMENT_S3_NAME'
response = start_document_analysis(sns_topic_arn, document_s3_bucket, document_s3_name)
print(response)
确保将YOUR_SNS_TOPIC_ARN
替换为您的SNS主题ARN,YOUR_DOCUMENT_S3_BUCKET
替换为您的S3 Bucket名称,YOUR_DOCUMENT_S3_NAME
替换为要分析的文档在S3 Bucket中的名称。
运行上述代码,并检查控制台输出。如果代码成功执行并返回响应,那么您的消息将被发布到SNS主题。
您可以使用SNS控制台或订阅者端点来验证消息是否已成功发布到SNS主题。
通过执行上述步骤,您应该能够解决“AWS Textract的StartDocumentAnalysis函数未将消息发布到SNS主题”的问题。