Из представления django REST API я пытаюсь получить доступ к файлу, который хранится в хранилище azure blob. Я хотел бы открыть его, не загружая его в файл, как показано здесь . Доступ для чтения достаточен.
Для этого я набросал свой вид следующим образом:
import os
from fsspec.implementations.http import HTTPFileSystem
@api_view()
def my_view(request):
url = "https://storageaccount.blob.core.windows.net/container/"
filename = "file.f"
fs = HTTPFileSystem(
container_name=os.environ["AZURE_STORAGE_CONTAINER"],
storage_options={
"account_name": os.environ["AZURE_STORAGE_ACCOUNT"],
"account_key": os.environ["AZURE_STORAGE_KEY"],
},
)
with fs.open(url + filename, "r") as fobj:
ds = somehow.open_dataset(fobj)
return Response({"message": "Data manipulated"}, status=200)
Это дает FileNotFoundError.
Мои вопросы:
- Возможно ли это даже с azure хранилищем BLOB-объектов? Если нет, что будет ближе всего?
- Как мне проверить подлинность HTTPFileSystem? Мне кажется, я более или менее придумал эти ключевые слова, но не смог найти никакой информации о них ...