amazon-web-services - textract_python_table_parser.py 命令提示符缺少凭据
问题描述
我正在尝试在此链接中使用 AWS 的 Textract 导出表建议 我是 AWS 解决方案和命令提示符中的完整新手,因此我正在尝试完全按照他们的建议进行操作。我在 python 中运行它,所以我使用这段代码:
import os
k=os.system("python textract_python_table_parser.py my_pdf_file_path.pdf")
print(k)
代码运行,Image loaded my_pdf_file_path.pdf
但在某些时候它在凭证问题上出现错误:
Traceback (most recent call last):
File "/Users/santanna_santanna/PycharmProjects/KlooksExplore/PDFWork/textract_python_table_parser.py", line 108, in <module>
main(file_name)
File "/Users/santanna_santanna/PycharmProjects/KlooksExplore/PDFWork/textract_python_table_parser.py", line 94, in main
table_csv = get_table_csv_results(file_name)
File "/Users/santanna_santanna/PycharmProjects/KlooksExplore/PDFWork/textract_python_table_parser.py", line 53, in get_table_csv_results
response = client.analyze_document(Document={'Bytes': bytes_test}, FeatureTypes=['TABLES'])
File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/botocore/client.py", line 316, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/botocore/client.py", line 622, in _make_api_call
operation_model, request_dict, request_context)
File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/botocore/client.py", line 641, in _make_request
return self._endpoint.make_request(operation_model, request_dict)
File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/botocore/endpoint.py", line 102, in make_request
return self._send_request(request_dict, operation_model)
File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/botocore/endpoint.py", line 132, in _send_request
request = self.create_request(request_dict, operation_model)
File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/botocore/endpoint.py", line 116, in create_request
operation_name=operation_model.name)
File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/botocore/hooks.py", line 356, in emit
return self._emitter.emit(aliased_event_name, **kwargs)
File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/botocore/hooks.py", line 228, in emit
return self._emit(event_name, kwargs)
File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/botocore/hooks.py", line 211, in _emit
response = handler(**kwargs)
File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/botocore/signers.py", line 90, in handler
return self.sign(operation_name, request)
File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/botocore/signers.py", line 160, in sign
auth.add_auth(request)
File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/botocore/auth.py", line 357, in add_auth
raise NoCredentialsError
botocore.exceptions.NoCredentialsError: Unable to locate credentials
我知道我没有传递任何凭据,这是很自然的事情,但是我应该在哪里传递它以及使用 python os 的正确语法是什么?亚马逊的例子没有说明这一点。
解决方案
这取决于您在哪里运行代码,例如:
- 本地计算机 - 可以使用aws configure CLI 设置您的 credetnails
- EC2 实例 - 使用实例角色
- lambda 函数 - 使用lambda 执行角色
推荐阅读
- php - 如何在laravel中使Carbon为空?
- azure - 使用 WorldAnchorManager 表单 Holotoolkit
- markdown - 原始 Markdown 中的矩阵注释
- php - 带有其他过滤器的 Wordpress AJAX 分页
- wordpress - 如何通过以访客身份将产品添加到购物车并在结帐时登录来避免在 WooCommerce 中再次购买相同的产品
- sql - 如何以以下格式显示查询输出
- r - 如何对漏斗图中的条形重新排序
- python - 如何在 pi 中从 Python3 版本到 Python2.7 进行通信和传递数据
- c# - 使用 FileSystemSecurity/DirectorySecurity 时如何设置不能用 FileSystemRights 表示的访问掩码(例如 GENERIC_ALL)?
- python - 除非用户尝试删除不在列表中的值,否则如何尝试