Lưu trữ Azure Blob là giải pháp lưu trữ các đối tượng của Microsoft cho đám mây. Lưu trữ blob được tối ưu hóa để lưu trữ lượng lớn dữ liệu phi cấu trúc, chẳng hạn như dữ liệu văn bản hoặc phân tích
Nội dung chính Hiển thị
- Start
- điều kiện tiên quyết
- Cài đặt gói
- Tạo một tài khoản lưu trữ
- Tạo khách hàng
- khách hàng
- Máy khách không đồng bộ
- Các loại màu
- Tạo một thùng chứa
- Đang tải lên một màu
- Đang tải xuống một màu
- list of the color
- Configure option
- Try to reconfiguric book
- config code code
- Cấu hình máy khách / mỗi hoạt động khác
- Xử lý sự cố
- ghi nhật ký
- Bước tiếp theo
- Add pattern code
- bổ sung tài liệu
- Đóng góp
Lưu trữ Blob là lý tưởng cho
- Cung cấp hình ảnh hoặc tài liệu trực tiếp tới trình duyệt
- Lưu trữ tệp để truy cập phân tán
- Truyền phát video và âm thanh
- Lưu trữ dữ liệu để sao lưu và khôi phục, giải quyết sự cố và lưu trữ
- Lưu trữ dữ liệu để phân tích bằng dịch vụ tại chỗ hoặc được lưu trữ trên Azure
Mã nguồn. Package [PyPI]. API tham khảo tài liệu. tài liệu sản phẩm. mẫu
Start
điều kiện tiên quyết
Cài đặt gói
Cài đặt thư viện máy khách Azure Storage Blobs cho Python bằng pip
pip install azure-storage-blob
Tạo một tài khoản lưu trữ
Nếu muốn tạo tài khoản lưu trữ mới, bạn có thể sử dụng Azure Portal, Azure PowerShell hoặc Azure CLI
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group
Tạo khách hàng
Thư viện máy khách Azure Storage Blobs dành cho Python cho phép bạn tương tác với ba loại tài nguyên. chính tài khoản lưu trữ, bộ chứa lưu trữ blob và blobs. Tương tác với các tài nguyên này bắt đầu bằng một phiên bản của máy khách. Để tạo đối tượng khách hàng, bạn cần phải URL tài khoản dịch vụ blob của tài khoản lưu trữ và thông tin xác thực cho phép bạn truy cập vào tài khoản lưu trữ
from azure.storage.blob import BlobServiceClient service = BlobServiceClient[account_url="//.blob.core.windows.net/", credential=credential]
Tra cứu tài khoản URL
Bạn có thể tìm thấy URL dịch vụ blob của tài khoản lưu trữ bằng Azure Portal, Azure PowerShell hoặc Azure CLI
# Get the blob service account url for the storage account az storage account show -n my-storage-account-name -g my-resource-group --query "primaryEndpoints.blob"
Các loại thông tin đăng nhập
Tham số
from azure.storage.blob import BlobServiceClient service = BlobServiceClient[account_url="//.blob.core.windows.net/", credential=credential]0 có thể được cấp ở một số định dạng khác nhau, tùy thuộc vào loại ủy quyền mà bạn muốn sử dụng
Để sử dụng thông tin xác thực mã thông báo Azure Active Directory [AAD], hãy cung cấp một phiên bản của loại thông tin xác thực mong muốn có được từ thư viện nhận định dạng azure. Ví dụ. Mặc địnhAzureCredential có thể được sử dụng để xác thực ứng dụng khách
Điều này yêu cầu một số thiết lập ban đầu
- Cài đặt nhận định dạng azure
- Đăng ký ứng dụng AAD mới và cấp quyền truy cập Azure Storage
- Cấp quyền truy cập vào dữ liệu Azure Blob bằng RBAC trong Azure Azure Portal
- Đặt giá trị của ID ứng dụng khách, ID đối tượng thuê và bí mật ứng dụng khách của ứng dụng AAD làm biến môi trường. AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET
Sử dụng thông tin xác thực mã thông báo được trả lại để xác thực ứng dụng khách
from azure.identity import DefaultAzureCredential from azure.storage.blob import BlobServiceClient token_credential = DefaultAzureCredential[] blob_service_client = BlobServiceClient[ account_url="//.blob.core.windows.net", credential=token_credential ]
Để sử dụng mã thông báo chữ ký truy cập được chia sẻ [SAS], hãy cung cấp mã thông báo dưới dạng chuỗi. Nếu URL tài khoản của bạn bao gồm mã thông báo SAS, hãy bỏ qua tham số thông tin xác thực. Bạn có thể tạo mã thông báo SAS từ Cổng thông tin Azure trong "Chữ ký truy cập được chia sẻ" hoặc sử dụng một trong các chức năng của
from azure.storage.blob import BlobServiceClient service = BlobServiceClient[account_url="//.blob.core.windows.net/", credential=credential]
1 để tạo mã thông báo sas cho tài khoản lưu trữ, bộ chứa hoặc blobfrom datetime import datetime, timedelta from azure.storage.blob import BlobServiceClient, generate_account_sas, ResourceTypes, AccountSasPermissions sas_token = generate_account_sas[ account_name="", account_key="", resource_types=ResourceTypes[service=True], permission=AccountSasPermissions[read=True], expiry=datetime.utcnow[] + timedelta[hours=1] ] blob_service_client = BlobServiceClient[account_url="//.blob.core.windows.net", credential=sas_token]
Để sử dụng khóa sử dụng chung của tài khoản lưu trữ [còn được gọi là khóa tài khoản hoặc khóa truy cập], hãy cung cấp khóa dưới dạng chuỗi. Điều này có thể được tìm thấy trong Cổng thông tin Azure trong phần "Khóa truy cập" hoặc bằng cách chạy lệnh Azure CLI sau
from azure.storage.blob import BlobServiceClient service = BlobServiceClient[account_url="//.blob.core.windows.net/", credential=credential]
2Sử dụng từ khóa làm tham số thông tin xác thực để xác thực ứng dụng của khách hàng
from azure.storage.blob import BlobServiceClient service = BlobServiceClient[account_url="//.blob.core.windows.net", credential=""]
Nếu bạn đang sử dụng tùy chỉnh url [có nghĩa là url không có định dạng này
from azure.storage.blob import BlobServiceClient service = BlobServiceClient[account_url="//.blob.core.windows.net/", credential=credential]
3], vui lòng khởi động ứng dụng khách bằng thông tin xác thực bên dưới# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group
1Để sử dụng quyền truy cập đọc công khai ẩn danh, chỉ cần bỏ qua tham số thông tin xác thực
Tạo ứng dụng khách từ chuỗi kết nối
Tùy thuộc vào trường hợp sử dụng và phương thức ủy quyền của bạn, bạn có thể muốn khởi động phiên bản ứng dụng khách bằng chuỗi kết nối lưu trữ thay vì cung cấp tài khoản URL riêng và thông tin xác thực. Để thực hiện công việc này, hãy chuyển chuỗi kết nối lưu trữ tới lớp phương thức
from azure.storage.blob import BlobServiceClient service = BlobServiceClient[account_url="//.blob.core.windows.net/", credential=credential]4 của máy khách
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group3
Bạn có thể tìm thấy chuỗi kết nối với tài khoản lưu trữ của mình trong Cổng thông tin Azure trong phần "Khóa truy cập" hoặc bằng cách chạy lệnh CLI sau
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group4
Ý chính
Các thành phần sau được tạo nên Dịch vụ Azure Blob
- Bản thân tài khoản lưu trữ
- Một vùng chứa trong tài khoản lưu trữ
- Một số màu trong một vùng chứa
Thư viện máy khách Azure Storage Blobs dành cho Python cho phép bạn tương tác với từng thành phần này thông qua việc sử dụng một đối tượng máy khách chuyên dụng
khách hàng
Bốn ứng dụng khách khác nhau được cung cấp để tương tác với các thành phần khác nhau của Dịch vụ Blob
- BlobServiceClient - ứng dụng khách này đại diện cho sự tương tác với chính tài khoản lưu trữ Azure và cho phép bạn có được các phiên bản ứng dụng khách được cấu hình sẵn để truy cập các vùng chứa và màu sắc bên trong. Nó cung cấp các hoạt động để truy xuất và định cấu hình thuộc tính tài khoản cũng như liệt kê, tạo và xóa các vùng chứa trong tài khoản. Để thực hiện các thao tác trên một vùng chứa hoặc màu cụ thể, hãy truy xuất ứng dụng khách hàng bằng phương pháp
from azure.storage.blob import BlobServiceClient service = BlobServiceClient[account_url="//.blob.core.windows.net/", credential=credential]
5 hoặcfrom azure.storage.blob import BlobServiceClient service = BlobServiceClient[account_url="//.blob.core.windows.net/", credential=credential]
6 - ContainerClient - ứng dụng khách này có thể hiện sự tương tác với một vùng chứa công cụ có thể [chưa cần tồn tại] và cho phép bạn có phiên bản ứng dụng khách được cấu hình sẵn để truy cập các màu bên trong. Nó cung cấp các hoạt động để tạo, xóa hoặc định cấu hình vùng chứa và bao gồm các hoạt động để liệt kê, tải lên và xóa các màu bên trong vùng chứa đó. Để thực hiện các thao tác trên một công cụ màu có thể có trong vùng chứa, hãy truy cập ứng dụng khách hàng xuất ra bằng phương pháp
from azure.storage.blob import BlobServiceClient service = BlobServiceClient[account_url="//.blob.core.windows.net/", credential=credential]
6 - BlobClient - ứng dụng khách này có thể hiện sự tương tác với một công cụ màu cụ thể [chưa cần tồn tại]. Nó cung cấp các thao tác để tải lên, tải xuống, xóa và tạo ảnh chụp nhanh của một màu nào đó, cũng như các thao tác cụ thể cho từng loại màu
- BlobLeaseClient - khách hàng này đại diện cho các tương tác cho thuê với
from azure.storage.blob import BlobServiceClient service = BlobServiceClient[account_url="//.blob.core.windows.net/", credential=credential]
8 hoặcfrom azure.storage.blob import BlobServiceClient service = BlobServiceClient[account_url="//.blob.core.windows.net/", credential=credential]
9. Nó cung cấp các hoạt động để có được, gia hạn, phát hành, thay đổi và phá vỡ hợp đồng thuê trên một tài nguyên cụ thể
Máy khách không đồng bộ
Thư viện này bao gồm một API không đồng bộ hoàn chỉnh được hỗ trợ trên Python 3. 5+. Để sử dụng nó, trước tiên bạn phải cài đặt một phương tiện truyền tải không đồng bộ, chẳng hạn như aiohttp. Xem tài liệu Azure-core để biết thêm thông tin
Các ứng dụng khách và thông tin xác thực không đồng bộ sẽ bị đóng khi chúng không còn cần thiết nữa. Các đối tượng này là trình quản lý cảnh không đồng bộ và xác định các phương thức
# Get the blob service account url for the storage account az storage account show -n my-storage-account-name -g my-resource-group --query "primaryEndpoints.blob"0 không đồng bộ
Các loại màu
Khi bạn khởi động máy khách, bạn có thể chọn từ các loại màu khác nhau
- Chặn các blobs lưu trữ văn bản và dữ liệu nhị phân, tối đa khoảng 4. 75 TiB. Block blobs được tạo thành từ các khối dữ liệu có thể được quản lý riêng lẻ
- Nối các blobs được tạo thành từ các khối giống như khối blobs, nhưng được tối ưu hóa cho các hoạt động nối thêm. Việc kết hợp các màu sắc là lý tưởng cho các vấn đề như ghi dữ liệu từ máy ảo
- Các trang lưu trữ các tệp truy cập ngẫu nhiên có kích thước lên tới 8 TiB. Các trang lưu trữ các tệp ổ cứng ảo [VHD] và đóng vai trò là đĩa cho máy ảo Azure
ví dụ
Các phần sau đây cung cấp một số đoạn mã bao gồm một số tác vụ Storage Blob phổ biến nhất, bao gồm
Lưu ý rằng vùng chứa phải được tạo trước để tải lên hoặc tải xuống blob
Tạo một thùng chứa
Tạo vùng chứa từ nơi bạn có thể tải lên hoặc tải xuống các màu
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group0
Sử dụng ứng dụng khách không đồng bộ để tải lên một màu
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group1
Đang tải lên một màu
Tải một địa chỉ màu lên vùng chứa của bạn
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group2
Sử dụng ứng dụng khách không đồng bộ để tải lên một màu
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group3
Đang tải xuống một màu
Tải xuống một màu từ vùng chứa của bạn
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group4
Load down a other color does not ĐỒNG BỘ
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group5
list of the color
Listing of the color in the area of you
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group6
List of the color are not ĐỒNG BỘ
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group7
Configure option
Các đối số từ khóa tùy chọn có thể được chuyển vào ở cấp độ máy khách và mỗi hoạt động
Try to reconfiguric book
Sử dụng các đối số từ khóa sau khi khởi động ứng dụng khách để định cấu hình chính sách thử lại
- try_total [int]. Total number times try again to allow. Được ưu tiên hơn các số lượng khác. Move to
# Get the blob service account url for the storage account az storage account show -n my-storage-account-name -g my-resource-group --query "primaryEndpoints.blob"
1 if you don't want to try again the request. Default is 10 - try again_connect connection [int]. Có bao nhiêu lỗi liên quan đến kết nối để thử lại. Default is 3
- try again_read [int]. Number times try again when read error. Default is 3
- try again_status [int]. Bad status code number times. Default is 3
- retry_to_secondary [bool]. The request has should be try again to the level or not, if could. Điều này chỉ nên được kích hoạt khi tài khoản RA-GRS được sử dụng và có thể xử lý dữ liệu cũ có thể xảy ra. Default is
# Get the blob service account url for the storage account az storage account show -n my-storage-account-name -g my-resource-group --query "primaryEndpoints.blob"
2
config code code
Sử dụng các đối số từ khóa sau khi khởi động ứng dụng khách để định cấu hình mã hóa
- yêu cầu mã hóa [sách]. Nếu được đặt thành True, sẽ xác thực rằng các đối tượng được mã hóa và giải mã chúng
- code_version [str]. Chỉ định phiên bản mã hóa để sử dụng. Các tùy chọn hiện tại là
# Get the blob service account url for the storage account az storage account show -n my-storage-account-name -g my-resource-group --query "primaryEndpoints.blob"
3 hoặc# Get the blob service account url for the storage account az storage account show -n my-storage-account-name -g my-resource-group --query "primaryEndpoints.blob"
4 và giá trị mặc định là# Get the blob service account url for the storage account az storage account show -n my-storage-account-name -g my-resource-group --query "primaryEndpoints.blob"
4. Version 1. 0 không được sử dụng nữa và rất khuyến khích sử dụng phiên bản 2. 0 - key_encryption_key [đối tượng]. Key code do user cung cấp. Ví dụ phải thực hiện các phương pháp sau
# Get the blob service account url for the storage account az storage account show -n my-storage-account-name -g my-resource-group --query "primaryEndpoints.blob"
6--bao bọc khóa đã được chỉ định bằng thuật toán do người dùng lựa chọn# Get the blob service account url for the storage account az storage account show -n my-storage-account-name -g my-resource-group --query "primaryEndpoints.blob"
7--trả về thuật toán được sử dụng để bọc khóa đối sánh đã định sẵn# Get the blob service account url for the storage account az storage account show -n my-storage-account-name -g my-resource-group --query "primaryEndpoints.blob"
8--trả về id khóa chuỗi cho khóa-mã hóa-khóa này
- key_resolver_function [có thể gọi là được]. Trình giải mã khóa do người dùng cung cấp. Use string con to return on the key code the key development open interface was verify on
Cấu hình máy khách / mỗi hoạt động khác
Các đối số từ khóa cấu hình tùy chọn khác có thể chỉ được xác định trên máy khách hoặc trên mỗi thao tác
Đối số từ khóa khách hàng
- hết_thời gian kết nối [int]. Số giây mà máy khách sẽ đợi để thiết lập kết nối với máy chủ. Default is 20 seconds
- read time time [int]. Số giây mà máy khách sẽ đợi, giữa các thao tác đọc liên tiếp, để nhận phản hồi từ máy chủ. Đây là thời gian chờ cấp cho ổ cắm và không bị ảnh hưởng do kích thước tổng thể của dữ liệu. Hết thời gian chờ đợi phía máy khách sẽ tự động thử lại. Default is 60 seconds
- transfer [bất thường]. Phương thức chuyển giao do người dùng cung cấp để gửi yêu cầu HTTP
Đối số từ khóa cho mỗi thao tác
- raw_response_hook [có thể gọi là được]. Calling back to used to return to return from the service
- raw_request_hook [có thể gọi là được]. Conversation back to used to use before when being send to the service
- client_request_id [str]. Nhận dạng tùy chọn do người dùng chỉ định của yêu cầu
- user_agent [str]. Nối giá trị tùy chỉnh vào tiêu đề tác nhân người dùng sẽ được gửi cùng với yêu cầu
- logging_enable [bool]. Cho phép ghi nhật ký ở cấp GỠ LỖI. Default is invalid. Cũng có thể được chuyển vào máy khách cấp độ để kích hoạt nó cho tất cả các yêu cầu
- log_body [bool]. Cho phép ghi nhật ký nội dung yêu cầu và phản hồi. Default is invalid. Cũng có thể được chuyển vào máy khách cấp độ để kích hoạt nó cho tất cả các yêu cầu
- tiêu đề [dict]. Chuyển vào tùy chỉnh tiêu đề dưới dạng cặp từ khóa, giá trị. e. g.
# Get the blob service account url for the storage account az storage account show -n my-storage-account-name -g my-resource-group --query "primaryEndpoints.blob"
9
Xử lý sự cố
Chung
Máy khách Storage Blob đưa ra các ngoại lệ đã được xác định trong Azure Core
Danh sách này có thể được sử dụng để tham khảo để bắt các ngoại lệ bị ném. Để truy xuất mã lỗi cụ thể của ngoại lệ, hãy sử dụng thuộc tính
from azure.identity import DefaultAzureCredential from azure.storage.blob import BlobServiceClient token_credential = DefaultAzureCredential[] blob_service_client = BlobServiceClient[ account_url="//.blob.core.windows.net", credential=token_credential ]0, tôi. đ,______51
ghi nhật ký
Thư viện này sử dụng thư viện ghi tiêu chuẩn để ghi nhật ký. Thông tin cơ bản về phiên bản HTTP [URL, tiêu đề, v. v. ] was write by INFO
Ghi nhật ký định mức GỠ LỖI chi tiết, bao gồm nội dung yêu cầu/đồ phục hồi và tiêu đề chưa được chỉnh sửa, có thể được bật trên máy khách với các đối số
from azure.identity import DefaultAzureCredential from azure.storage.blob import BlobServiceClient token_credential = DefaultAzureCredential[] blob_service_client = BlobServiceClient[ account_url="//.blob.core.windows.net", credential=token_credential ]2
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group8
Tương tự,
from azure.identity import DefaultAzureCredential from azure.storage.blob import BlobServiceClient token_credential = DefaultAzureCredential[] blob_service_client = BlobServiceClient[ account_url="//.blob.core.windows.net", credential=token_credential ]2 có thể bật ghi nhật ký chi tiết cho một thao tác, ngay cả khi nó không được bật cho máy khách
# Create a new resource group to hold the storage account - # if using an existing resource group, skip this step az group create --name my-resource-group --location westus2 # Create the storage account az storage account create -n my-storage-account-name -g my-resource-group9
Bước tiếp theo
Add pattern code
Bắt đầu với các mẫu Blob của chúng tôi
Một số mẫu SDK Python của Storage Blobs có sẵn cho bạn trong kho lưu trữ GitHub của SDK. Các mẫu này cung cấp ví dụ mã cho các chất thải bổ sung thường gặp khi làm việc với Storage Blobs
blob_samples_container_access_policy. py [phiên bản không đồng bộ] - Ví dụ để đặt chính sách Access
- Thiết lập chính sách truy cập cho vùng chứa
blob_samples_hello_world. py [phiên bản không đồng bộ] - Ví dụ cho các tác vụ phổ biến Storage Blob
- Thiết lập vùng chứa
- Tạo một khối, trang hoặc kết nối thêm màu
- Tải lên các màu
- Load down the color
- Delete the color
blob_samples_authentication. py [phiên bản không đồng bộ] - Ví dụ về xác thực và tạo ứng dụng khách
- From a connection string
- Từ khóa truy cập được chia sẻ
- Từ mã thông báo chữ ký truy cập được chia sẻ
- Active directory from
blob_samples_service. py [phiên bản không đồng bộ] - Ví dụ để tương tác với dịch vụ blob
- Nhận thông tin tài khoản
- Nhận và đặt thuộc tính dịch vụ
- Get the service list
- Tạo, liệt kê và xóa vùng chứa
- Nhận ứng dụng khách Blob hoặc Container
blob_samples_containers. py [phiên bản không đồng bộ] - Ví dụ về tương tác với vùng chứa
- Tạo vùng chứa và xóa vùng chứa
- Đặt siêu dữ liệu trên vùng chứa
- Nhận thuộc tính vùng chứa
- Nhận hợp đồng thuê container
- Đặt chính sách truy cập trên vùng chứa
- Tải lên, liệt kê, xóa các màu trong vùng chứa
- Yêu cầu ứng dụng khách blob tương tác với một công cụ màu cụ thể
blob_samples_common. py [phiên bản không đồng bộ] - Ví dụ phổ biến cho tất cả các loại màu
- Tạo ảnh chụp nhanh
- Xóa ảnh chụp nhanh blob
- Remove an color
- Phục hồi một màu sắc
- Có một hợp đồng cho thuê trên một blob
- Sao chép một màu từ một URL
blob_samples_directory_interface. py - Ví dụ về giao diện với bộ lưu trữ Blob như thể nó là một thư mục trên tệp hệ thống
- Sao chép [tải lên hoặc tải xuống] tệp hoặc thư mục
- Liệt kê các tệp hoặc thư mục ở một cấp độ hoặc theo cách đệ quy
- Xóa một tệp hoặc xóa bỏ một thư mục
bổ sung tài liệu
Để biết thêm tài liệu mở rộng về lưu trữ Azure Blob, hãy xem tài liệu lưu trữ Azure Blob trên tài liệu. Microsoft. com
Đóng góp
Dự án này hoàn thành các đóng góp và đề xuất. Hầu hết các nhà đó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 các nhà đó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ận xem bạn có cần cung cấp CLA và trang 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 công 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 xử lý 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ử lý hoặc liên hệ với [email được bảo vệ] com với bất kỳ câu hỏi hoặc ý kiến thêm