Gọi API từ một dự án trên Google Cloud

1. Trước khi bắt đầu

Lớp học lập trình này cho bạn biết cách tạo một dự án Google Cloud rồi gọi Google Cloud API từ dự án đó.

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

  • Có thể sử dụng bảng điều khiển Google Cloud.

Kiến thức bạn sẽ học được

  • Cách tạo dự án trên Google Cloud.
  • Cách thiết lập tài khoản thanh toán.
  • Cách thiết lập Cloud Shell.
  • Cách bật API.
  • Cách cấp quyền cho API bằng khoá API.
  • Cách cấp quyền cho API bằng tài khoản dịch vụ.

Bạn cần có

2. Bắt đầu thiết lập

Phần này hướng dẫn bạn cách tạo dự án trên Google Cloud, thiết lập tài khoản thanh toán và thiết lập Cloud Shell.

Tạo một dự án trên Google Cloud và thiết lập tài khoản thanh toán

  1. Đăng nhập vào Cloud Console rồi chọn hoặc tạo một dự án.

của Google Cloud

Ngăn dự án mới

Ngăn New Project (Dự án mới) hiển thị các trường Project name (Tên dự án), Tổ chức và Vị trí.

Ghi nhớ mã dự án xuất hiện trong trường Tên dự án. Mã nhận dạng này là tên riêng biệt của tất cả dự án Google Cloud (tên ở trên đã được sử dụng) và sau này sẽ được đề cập đến trong lớp học lập trình này là PROJECT_ID.

  1. Tiếp theo, hãy bật tính năng thanh toán trong Cloud Console để sử dụng tài nguyên của Google Cloud.

Mặc dù lớp học lập trình này sẽ không tốn nhiều chi phí, nhưng nếu có, hãy làm theo hướng dẫn trong phần Dọn dẹp để tắt các tài nguyên và tránh phát sinh chi phí ngoài lớp học lập trình này. Xin lưu ý rằng người dùng mới của Google Cloud đủ điều kiện nhận 300 USD dùng thử miễn phí.

Thiết lập Cloud Shell

Trong lớp học lập trình này, bạn sẽ sử dụng Cloud Shell, một môi trường dòng lệnh chạy trong Google Cloud. Cloud Shell là một máy ảo dựa trên Debian được tải tất cả các công cụ phát triển mà bạn cần. Thư mục gốc có dung lượng ổn định 5 GB, giúp nâng cao đáng kể hiệu suất và khả năng xác thực của mạng. Tức là tất cả những gì bạn cần cho lớp học lập trình này chỉ là một trình duyệt.

Cách kích hoạt Cloud Shell từ Bảng điều khiển Cloud:

  1. Nhấp vào a8460e837e9f5fda.png Kích hoạt Cloud Shell.

Có thể mất vài phút để cấp phép và kết nối với môi trường.

Kích hoạt tuỳ chọn Cloud Shell.

Cloud Shell hiển thị lời nhắc dòng lệnh.

Sau khi kết nối với Cloud Shell, bạn sẽ thấy rằng mình đã được xác thực và dự án đã được đặt thành PROJECT_ID.

  1. Tạo danh sách các tài khoản đã được xác thực:
gcloud auth list

Bạn sẽ thấy kết quả sau:

Credentialed accounts:
 - <MY_ACCOUNT>@<MY_DOMAIN>.com (active)
  1. Để xem danh sách dự án, hãy nhập lệnh sau.
gcloud config list project

Bạn sẽ thấy kết quả sau:

[core]
project = <PROJECT_ID>

Nếu vì lý do nào đó mà dự án không được thiết lập, hãy chạy lệnh này để thiết lập dự án.

gcloud config set project <PROJECT_ID>

PROJECT_ID là mã nhận dạng mà bạn đã sử dụng trong các bước thiết lập. Bạn cũng có thể tra cứu trong trang tổng quan Cloud Console:

Ngăn thông tin dự án cho thấy mã dự án.

Cloud Shell cũng đặt một số biến môi trường theo mặc định. Điều này có thể hữu ích khi bạn chạy các lệnh sau này.

  1. Để xem mã dự án của bạn, hãy nhập lệnh sau.
echo $GOOGLE_CLOUD_PROJECT

Bạn sẽ thấy kết quả sau đây:

<PROJECT_ID>
  1. Cuối cùng, đặt cấu hình dự án và vùng mặc định.
gcloud config set compute/zone us-central1-f

Bạn có thể chọn nhiều vùng khác nhau. Để biết thêm thông tin, hãy xem phần Khu vực và khu vực.

3. Gọi API từ một dự án

Lớp học lập trình này cho bạn biết cách sử dụng API mẫu (API Ngôn ngữ tự nhiên) để tìm các đối tượng (như người, địa điểm và sự kiện) trong văn bản và cách ước chừng cảm nhận (mức độ ưa thích) của văn bản đó. Bạn sẽ tìm hiểu cách:

  • Bật Google Cloud API.
  • Yêu cầu uỷ quyền cho API bằng khoá API và tài khoản dịch vụ.
  • Gọi API bằng curl và các thư viện ứng dụng.

Bật API

  1. Chọn API & Services từ trình đơn chính trong Cloud Console.

Trình đơn chính của Cloud Console hiển thị các API và Tuỳ chọn dịch vụ.

  1. Chọn + BẬT API VÀ DỊCH VỤ ở đầu màn hình.

Tuỳ chọn BẬT API VÀ DỊCH VỤ.

  1. Tại thời điểm này, bạn có thể lọc và duyệt qua các API hoặc truy cập trực tiếp vào một API bằng hộp Tìm kiếm. Tìm Natural Language rồi chọn Cloud Natural Language API.

Ngăn Cloud Natural Language API hiển thị các nút ENABLE và TRY THIS API.

  1. Nhấp vào THỬ API NÀY.

Nếu không có nút THỬ NÀY, hãy nhấp vào một trong các Phương thức được liệt kê để thử phương thức đó.

Tạo khoá API

Vì bạn sử dụng curl để gửi yêu cầu đến API Ngôn ngữ tự nhiên, nên bạn phải tạo khoá API để chuyển vào URL yêu cầu của mình.

  1. Trong Cloud Console, chọn Trình đơn điều hướng > API và Dịch vụ > Thông tin đăng nhập.

Trình đơn điều hướng hiển thị các API và Tuỳ chọn Dịch vụ và Thông tin đăng nhập.

  1. Nhấp vào TẠO ĐIỀU KIỆN, rồi chọn khoá API:

Ngăn thông tin xác thực cho thấy các lựa chọn về CREATE CREDENTIALS và API API.

  1. Sao chép khoá API đã tạo, rồi nhấp vào Đóng.

Sử dụng khoá API để gọi API

  1. Trong dòng lệnh Cloud Shell, hãy xuất khoá API của bạn.
export API_KEY=<YOUR_API_KEY>

Thay thế <YOUR_API_KEY> bằng khoá bạn đã tạo trước đó.

  1. Tạo yêu cầu cho API trong Cloud Shell Editor hoặc bằng trình chỉnh sửa của Linux như Vim hoặc Emacs. Bạn có thể xem thông tin chi tiết về các thông số tại Phương thức: documents.analyzeEntities. Lưu kết quả vào tệp có tên request.json:
{
  "document":{
    "type":"PLAIN_TEXT",
    "content":"Google, headquartered in Mountain View (1600 Amphitheatre Pkwy, Mountain View, CA 940430), unveiled the new Android phone for $799 at the Consumer Electronic Show. Sundar Pichai said in his keynote that users love their new Android phones."
  },
  "encodingType":"UTF8"
}
  1. Gọi API với thông tin về yêu cầu.
curl "https://language.googleapis.com/v1/documents:analyzeEntities?key=${API_KEY}" \
  -s -X POST -H "Content-Type: application/json" --data-binary @request.json
  1. Chạy lại lệnh và chuyển hướng đầu ra đến một tệp rồi kiểm tra kết quả. Thông tin chi tiết về dữ liệu đầu ra của tệp JSON cũng có trong Method: documents.analyzeEntities.
  2. Để thay đổi văn bản cần phân tích trong tệp request.json, hãy thay thế giá trị content bằng văn bản bạn chọn.

4. Uỷ quyền bằng tài khoản dịch vụ

Tài khoản dịch vụ thường được ưu tiên hơn khoá API vì chúng cung cấp cả tính năng xác thực và uỷ quyền. Bạn có thể xem tài khoản dịch vụ là địa chỉ email cho ứng dụng của mình.

  1. Quay lại phần Thông tin xác thực trong API và Trình đơn Dịch vụ.
  2. Chọn Tạo thông tin xác thực, nhưng lần này, hãy chọn Tài khoản dịch vụ.

Ngăn thông tin chi tiết về tài khoản dịch vụ.

  1. Cung cấp Tên tài khoản dịch vụ mô tả mục đích của tài khoản, chẳng hạn như "Natural Language Service Account". Hệ thống đề xuất một mã nhận dạng. Bạn cũng có thể thêm nội dung mô tả. Khi tìm hiểu thêm về tài khoản dịch vụ, bạn sẽ cấp quyền truy cập vào tài khoản dịch vụ cho các dự án và cấp cho người dùng quyền truy cập vào tài khoản dịch vụ. Tuy nhiên, hiện tại, bạn chỉ cần nhấp vào Xong để tạo tài khoản dịch vụ.
  2. Để tạo một cặp khoá cho tài khoản dịch vụ sẽ sử dụng, hãy nhấp vào d489bd059474ae59.pngđể chỉnh sửa tài khoản dịch vụ.

Ngăn Tài khoản dịch vụ cho thấy danh sách các tài khoản.

Thông tin chi tiết về tài khoản dịch vụ của bạn hiển thị.

Ngăn Chi tiết tài khoản dịch vụ hiển thị thông tin chi tiết về tài khoản Dịch vụ ngôn ngữ tự nhiên.

  1. Sao chép địa chỉ email của tài khoản dịch vụ và quay lại Cloud Shell.
  2. Trong Cloud Shell, hãy tạo một cặp khoá cho tài khoản dịch vụ của bạn và đặt một biến môi trường để trỏ đến tài khoản đó:
gcloud iam service-accounts keys create ~/key.json \
  --iam-account <your service account email>
export GOOGLE_APPLICATION_CREDENTIALS="/home/$USER/key.json"

Google Cloud sử dụng biến môi trường này để tìm thông tin xác thực nên bạn không cần đưa những thông tin này vào lệnh gọi API.

  1. Giờ đây, bạn có thể gọi API bằng lệnh:
gcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'." 

Kết quả sẽ giống như trước.

Nhiều API có thư viện ứng dụng mở rộng để trích xuất các thông tin chi tiết này. Để tìm hiểu thêm về thư viện ứng dụng, hãy xem bài viết Thư viện ứng dụng Cloud. Bạn cũng có thể đọc tài liệu về các API mà bạn sử dụng để biết có thể sử dụng những thư viện ứng dụng nào.

5. Dọn dẹp

Bạn không nên sử dụng khoá API không bị hạn chế cho các dự án. Nếu ai đó có quyền truy cập vào khoá này, người đó có thể sử dụng mà không cần phải xác thực thêm.

Cách xoá khoá API này:

  1. Nhấp vào f6b6844bf5688982.png Trình đơn điều hướng > API và Dịch vụ > Thông tin đăng nhập.
  2. Trong phần API Key (Khoá API), hãy chọn khoá cần xoá rồi nhấp vào 247adf2e1d1eae4b.png.Delete (Xoá).
  3. Tương tự, thay vì lo lắng về việc Khoá riêng tư của tài khoản dịch vụ không được bảo vệ, trong mục Tài khoản dịch vụ, hãy chọn tài khoản dịch vụ cần xoá rồi nhấp vào 247adf2e1d1eae4b.png.Xoá.

6. Xin chúc mừng

Xin chúc mừng! Bạn đã tìm hiểu cách tạo dự án trên Google Cloud và cách gọi API từ trong dự án.