1. Giới thiệu
Lần cập nhật gần đây nhất: ngày 11 tháng 05 năm 2021
Cloud SQL là gì?
Cloud SQL là một dịch vụ cơ sở dữ liệu được quản lý toàn diện, giúp bạn dễ dàng thiết lập, duy trì, quản lý và quản trị cơ sở dữ liệu quan hệ trên Google Cloud Platform.
Cloud Functions là gì?
Chức năng đám mây là một giải pháp điện toán gọn nhẹ dành cho nhà phát triển để tạo các hàm độc lập, dùng một mục đích duy nhất nhằm phản hồi các sự kiện trên đám mây mà không cần quản lý môi trường máy chủ hoặc thời gian chạy.
Sản phẩm bạn sẽ tạo ra
Trong lớp học lập trình này, bạn sẽ viết một Hàm đám mây bằng Python. Hàm:
- Kết nối với một phiên bản Cơ sở dữ liệu Cloud SQL.
- Gửi câu lệnh chèn đến một bảng trong cơ sở dữ liệu.
Kiến thức bạn sẽ học được
- Cách truy cập giao diện người dùng web của Cloud Functions trong Google Cloud Console.
- Cách tạo Hàm đám mây.
- Cách kiểm thử một Chức năng đám mây.
- Cách kết nối với một thực thể cơ sở dữ liệu Cloud SQL (MySQL hoặc PostgreSQL) bằng Python.
- Cách dùng Python để ghi vào cơ sở dữ liệu Cloud SQL.
2. Yêu cầu
- Một trình duyệt, chẳng hạn như Chrome hoặc Firefox.
- Một dự án Google Cloud Platform chứa phiên bản Cloud SQL của bạn.
- Nếu chưa có, bạn có thể làm theo các bước trong phần Bắt đầu nhanh dành cho MySQL hoặc PostgreSQL. Thực hiện tất cả các bước, ngoại trừ bước dọn dẹp.
- Thực thể của bạn chứa cơ sở dữ liệu MySQL hoặc PostgreSQL có bảng.
- Tên kết nối thực thể của bạn, tên cơ sở dữ liệu và tên bảng, tên người dùng cơ sở dữ liệu và mật khẩu của người dùng.
- Một Tài khoản dịch vụ có vai trò Ứng dụng Cloud SQL.
3. Chuẩn bị mã và tạo hàm
Chuẩn bị mã
Mã Chức năng đám mây để kết nối với cơ sở dữ liệu Cloud SQL có ở đây. Một số giá trị biến phụ thuộc vào việc cơ sở dữ liệu Cloud SQL của bạn là MySQL hay PostgreSQL và phụ thuộc vào thông tin cơ sở dữ liệu của riêng bạn.
Giao diện người dùng Chức năng đám mây trong Bảng điều khiển Cloud bao gồm trình chỉnh sửa văn bản. Bạn có thể sao chép/dán và chỉnh sửa đoạn mã tại đó, hoặc chỉnh sửa đoạn mã trên thiết bị trước, sau đó sao chép/dán đoạn mã đó vào giao diện người dùng.
requirements.txt
# This file tells Python which modules it needs to import
SQLAlchemy==1.3.12
# If your database is MySQL, uncomment the following line:
#PyMySQL==0.9.3
# If your database is PostgreSQL, uncomment the following line:
#pg8000==1.13.2
main.py
# This file contains all the code used in the codelab.
import sqlalchemy
# Depending on which database you are using, you'll set some variables differently.
# In this code we are inserting only one field with one value.
# Feel free to change the insert statement as needed for your own table's requirements.
# Uncomment and set the following variables depending on your specific instance and database:
#connection_name = ""
#table_name = ""
#table_field = ""
#table_field_value = ""
#db_name = ""
#db_user = ""
#db_password = ""
# If your database is MySQL, uncomment the following two lines:
#driver_name = 'mysql+pymysql'
#query_string = dict({"unix_socket": "/cloudsql/{}".format(connection_name)})
# If your database is PostgreSQL, uncomment the following two lines:
#driver_name = 'postgres+pg8000'
#query_string = dict({"unix_sock": "/cloudsql/{}/.s.PGSQL.5432".format(connection_name)})
# If the type of your table_field value is a string, surround it with double quotes.
def insert(request):
request_json = request.get_json()
stmt = sqlalchemy.text('insert into {} ({}) values ({})'.format(table_name, table_field, table_field_value))
db = sqlalchemy.create_engine(
sqlalchemy.engine.url.URL(
drivername=driver_name,
username=db_user,
password=db_password,
database=db_name,
query=query_string,
),
pool_size=5,
max_overflow=2,
pool_timeout=30,
pool_recycle=1800
)
try:
with db.connect() as conn:
conn.execute(stmt)
except Exception as e:
return 'Error: {}'.format(str(e))
return 'ok'
Tạo hàm
- Trên trình duyệt, hãy chuyển đến giao diện người dùng của Bảng điều khiển Google Cloud Platform.
- Chọn Cloud Functions (Hàm đám mây) từ trình đơn Điều hướng.
- Nhấp vào TẠO CHỨC NĂNG trên thanh nút.
- Nhập tên cho hàm.
- Chọn trình kích hoạt HTTP. (Ghi lại URL hiển thị bên dưới mục kích hoạt. Định dạng của mã sẽ là: https://REGION-PROJECT_ID.cloudfunctions.net/FUNCTION_NAME)
- Trong phần Xác thực, hãy chọn Cho phép các lệnh gọi chưa được xác thực để đặt hàm ở chế độ công khai.
- Mở rộng phần Cài đặt thời gian chạy, bản dựng và kết nối Trong mục Tài khoản dịch vụ thời gian chạy, hãy chọn một tài khoản dịch vụ có vai trò Ứng dụng Cloud SQL.
- Nhấp vào nút TIẾP THEO.
- Chọn Python 3.7 cho tuỳ chọn runtime.
- Chọn Inline Editor (Trình chỉnh sửa cùng dòng) cho phương án mã nguồn.
- SelTrong cửa sổ trình chỉnh sửa mã nguồn, hãy xoá nội dung hiện có cho cả requirements.txt và main.py rồi thay thế bằng các phiên bản mã bạn đã chỉnh sửa ở trên.
- Nhập insert làm tên của Điểm truy cập.
- Nhấp vào Deploy (Triển khai) rồi đợi trong khi hàm này được tạo. Vòng quay ngừng quay và dấu kiểm màu xanh lục xuất hiện trên trang tiếp theo khi chức năng này đã sẵn sàng để sử dụng.
4. Kiểm thử hàm
- Trên trình duyệt, hãy chuyển đến giao diện người dùng của Bảng điều khiển Google Cloud Platform.
- Chọn Cloud Functions (Hàm đám mây) từ trình đơn Điều hướng.
- Nhấp vào tên của hàm bạn đã tạo trước đó.
- Chọn đường liên kết KIỂM TRA ở giữa trang.
- Chọn KIỂM TRA Chức năng.
- Kết quả sẽ xuất hiện: ok (Nếu kiểm thử không thành công, bạn sẽ thấy dấu vết ngăn xếp để giúp gỡ lỗi.)
- Trong trình duyệt, hãy chuyển đến URL mà bạn đã lưu trước đó, khi bạn tạo hàm. Nếu quên lưu URL, bạn có thể lấy URL từ đường liên kết KÍCH HOẠT.
- Kết quả ok cũng sẽ xuất hiện trong trình duyệt.
5. Dọn dẹp
Để tránh bị tính phí vào tài khoản Google Cloud cho những tài nguyên sử dụng trong lớp học lập trình này, hãy làm theo các bước sau.
Xoá phiên bản Cloud SQL
- Truy cập vào trang Phiên bản Cloud SQL trong Google Cloud Console.
- Chọn phiên bản mà bạn đã tạo để mở trang chi tiết về phiên bản.
- Trong thanh biểu tượng ở đầu trang, hãy nhấp vào Xoá.
- Trong cửa sổ Xoá phiên bản, hãy nhập tên phiên bản của bạn rồi nhấp vào Xoá để xoá phiên bản đó. Bạn không thể sử dụng lại tên thực thể trong khoảng 7 ngày sau khi xoá một thực thể.
Xoá hàm đám mây
- Truy cập trang Cloud Functions trong Google Cloud Console.
- Chọn ba dấu chấm trong phần Thao tác cho chức năng của bạn rồi chọn Xoá.
- Xác nhận xoá bằng cách nhấp vào nút XOÁ.
6. Xin chúc mừng
Xin chúc mừng! Bạn đã tạo thành công một Hàm đám mây hoạt động với Cloud SQL.
Cụ thể là bạn đã tạo một Hàm đám mây có chức năng kết nối và ghi vào phiên bản cơ sở dữ liệu Cloud SQL.
7. Tiếp theo là gì?
Hãy xem một số lớp học lập trình này...
- Kết nối với Cloud SQL: Compute Engine, IP riêng tư và Cloud SQL Proxy
- Giới thiệu về Cloud SQL Insights