Ошибка: ожидаемый объект str, bytes или os.PathLike, а не StorageStreamDownloader – расшифровка файла blob с помощью pgpPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Ошибка: ожидаемый объект str, bytes или os.PathLike, а не StorageStreamDownloader – расшифровка файла blob с помощью pgp

Сообщение Гость »


Я пытаюсь прочитать CSV-файл (зашифрованный) из хранилища BLOB-объектов Azure, расшифровать его с помощью gnupg и прочитать в Python. Я могу получить доступ к файлу больших двоичных объектов, но когда я передаю его функции dcrypt, он выдает ошибку.
Ошибка: ожидаемый объект str, bytes или os.PathLike, а не StorageStreamDownloader
Файл BLOB-объекта имеет тип StorageStreamDownloader. Когда я конвертирую его в байты, я получаю ошибку «Встроенные нулевые байты».
Может кто-нибудь помочь мне с этим. Ниже мой код.

Код: Выделить всё

    from azure.storage.blob import BlobServiceClient, BlobClient
import pandas as pd
import csv
from io import StringIO
from pyspark.sql import SparkSession
import io

connection_string = "AAAA"
container_name = "BBBB"
blob_service_client = BlobServiceClient.from_connection_string(connection_string)
container_client = blob_service_client.get_container_client(container_name)

import gnupg
gpg = gnupg.GPG()

gpg.encoding = 'utf-8'

passphrase = "12345"
secret = "112233"

def decrypt_file(filename, secret, passphrase):

gpg.encoding = 'utf-8'

with open(filename, 'rb') as f:
decrypted_data = gpg.decrypt(f, passphrase=passphrase)

if decrypted_data.ok:
print("done")
else:
print("error:", decrypted_data.status)
print("error:", decrypted_data.stderr)
return str(decrypted_data)

blob_client = container_client.get_blob_client(file)
blob_file_tinb = blob_client.download_blob()
tinb_file = decrypt_file(blob_file_tinb,secret,passphrase)


Источник: https://stackoverflow.com/questions/781 ... downloader
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»