TextRact 响应状态代码不表示成功:400(错误请求)+ IAM Ke​​ys not found

TextRact Response status code does not indicate success: 400 (Bad Request) + IAM Keys not found

我已将我的 textract 代码推送到登台服务器上,但现在收到错误消息。

它正在开发系统中。我不明白为什么会这样。

我正在使用 dotnet 核心 3.0

我正在按照此处提供的代码示例进行操作。 [https://github.com/aws-samples/amazon-textract-code-samples/tree/master/src-csharp]

我对 IAM 凭据有疑问。为此,我在暂存服务器上为 Windows 和 AWS CLI 安装了 AWS SDK 工具,然后安装了 运行 命令(此处提到 [https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure .html#cli-quick-configuration] ) 使用命令提示符进行配置。我认为它 (IAM) 可能会被保存到环境中。但是没有成功。

在 S3 存储桶上上传文件的代码正在上传文件,但在向 Textract 服务发出请求时崩溃。

System.Net.Http.HttpRequestException:响应状态码不表示成功:400(Bad Request)

我不明白这是怎么回事。 在开发方面,它正在发挥作用。 有帮助吗?

我们终于找到了解决办法。很奇怪的问题,没想到会来。

第一件事

API 抛出的消息不明确。所以我们将它托管在其他升级了 windows OS 的服务器上。在那里我们了解到它与创建 IAM 用户期间生成的密钥有关。

第二件事

尽管我们清楚我们的应用程序(Amazon 的 Textract dll)无法读取我们从 here 配置的密钥。

当我们通过 CLI 配置时,它会创建两个文件来保存凭据并从此处读取。请参阅下面的屏幕截图。

它在那里,但应用程序仍然无法在登台服务器上找到它。在与 AWS 支持人员交谈 4-5 天后,什么也没发生。

最后我们深入研究了 IIS,做了一些改动,然后才知道它发生在 IIS 上。在 IIS 中,实例的 Apppool 中有设置,它是加载用户配置文件。。默认情况下它是假的,但是当我们变成真时,它创建了一个用户,就像我们有系统登录用户一样。 请参阅下面的屏幕截图以更改此设置。

它创建这样的用户。

希望对大家有所帮助