Xác minh chế độ thiết lập uỷ quyền và khởi chạy dự án

Hướng dẫn này giúp bạn xác minh rằng quá trình thiết lập uỷ quyền Fleet Engine đã hoàn tất và bạn có thể tạo một chiếc xe giao hàng dùng thử. Hướng dẫn này sử dụng tiện ích dòng lệnh gcloud để kiểm thử việc tạo phương tiện giao hàng và ký mã thông báo uỷ quyền.

Để hoàn tất quy trình này, hãy thay thế các trường bên dưới bằng dữ liệu mà bạn đã tạo trong quá trình thiết lập:

Trường Thay thế bằng
PROJECT_ID Mã dự án trên Google Cloud của bạn.
SERVICE_ACCOUNT_EMAIL_ADDRESS Địa chỉ email của một tài khoản dịch vụ mà bạn đã tạo với vai trò roles/fleetengine.deliverySuperUser. Vui lòng xem bài viết về các vai trò trong IAM để biết thông tin chi tiết.
DELIVERY_VEHICLE_ID Mã nhận dạng ngẫu nhiên của một xe giao hàng. Mã nhận dạng có thể chứa tối đa 64 ký tự.
  1. Sử dụng tiện ích gcloud để đăng nhập vào tài khoản Google Cloud và đặt dự án đang hoạt động trên máy trạm của bạn:

    gcloud auth login
    gcloud config set project PROJECT_ID
    
  2. Tạo thông báo xác nhận quyền sở hữu đối với mã thông báo web JSON (JWT) để tạo phương tiện giao hàng:

    cat > claim.jwt << EOM
    {
      "iss": "SERVICE_ACCOUNT_EMAIL_ADDRESS",
      "sub": "SERVICE_ACCOUNT_EMAIL_ADDRESS",
      "aud": "https://fleetengine.googleapis.com/",
      "iat": $(date +%s),
      "exp": $((`date +%s` + 3600)),
      "authorization": {
        "deliveryvehicleid": "DELIVERY_VEHICLE_ID"
      }
    }
    EOM
    
  3. Sử dụng gcloud để ký JWT này:

    gcloud beta iam service-accounts sign-jwt claim.jwt output.jwt \
      --iam-account=SERVICE_ACCOUNT_EMAIL_ADDRESS
    

    JWT đã ký được lưu trữ trong output.jwt.

    Tham khảo hướng dẫn về dòng lệnh gcloud để biết thêm thông tin chi tiết.

  4. Sử dụng curl để tạo một chiếc xe giao hàng thử nghiệm trên Fleet Engine:

    curl -X POST "https://fleetengine.googleapis.com/v1/providers/PROJECT_ID/deliveryVehicles?deliveryVehicleId=DELIVERY_VEHICLE_ID" \
      -H "Content-type: application/json" \
      -H "Authorization: Bearer $(cat output.jwt)" \
      --data-binary @- << EOM
    {
      "name": "providers/PROJECT_ID/deliveryVehicles/DELIVERY_VEHICLE_ID"
    }
    EOM
    

    Lệnh này sẽ in tên của xe giao hàng dưới dạng kết quả. Nếu bạn thấy văn bản sau, thì nghĩa là bạn đã thiết lập thành công!

    {
      "name": "providers/PROJECT_ID/deliveryVehicles/DELIVERY_VEHICLE_ID"
    }
    

    Hãy xem phần Tạo xe trong tài liệu về Fleet Engine để biết thông tin chi tiết.