Tôi hiện đang gặp lỗi 'Truy cập bị từ chối' sau khi sử dụng rasterio để mở tệp hình ảnh Sentinel-2 AWS .jp2 (hiện đang được Sinergise lưu trữ và có thể tìm thấy ở đây ).
Mã của tôi trông như thế này:
import rasterio
access_key = '*****************'
secret_access_key = '***********************'
region_name = 'eu-central-1'
Session = rasterio.env.Env(aws_access_key_id=access_key,
aws_secret_access_key=secret_access_key,
region_name=region_name)
url = 's3://sentinel-pds/tiles/10/S/DG/2015/12/7/0/B01.jp2'
with Session:
with rasterio.open(url) as dataset:
print dataset
Câu trả lời là:
---------------------------------------------------------------------------
CPLE_AWSAccessDenied Traceback (most recent call last)
<ipython-input-1-4f6da7274649> in <module>()
12
13 with Session:
---> 14 with rasterio.open(url) as dataset:
15 print dataset
/Users/Barney/anaconda/lib/python2.7/site-packages/rasterio/__init__.pyc in open(path, mode, driver, width, height, count, crs, transform, dtype, nodata, **kwargs)
191 raise ValueError(
192 "mode string must be one of 'r', 'r+', or 'w', not %s" % mode)
--> 193 s.start()
194 return s
195
rasterio/_base.pyx in rasterio._base.DatasetReader.start (rasterio/_base.c:2847)()
rasterio/_base.pyx in rasterio._base.DatasetReader.start (rasterio/_base.c:2799)()
rasterio/_err.pyx in rasterio._err.CPLErrors.check (rasterio/_err.c:1773)()
CPLE_AWSAccessDenied: Access Denied
Tôi không chắc chắn nếu tôi đang sử dụng môi trường rasterio aws một cách chính xác, khóa mã thông báo phiên aws có cần thiết ngay cả khi các khóa truy cập và bí mật được cung cấp không? Tôi cũng nên thêm rằng chức năng này hoạt động chính xác nếu được cung cấp url Landsat-8 (ví dụ: http://landsat-pds.s3.amazonaws.com/L8/139/045/LC81390452014295LGN00/LC81390452014295LGN00_B1.TIF )
Các phiên bản (được cài đặt qua Anaconda):
rasterio - 0,36.0
trăn - 2.7
Xin lỗi nếu những điều trên là mơ hồ. Câu hỏi của tôi sẽ là - tại sao điều này hoạt động cho Landsat-8 mà không phải là Sentinel-2? Làm thế nào rasterio có thể được sử dụng để mở dữ liệu Sentinel-2 AWS?