#azure #azure-active-directory #azure-functions #azure-blob-storage
#azure #azure-active-directory #azure-функции #azure-blob-хранилище
Вопрос:
Я пытаюсь удалить свой большой объект azure с помощью скрипта python, и для этого я использую BlobClient из библиотеки azure.storage.
Вот код, который я пытаюсь запустить:
import json, sys, os, time
from azure.storage.blob import BlobServiceClient, PublicAccess, BlobClient
endpoint = os.environ['COMPUTER_VISION_ENDPOINT']
subscription_key = os.environ['COMPUTER_VISION_SUBSCRIPTION_KEY']
text_recognition_url = endpoint "/vision/v3.0/read/analyze"
file_name = input("Enter the file name: ")
image_url = "https://textimage.blob.core.windows.net/handwritten-text/" file_name
blob_client = BlobClient.from_blob_url(blob_url=image_url)
blob_client.delete_blob()
print("Done")
Хотя большой двоичный объект и контейнер существуют в учетной записи хранилища Azure, он выдает мне следующую ошибку:
azure.core.exceptions.ResourceNotFoundError: The specified resource does not exist.
Где я ошибаюсь?
Какой может быть лучший способ удалить конкретный открытый большой двоичный объект с помощью скрипта python?
Комментарии:
1. Пожалуйста, не делайте так… Я обновлю ответ.
Ответ №1:
import os
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
blob_service_client = BlobServiceClient.from_connection_string(os.getenv('str'))
container_client = blob_service_client.get_container_client("test")
blob_client = blob_service_client.get_blob_client("test", "test.txt")
blob_client.delete_blob()
Приведенный выше код отлично работает на моей стороне.(Вы можете заменить имя контейнера и большого двоичного объекта на динамическое значение.)
И взгляните на официальный документ:
Когда вы сталкиваетесь с NoneType object has no attribute 'rstrip'
, это означает, что вы должны предоставить методу строку подключения.
Комментарии:
1. Спасибо, там было небольшое изменение: вместо os.getenv(‘str’) у меня сработало прямое предоставление значения строки подключения. Первый выдавал ошибку
NoneType object has no attribute 'rstrip'
.2. @nipan09 Эта проблема должна возникать из-за того, что параметр в методе from_connection_string() равен нулю. Вы уже указали строку подключения? Он должен быть получен из этого места: i.stack.imgur.com/O6ZR6.png
3. Я уже установил эту строку подключения в своей переменной окружения, я думаю, именно поэтому это сработало.