我有一个公共的可见JSON文件,该文件托管在s3上。我可以通过单击s3对象的公共URL直接访问文件,然后在浏览器中查看JSON。互联网上的任何人都可以轻松查看文件。
但是在Python中运行了以下代码(使用连接到API触发器的Lambda),我得到[Errno 2] No such file or directory:
作为errorMessage
,而FileNotFoundError
作为errorType
。
def readLeetDictionary(self):
jsonfile = 'https://s3.amazonaws.com/url/to/public/facing/file/data.json'
with open(jsonfile, 'r') as data_file:
self.data = json.load(data_file)
我在这里想念什么?由于该文件是可公开查看的JSON文件,因此我假设我不会被迫使用boto3
库并正式握手至该文件以读取该文件(例如,以object = s3.get_object(Bucket=bucket_names,Key=object_name)
进行)-我吗?
答案 0 :(得分:0)
您需要的条件应该是这样的:
import urllib, json
def readLeetDictionary():
jsonfile = 'https://s3.amazonaws.com/url/to/public/facing/file/data.json'
response = urllib.urlopen(jsonfile)
data = json.loads(response.read())
print data
请随时询问或解释这是否不适合您。