Hướng dẫn delete blob azure python - xóa blob azure python

Bỏ qua nội dung chính

Trình duyệt này không còn được hỗ trợ.

Nâng cấp lên Microsoft Edge để tận dụng các tính năng mới nhất, cập nhật bảo mật và hỗ trợ kỹ thuật.

Điều hướng đến thư mục chứa tệp blob-quickstart.py, sau đó thực hiện lệnh az role assignment create --assignee "" \ --role "Storage Blob Data Contributor" \ --scope "" 3 sau để chạy ứng dụng:

  • pip install azure-storage-blob azure-identity
    
    3
  • Đầu ra của ứng dụng tương tự như ví dụ sau (các giá trị UUID bị bỏ qua cho khả năng đọc):
  • Trước khi bạn bắt đầu quá trình dọn dẹp, hãy kiểm tra thư mục dữ liệu của bạn cho hai tệp. Bạn có thể so sánh chúng và quan sát rằng chúng giống hệt nhau.

Dọn dẹp tài nguyên

Sau khi bạn đã xác minh các tệp và thử nghiệm xong, nhấn phím Enter để xóa các tệp kiểm tra cùng với thùng chứa bạn đã tạo trong tài khoản lưu trữ. Bạn cũng có thể sử dụng Azure CLI để xóa tài nguyên.

Tài liệu tham khảo API | Mã nguồn thư viện | Gói (Pypi) | Mẫu

Điều kiện tiên quyết

  • Tài khoản Azure có đăng ký hoạt động - Tạo tài khoản miễn phí
  • Tài khoản lưu trữ Azure - Tạo tài khoản lưu trữ
  • Python 3.6+

Đang cài đặt

Phần này hướng dẫn bạn thông qua việc chuẩn bị một dự án để làm việc với thư viện máy khách lưu trữ Azure Blob cho Python.

Tạo dự án

Tạo một ứng dụng Python có tên Blob-Quickstart.

  1. Trong cửa sổ Bảng điều khiển (như PowerShell hoặc Bash), hãy tạo một thư mục mới cho dự án:

    mkdir blob-quickstart
    
  2. Chuyển sang thư mục Blob-Quickstart mới được tạo:

    cd blob-quickstart
    

Cài đặt các gói

Từ thư mục dự án, cài đặt các gói cho lưu trữ Azure Blob và thư viện máy khách nhận dạng Azure bằng lệnh

pip install azure-storage-blob azure-identity
5. Gói Azure-Identity là cần thiết cho các kết nối không có mật khẩu với các dịch vụ Azure.azure-identity package is needed for passwordless connections to Azure services.

pip install azure-storage-blob azure-identity

Thiết lập khung ứng dụng

Từ thư mục dự án, hãy làm theo các bước để tạo cấu trúc cơ bản của ứng dụng:

  1. Mở một tệp văn bản mới trong trình soạn thảo mã của bạn.
  2. Thêm các câu lệnh
    pip install azure-storage-blob azure-identity
    
    6, tạo cấu trúc cho chương trình và bao gồm xử lý ngoại lệ cơ bản, như được hiển thị bên dưới.
  3. Lưu tệp mới dưới dạng Blob-QuickStart.py trong thư mục Blob-Quickstart.
import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

try:
    print("Azure Blob Storage Python quickstart sample")

    # Quickstart code goes here

except Exception as ex:
    print('Exception:')
    print(ex)

Mô hình đối tượng

Lưu trữ Azure Blob được tối ưu hóa để lưu trữ một lượng lớn dữ liệu phi cấu trúc. Dữ liệu phi cấu trúc là dữ liệu không tuân thủ một mô hình hoặc định nghĩa dữ liệu cụ thể, chẳng hạn như dữ liệu văn bản hoặc dữ liệu nhị phân. Blob Storage cung cấp ba loại tài nguyên:

  • Tài khoản lưu trữ
  • Một thùng chứa trong tài khoản lưu trữ
  • Một đốm trong thùng chứa

Biểu đồ sau đây cho thấy mối quan hệ giữa các tài nguyên này:

Hướng dẫn delete blob azure python - xóa blob azure python

Sử dụng các lớp Python sau để tương tác với các tài nguyên này:

  • BlobServiceClient: Lớp
    pip install azure-storage-blob azure-identity
    
    7 cho phép bạn thao tác tài nguyên lưu trữ Azure và các thùng chứa Blob.
  • ContainerClient: Lớp
    pip install azure-storage-blob azure-identity
    
    8 cho phép bạn điều khiển các thùng chứa Azure và các đốm màu của chúng.
  • BLOBCLIENT: Lớp
    pip install azure-storage-blob azure-identity
    
    9 cho phép bạn điều khiển các đốm màu Azure.

Ví dụ mã

Các đoạn mã ví dụ này chỉ cho bạn cách thực hiện các tác vụ sau với thư viện máy khách lưu trữ Azure Blob cho Python:

  • Xác thực với Azure và ủy quyền quyền truy cập vào dữ liệu Blob
  • Tạo một container
  • Tải Blobs lên một thùng chứa
  • Liệt kê các đốm màu trong một thùng chứa
  • Tải về Blobs
  • Xóa một container

Xác thực với Azure và ủy quyền quyền truy cập vào dữ liệu Blob

Tạo một container

Tải Blobs lên một thùng chứa

  • Liệt kê các đốm màu trong một thùng chứa
  • Tải về Blobs

Xóa một container

Yêu cầu ứng dụng cho lưu trữ Azure Blob phải được ủy quyền. Sử dụng lớp

import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

try:
    print("Azure Blob Storage Python quickstart sample")

    # Quickstart code goes here

except Exception as ex:
    print('Exception:')
    print(ex)
0 do Thư viện máy khách nhận dạng Azure cung cấp là cách tiếp cận được khuyến nghị để triển khai các kết nối không mật khẩu với các dịch vụ Azure trong mã của bạn, bao gồm cả lưu trữ Blob.

Bạn cũng có thể ủy quyền cho các yêu cầu đối với lưu trữ Azure Blob bằng cách sử dụng khóa truy cập tài khoản. Tuy nhiên, phương pháp này nên được sử dụng một cách thận trọng. Các nhà phát triển phải siêng năng để không bao giờ phơi bày khóa truy cập ở một vị trí không an toàn. Bất cứ ai có khóa truy cập đều có thể ủy quyền các yêu cầu đối với tài khoản lưu trữ và hiệu quả đều có quyền truy cập vào tất cả các dữ liệu.

import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

try:
    print("Azure Blob Storage Python quickstart sample")

    # Quickstart code goes here

except Exception as ex:
    print('Exception:')
    print(ex)
0 cung cấp lợi ích quản lý và bảo mật được cải thiện so với khóa tài khoản để cho phép xác thực không mật khẩu. Cả hai tùy chọn được thể hiện trong ví dụ sau.

Không có mật khẩu (được đề xuất)

Chuỗi kết nốiStorage Blob Data Contributor to read and write blob data. To assign yourself this role, you'll need to be assigned the User Access Administrator role, or another role that includes the Microsoft.Authorization/roleAssignments/write action. You can assign Azure RBAC roles to a user using the Azure portal, Azure CLI, or Azure PowerShell. You can learn more about the available scopes for role assignments on the scope overview page.

import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

try:
    print("Azure Blob Storage Python quickstart sample")

    # Quickstart code goes here

except Exception as ex:
    print('Exception:')
    print(ex)
0 hỗ trợ nhiều phương thức xác thực và xác định phương thức nào nên được sử dụng trong thời gian chạy. Cách tiếp cận này cho phép ứng dụng của bạn sử dụng các phương thức xác thực khác nhau trong các môi trường khác nhau (địa phương so với sản xuất) mà không thực hiện mã dành riêng cho môi trường.

Ví dụ sau đây sẽ gán vai trò đóng góp dữ liệu blob lưu trữ cho tài khoản người dùng của bạn, cung cấp cả quyền truy cập đọc và ghi vào dữ liệu blob trong tài khoản lưu trữ của bạn.Storage Blob Data Contributor role to your user account, which provides both read and write access to blob data in your storage account.

Quan trọng

Trong hầu hết các trường hợp, sẽ mất một hoặc hai phút để gán vai trò để tuyên truyền trong Azure, nhưng trong những trường hợp hiếm hoi, có thể mất tới tám phút. Nếu bạn nhận được lỗi xác thực khi lần đầu tiên chạy mã của mình, hãy đợi một vài khoảnh khắc và thử lại.

  • Cổng thông tin Azure
  • Azure cli
  • Powershell
  1. Trong cổng thông tin Azure, hãy xác định vị trí tài khoản lưu trữ của bạn bằng thanh tìm kiếm chính hoặc điều hướng bên trái.

  2. Trên trang tổng quan về tài khoản lưu trữ, chọn Truy cập Control (IAM) từ menu bên trái.Access control (IAM) from the left-hand menu.

  3. Trên trang Kiểm soát truy cập (IAM), chọn tab Bài tập Vai trò.Access control (IAM) page, select the Role assignments tab.

  4. Chọn + Thêm từ menu trên cùng và sau đó thêm gán vai trò từ menu thả xuống kết quả.+ Add from the top menu and then Add role assignment from the resulting drop-down menu.

    Hướng dẫn delete blob azure python - xóa blob azure python

  5. Sử dụng hộp tìm kiếm để lọc kết quả cho vai trò mong muốn. Đối với ví dụ này, tìm kiếm người đóng góp dữ liệu blob lưu trữ và chọn kết quả phù hợp và sau đó chọn tiếp theo.Next.

  6. Trong Gán quyền truy cập, chọn người dùng, nhóm hoặc hiệu trưởng dịch vụ, sau đó chọn + chọn Thành viên.Assign access to, select User, group, or service principal, and then choose + Select members.

  7. Trong hộp thoại, tìm kiếm tên người dùng quảng cáo Azure của bạn (thường là địa chỉ email của người dùng@tên miền của bạn) và sau đó chọn Chọn ở dưới cùng của hộp thoại.Select at the bottom of the dialog.

  8. Chọn Đánh giá + gán để chuyển đến trang cuối cùng, sau đó xem lại + gán lại để hoàn thành quy trình.Review + assign to go to the final page, and then Review + assign again to complete the process.

Để gán vai trò ở cấp độ tài nguyên bằng cách sử dụng Azure CLI, trước tiên bạn phải truy xuất ID tài nguyên bằng lệnh

import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

try:
    print("Azure Blob Storage Python quickstart sample")

    # Quickstart code goes here

except Exception as ex:
    print('Exception:')
    print(ex)
4. Bạn có thể lọc các thuộc tính đầu ra bằng tham số
import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

try:
    print("Azure Blob Storage Python quickstart sample")

    # Quickstart code goes here

except Exception as ex:
    print('Exception:')
    print(ex)
5.

az storage account show --resource-group '' --name '' --query id

Sao chép đầu ra

import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

try:
    print("Azure Blob Storage Python quickstart sample")

    # Quickstart code goes here

except Exception as ex:
    print('Exception:')
    print(ex)
6 từ lệnh trước. Sau đó, bạn có thể gán vai trò bằng lệnh AZ Vai trò của Azure CLI.

az role assignment create --assignee "" \
    --role "Storage Blob Data Contributor" \
    --scope ""

Để gán vai trò ở cấp độ tài nguyên bằng cách sử dụng Azure PowerShell, trước tiên bạn phải truy xuất ID tài nguyên bằng lệnh

import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

try:
    print("Azure Blob Storage Python quickstart sample")

    # Quickstart code goes here

except Exception as ex:
    print('Exception:')
    print(ex)
7.

Get-AzResource -ResourceGroupName "" -Name ""

Sao chép giá trị

import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

try:
    print("Azure Blob Storage Python quickstart sample")

    # Quickstart code goes here

except Exception as ex:
    print('Exception:')
    print(ex)
6 từ đầu ra lệnh trước. Sau đó, bạn có thể gán các vai trò bằng cách sử dụng lệnh new-aeckrassign trong PowerShell.

New-AzRoleAssignment -SignInName  `
    -RoleDefinitionName "Storage Blob Data Contributor" `
    -Scope 

Đăng nhập và kết nối mã ứng dụng của bạn với Azure bằng DefaultAzureCredential

Bạn có thể ủy quyền quyền truy cập vào dữ liệu trong tài khoản lưu trữ của mình bằng các bước sau:

  1. Hãy chắc chắn rằng bạn đã được xác thực với cùng một tài khoản quảng cáo Azure mà bạn đã gán vai trò trên tài khoản lưu trữ của mình. Bạn có thể xác thực thông qua Azure CLI, Visual Studio Code hoặc Azure PowerShell.

    • Azure cli
    • Powershell
    • Powershell

    Trong cổng thông tin Azure, hãy xác định vị trí tài khoản lưu trữ của bạn bằng thanh tìm kiếm chính hoặc điều hướng bên trái.

    az login
    

    Trên trang tổng quan về tài khoản lưu trữ, chọn Truy cập Control (IAM) từ menu bên trái.

    Trên trang Kiểm soát truy cập (IAM), chọn tab Bài tập Vai trò.Terminal > New Terminal.

    Trong cổng thông tin Azure, hãy xác định vị trí tài khoản lưu trữ của bạn bằng thanh tìm kiếm chính hoặc điều hướng bên trái.

    az login
    

    Trên trang tổng quan về tài khoản lưu trữ, chọn Truy cập Control (IAM) từ menu bên trái.

    cd blob-quickstart
    
    0

  2. Trên trang Kiểm soát truy cập (IAM), chọn tab Bài tập Vai trò.azure-identity package is installed, and the class is imported:

    cd blob-quickstart
    
    1
  3. Chọn + Thêm từ menu trên cùng và sau đó thêm gán vai trò từ menu thả xuống kết quả.

    Sử dụng hộp tìm kiếm để lọc kết quả cho vai trò mong muốn. Đối với ví dụ này, tìm kiếm người đóng góp dữ liệu blob lưu trữ và chọn kết quả phù hợp và sau đó chọn tiếp theo.
  4. Trong Gán quyền truy cập, chọn người dùng, nhóm hoặc hiệu trưởng dịch vụ, sau đó chọn + chọn Thành viên.

    Hướng dẫn delete blob azure python - xóa blob azure python

    Trong hộp thoại, tìm kiếm tên người dùng quảng cáo Azure của bạn (thường là địa chỉ email của người dùng@tên miền của bạn) và sau đó chọn Chọn ở dưới cùng của hộp thoại.

    Chọn Đánh giá + gán để chuyển đến trang cuối cùng, sau đó xem lại + gán lại để hoàn thành quy trình.

Để gán vai trò ở cấp độ tài nguyên bằng cách sử dụng Azure CLI, trước tiên bạn phải truy xuất ID tài nguyên bằng lệnh

import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

try:
    print("Azure Blob Storage Python quickstart sample")

    # Quickstart code goes here

except Exception as ex:
    print('Exception:')
    print(ex)
4. Bạn có thể lọc các thuộc tính đầu ra bằng tham số
import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

try:
    print("Azure Blob Storage Python quickstart sample")

    # Quickstart code goes here

except Exception as ex:
    print('Exception:')
    print(ex)
5.

  • Cổng thông tin Azure
  • Azure cli
  • Powershell
  1. Trong cổng thông tin Azure, hãy xác định vị trí tài khoản lưu trữ của bạn bằng thanh tìm kiếm chính hoặc điều hướng bên trái.

  2. Trên trang tổng quan về tài khoản lưu trữ, chọn Truy cập Control (IAM) từ menu bên trái.

  3. Trên trang Kiểm soát truy cập (IAM), chọn tab Bài tập Vai trò.Security + networking, select Access keys. Here, you can view the account access keys and the complete connection string for each key.

  4. Chọn + Thêm từ menu trên cùng và sau đó thêm gán vai trò từ menu thả xuống kết quả.Access keys pane, select Show keys.

  5. Sử dụng hộp tìm kiếm để lọc kết quả cho vai trò mong muốn. Đối với ví dụ này, tìm kiếm người đóng góp dữ liệu blob lưu trữ và chọn kết quả phù hợp và sau đó chọn tiếp theo.key1 section, locate the Connection string value. Select the Copy to clipboard icon to copy the connection string. You'll add the connection string value to an environment variable in the next section.

    Hướng dẫn delete blob azure python - xóa blob azure python

Trong Gán quyền truy cập, chọn người dùng, nhóm hoặc hiệu trưởng dịch vụ, sau đó chọn + chọn Thành viên.

cd blob-quickstart
3

Trong hộp thoại, tìm kiếm tên người dùng quảng cáo Azure của bạn (thường là địa chỉ email của người dùng@tên miền của bạn) và sau đó chọn Chọn ở dưới cùng của hộp thoại.

cd blob-quickstart
4

Định cấu hình chuỗi kết nối lưu trữ của bạn

Sau khi bạn sao chép chuỗi kết nối, hãy viết nó vào một biến môi trường mới trên máy cục bộ chạy ứng dụng. Để đặt biến môi trường, hãy mở cửa sổ bảng điều khiển và làm theo hướng dẫn cho hệ điều hành của bạn. Thay thế

az storage account show --resource-group '' --name '' --query id
4 bằng chuỗi kết nối thực tế của bạn.

Windows::

cd blob-quickstart
5

Sau khi bạn thêm biến môi trường trong Windows, bạn phải bắt đầu một phiên bản mới của cửa sổ lệnh.

Linux::

cd blob-quickstart
6

Mã bên dưới lấy chuỗi kết nối cho tài khoản lưu trữ từ biến môi trường được tạo trước đó và sử dụng chuỗi kết nối để xây dựng đối tượng máy khách dịch vụ.

Thêm mã này bên trong khối

az storage account show --resource-group '' --name '' --query id
1:

cd blob-quickstart
7

Quan trọng

Khóa truy cập tài khoản nên được sử dụng một cách thận trọng. Nếu khóa truy cập tài khoản của bạn bị mất hoặc vô tình được đặt ở một vị trí không an toàn, dịch vụ của bạn có thể trở nên dễ bị tổn thương. Bất cứ ai có khóa truy cập đều có thể ủy quyền các yêu cầu đối với tài khoản lưu trữ và hiệu quả đều có quyền truy cập vào tất cả các dữ liệu.

import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

try:
    print("Azure Blob Storage Python quickstart sample")

    # Quickstart code goes here

except Exception as ex:
    print('Exception:')
    print(ex)
0 cung cấp các tính năng và lợi ích bảo mật nâng cao và là cách tiếp cận được khuyến nghị để quản lý ủy quyền cho các dịch vụ Azure.

Tạo một container

Quyết định tên cho container mới. Mã bên dưới nối giá trị UUID vào tên container để đảm bảo rằng nó là duy nhất.

Gọi phương thức created_container để thực sự tạo container trong tài khoản lưu trữ của bạn.

Thêm mã này vào cuối khối

az storage account show --resource-group '' --name '' --query id
1:

cd blob-quickstart
8

Tải Blobs lên một thùng chứa

Đoạn mã sau:

  1. Tạo một thư mục cục bộ để giữ các tệp dữ liệu.
  2. Tạo một tệp văn bản trong thư mục cục bộ.
  3. Nhận được tham chiếu đến một đối tượng Blobclient bằng cách gọi phương thức GET_BLOB_CLIENT trên BlobServiceClient từ phần Tạo một phần chứa.
  4. Tải lên tệp văn bản cục bộ lên blob bằng cách gọi phương thức upload_blob.

Thêm mã này vào cuối khối

az storage account show --resource-group '' --name '' --query id
1:

cd blob-quickstart
9

Tải Blobs lên một thùng chứa

Đoạn mã sau:

Thêm mã này vào cuối khối

az storage account show --resource-group '' --name '' --query id
1:

pip install azure-storage-blob azure-identity
0

Tải Blobs lên một thùng chứa

Đoạn mã sau:

Thêm mã này vào cuối khối

az storage account show --resource-group '' --name '' --query id
1:

pip install azure-storage-blob azure-identity
1

Tải Blobs lên một thùng chứa

Đoạn mã sau:

Tạo một thư mục cục bộ để giữ các tệp dữ liệu.

Thêm mã này vào cuối khối

az storage account show --resource-group '' --name '' --query id
1:

pip install azure-storage-blob azure-identity
2

Tải Blobs lên một thùng chứa

Đoạn mã sau:

Tạo một thư mục cục bộ để giữ các tệp dữ liệu.

Tạo một tệp văn bản trong thư mục cục bộ.

Nhận được tham chiếu đến một đối tượng Blobclient bằng cách gọi phương thức GET_BLOB_CLIENT trên BlobServiceClient từ phần Tạo một phần chứa.

pip install azure-storage-blob azure-identity
4

Tải lên tệp văn bản cục bộ lên blob bằng cách gọi phương thức upload_blob.

Liệt kê các đốm màu trong một thùng chứa

Liệt kê các đốm màu trong container bằng cách gọi phương thức list_blobs. Trong trường hợp này, chỉ có một blob đã được thêm vào container, vì vậy hoạt động niêm yết chỉ trả về một đốm màu đó.Enter key to delete the test files along with the container you created in the storage account. You can also use Azure CLI to delete resources.

Tải về Blobs

Tải xuống Blob được tạo trước đó bằng cách gọi phương thức Tải xuống_blob. Mã ví dụ thêm một hậu tố của "Tải xuống" vào tên tệp để bạn có thể thấy cả hai tệp trong hệ thống tệp cục bộ.

Xóa một container

  • Mã sau đây làm sạch các tài nguyên mà ứng dụng đã tạo bằng cách xóa toàn bộ container bằng phương thức Delete_Container. Bạn cũng có thể xóa các tệp cục bộ, nếu bạn muốn.
  • Ứng dụng tạm dừng đầu vào của người dùng bằng cách gọi
    az role assignment create --assignee "" \
        --role "Storage Blob Data Contributor" \
        --scope ""
    
    1 trước khi xóa các tệp blob, container và các tệp cục bộ. Xác minh rằng các tài nguyên đã được tạo chính xác trước khi chúng bị xóa.

Chạy mã

Ứng dụng này tạo một tệp thử nghiệm trong thư mục cục bộ của bạn và tải nó lên lưu trữ Azure Blob. Ví dụ sau đó liệt kê các đốm màu trong container và tải xuống tệp với một tên mới. Bạn có thể so sánh các tệp cũ và mới.