Tải tệp lên blob Python

Azure là một dịch vụ lưu trữ đám mây được cung cấp bởi Microsoft. Azure cung cấp API Python “Azure” để cho phép các lập trình viên Python tương tác với bộ nhớ đám mây một cách dễ dàng. Trong hướng dẫn này, chúng ta sẽ học cách sử dụng Azure Python SDK để di chuyển tệp từ máy cục bộ sang bộ lưu trữ đám mây Azure

Yêu cầu

Đối với mục đích của hướng dẫn này, bạn phải cài đặt Azure trong môi trường Python của mình. Bạn có thể cài đặt SDK Azure bằng cách sử dụng pip theo cách sau

pip install azure

Hơn nữa, bạn phải có tài khoản Azure với dịch vụ lưu trữ đám mây đang hoạt động trên đó. Xét cho cùng, hướng dẫn này là để hiểu cách sử dụng Azure Python SDK để di chuyển tệp sang bộ lưu trữ đám mây Azure. Để tìm hiểu về cách tạo tài khoản Azure và kích hoạt lưu trữ đám mây, vui lòng nhấp vào đây

Hãy tạo dự án đầu tiên của chúng tôi trên bộ lưu trữ đám mây Azure có tên là “myfirstproject”. Theo đó, chúng tôi tạo một vùng chứa có tên là “datacourse-007”. Khi bạn tạo tài khoản mới trên Azure, nó sẽ cung cấp cho bạn một cổng thông tin mà bạn có thể sử dụng để tạo dự án và cũng có thể tạo vùng chứa trong đó như hình bên dưới

Cho đến nay, chúng tôi đã cài đặt Thư viện Azure Python bằng pip và chúng tôi đã thiết lập bộ chứa trên tài khoản lưu trữ đám mây

Hãy chuyển sang phần lập trình Python của chúng ta

Tải tệp lên bộ lưu trữ Azure

Khi chúng tôi tạo vùng chứa, Azure cung cấp cho bạn chuỗi kết nối dưới dạng khóa bí mật mà bạn có thể sử dụng để truy cập bộ nhớ đám mây từ các ứng dụng của bên thứ ba [trong trường hợp này là chương trình Python của chúng tôi]

Vì vậy, trước tiên hãy nhập thư viện Azure bằng Python và lưu trữ chuỗi kết nối đó trong biến conn_string như hình bên dưới

from azure.storage.blob import BlobClient
# paste connection string below
conn_str = "****************************"

Trên bộ lưu trữ Azure, các tệp được coi là Blobs. Vì vậy, khi bạn tải bất kỳ tệp nào lên Azure, tệp đó sẽ được gọi là Blob

Để tải tệp dưới dạng Blob lên Azure, chúng ta cần tạo BlobClient bằng thư viện Azure

blob_client = BlobClient[conn_string=conn_str,container_name="datacourses-007",blob_name="testing.txt"]

Trong khi tạo blob_client, bạn phải chuyển connection_string, tên vùng chứa và blob_name làm tham số cho phương thức BlobClient[]

Khi blob_client được tạo, chúng tôi có thể mở luồng tới tệp của mình và có thể gọi blob_client. upload_data[] để tải nội dung của tệp đó lên Azure Blob

# let's upload file to blob

try:
    with open['testing.txt',"rb"] as f:
        blob.upload_blob[f]
        print['testing.txt uploaded to container: datacourses-007 successfully']

except Exception as e:
    print[e]

Hãy xác minh điều đó bằng cách làm mới cổng vùng chứa của chúng tôi trên Azure.

Vì vậy, ở đây chúng ta có thể thấy rằng thử nghiệm của chúng tôi. txt được tải lên dưới dạng Blob vào vùng chứa của chúng tôi, datacourses-007

Tải xuống tệp từ Azure Container

Bây giờ, chúng tôi viết một chương trình để tải xuống một tệp từ bộ chứa Azure

Trước hết, chúng tôi nhập BlobClient từ azure. kho. blob và chuyển connection_string của chúng ta tới biến conn_str

from azure.storage.blob import BlobClient
# enter your connection string below
conn_str = "**************************"

Bây giờ chúng tôi bắt đầu đối tượng blob như sau

blob = BlobClient.from_connection_string[conn_str=conn_str,container_name="datacourses-007", blob_name="testing.txt"]

Mở luồng trình ghi tệp có tên tệp “downloaded_testing. txt” và gọi blob. phương thức download_blob[]

try:
    with open['downloaded_testing.txt',"wb"] as f:
        f.write[blob.download_blob[].readall[]]
        print['testing.txt downloaded from container: datacourses-007 successfully']

except Exception as e:
    print[e]
testing.txt downloaded from container: datacourses-007 successfully

Tóm lược

Trong hướng dẫn này, chúng ta đã học cách tải lên và tải xuống các tệp từ bộ chứa lưu trữ đám mây Azure. Chúng tôi đã khám phá các phương pháp tải tệp lên và tải xuống tệp bằng API Python do Azure cung cấp. Chúng tôi đã hiểu về cấu trúc của Azure cloud storage, container và Blobs

Sau khi Tài khoản lưu trữ của bạn được tạo. Bấm vào nó để mở nó. Chọn Cài đặt > Phím truy cập > Phím1/phím, sao chép chuỗi Kết nối được liên kết vào khay nhớ tạm, sau đó dán vào trình soạn thảo văn bản để sử dụng sau

Đặt chuỗi kết nối vào một biến môi trường

Giải pháp này yêu cầu một chuỗi kết nối được lưu trữ an toàn trong một biến môi trường trên máy chạy mẫu. Thực hiện theo một trong các ví dụ bên dưới tùy thuộc vào hệ điều hành của bạn để tạo biến môi trường. Nếu sử dụng Windows, hãy đóng IDE hoặc Shell đang mở của bạn và khởi động lại nó để có thể đọc biến môi trường

Linux

________số 8

các cửa sổ

setx AZURE_STORAGE_CONNECTIONSTRING ""

Thiết lập

Đầu tiên, sao chép kho lưu trữ trên máy của bạn

from azure.storage.blob import BlobClient
# paste connection string below
conn_str = "****************************"
0

Sau đó, cài đặt các phụ thuộc

from azure.storage.blob import BlobClient
# paste connection string below
conn_str = "****************************"
1

Cuối cùng, thực hiện lệnh sau để chạy mẫu này

from azure.storage.blob import BlobClient
# paste connection string below
conn_str = "****************************"
2

Sử dụng SDK lưu trữ mới nhất

Phiên bản gói SDK lưu trữ ở đây là 2. x. x, nếu bạn đang sử dụng phiên bản mới nhất của gói SDK lưu trữ, vui lòng tham khảo các ví dụ sau

  • blob_samples_hello_world. py - Ví dụ cho các tác vụ Storage Blob phổ biến
    • Tạo một thùng chứa
    • Tạo một khối, trang hoặc nối thêm đốm màu
    • Tải tệp lên blob
    • Tải xuống một đốm màu
    • Xóa một đốm màu
    • Xóa vùng chứa
  • blob_samples_enumerate_blobs. py- Ví dụ để liệt kê các đốm màu
    • Liệt kê các đốm màu

Đóng góp

Dự án này hoan nghênh những đóng góp và đề xuất. Hầu hết các đóng góp đều yêu cầu bạn đồng ý với Thỏa thuận cấp phép cộng tác viên [CLA] tuyên bố rằng bạn có quyền và thực sự làm như vậy, cấp cho chúng tôi quyền sử dụng đóng góp của bạn. Để biết chi tiết, hãy truy cập https. //cla. Microsoft. com

Khi bạn gửi yêu cầu kéo, CLA-bot sẽ tự động xác định xem bạn có cần cung cấp CLA và trang trí PR một cách thích hợp hay không [e. g. , nhãn, nhận xét]. Chỉ cần làm theo các hướng dẫn được cung cấp bởi bot. Bạn sẽ chỉ cần thực hiện việc này một lần trên tất cả các kho sử dụng CLA của chúng tôi

Dự án này đã áp dụng Bộ quy tắc ứng xử mã nguồn mở của Microsoft. Để biết thêm thông tin, hãy xem Câu hỏi thường gặp về Quy tắc ứng xử hoặc liên hệ với opencode@microsoft. com với bất kỳ câu hỏi hoặc ý kiến ​​​​thêm

Làm cách nào để tải tệp CSV lên bộ lưu trữ blob Azure bằng Python?

Tải mã Python csv[df] trở lại azure blob .
nhập gấu trúc dưới dạng pd
nhập numpy dưới dạng np
nhập ngày giờ
nhập hệ điều hành, uuid
từ màu xanh. kho. blob nhập BlobServiceClient, BlobClient, ContainerClient, __version__
chức năng xác định [df]
[hoạt động df]
một = df. to_csv['current19. csv', chỉ mục=Sai]

Làm cách nào để nhận URL blob sau khi tải tệp lên trong Azure Python?

Giả sử bạn đang tải các đốm màu lên bộ nhớ blob bằng cách sử dụng. Net bằng cách tạo một phiên bản của CloudBlockBlob , bạn có thể lấy URL của blob bằng cách đọc thuộc tính Uri của blob .

Tải lên blob là gì?

Đối tượng lớn nhị phân [blob] là tập hợp dữ liệu có kích thước tùy ý . Các đốm màu không phải tuân theo một định dạng nhất định hoặc có bất kỳ siêu dữ liệu nào được liên kết với chúng. Chúng là một chuỗi các byte, với mỗi byte được tạo thành từ 8 bit [1 hoặc 0, do đó là bộ mô tả "nhị phân"]. Bất kỳ loại dữ liệu nào cũng có thể xuất hiện trong một đốm màu.

Chủ Đề