我编写了一小段.NET Core代码以与Amazon Textract API交互。代码本身很小,并且可以在我的一台开发机器上正常工作。该代码对凭证没有任何作用,所有内容均通过AWS CLI配置。当我在其他开发机上运行相同的代码时,会出现以下错误:
AmazonTextractException:请求中包含的安全令牌为 无效
到目前为止,这是我尝试过的:
创建一个新的AWS密钥/秘密对,删除任何先前存在的环境变量(AWS_SECRET_KEY等),删除~\.aws\config
和~\.aws\credentials
。重新运行使用新凭据的aws configure。同样的例外。
再次执行上述清洁步骤后,重复使用在一台开发机上使用的相同AWS密钥/秘密对。
确保在AWS账户上关闭了MFA
~\.aws\config
和~\.aws\credentials
在两台机器之间是相同的。
return await this.textract.AnalyzeDocumentAsync(request);
在一台机器上,我的代码运行良好,并且使用OCR从我的文档中提取文本。在另一台计算机上会导致此错误:
Amazon.Textract.AmazonTextractException:包含的安全令牌 在请求中无效
在给定配置的情况下,我希望代码在每个系统上都能以相同的方式工作。
这台计算机上还有哪些其他原因可能导致事情表现有所不同?我是否不知道其他任何秘密的AWS设置,或某些系统上可能需要的任何其他步骤?
答案 0 :(得分:0)
我们弄清楚了问题所在-在这种情况下,它与Visual Studio版本问题有关。一台开发机(运行正常的一台计算机)安装了Visual Studio 2019,而另一台(不工作)安装了Visual Studio2017。两台计算机均安装了AWS Toolkit,但是似乎只有2019版可以从其中正确导入用户帐户配置文件。机器的AWS CLI配置。因此,在2019年的计算机上,我们在VS AWS Toolkit中拥有有效的配置文件-在2017年的计算机上,我们没有有效的配置文件。