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 việc thiết lập yêu cầu uỷ quyền cho Fleet Engine và bạn có thể tạo một phương tiện 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ử tạo phương tiện ký và gửi 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 khi 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 tài khoản dịch vụ mà bạn đã tạo với Vai trò roles/fleetengine.deliveryAdmin. Xem 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 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à thiết lập 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 mã thông báo web JSON (JWT) xác nhận quyền sở hữu để 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 dòng lệnh gcloud để biết thêm chi tiết.

  4. Sử dụng curl để tạo một 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 ra 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, tức là bạn đã thiết lập thành công!

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

    Xem bài viết Tạo xe trong tài liệu về Fleet Engine để biết thông tin chi tiết.