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 = "****************************"
0Sau đó, cài đặt các phụ thuộc
from azure.storage.blob import BlobClient
# paste connection string below
conn_str = "****************************"
1Cuố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 = "****************************"
2Sử 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