如果您在設定教學課程時遇到問題,請參閱本頁面列出的問題,以及各項問題的修正建議。
找不到 cloudshell_open 資料夾
如果執行 ls ~
後,在主目錄中找不到 cloudshell_open 資料夾,表示該資料夾及其檔案已遺失。
如果您在暫時模式下使用 Cloud Shell,且網際網路連線中斷或重新整理頁面,就會發生這個問題。如要解決這個問題,請從頭重新執行教學課程。為避免日後遺失檔案,建議改用預設模式。
無法在目前環境中偵測到專案 ID
嘗試執行程式碼範例時,會發生下列錯誤:
ERROR Unable to detect a Project Id in the current environment.
如果未設定 Google Cloud 專案,就會發生這個問題。 如要解決這個問題,請執行下列指令來設定專案:
gcloud config set project <YOUR-PROJECT-ID>
執行程式碼範例時發生 key.json 錯誤
執行程式碼範例時,發生下列其中一個錯誤:
File /home/user/key.json is not a valid json file
no JSON input found
The file at /home/user/key.json does not exist, or it is not a file
Could not find file '/home/user/key.json'
Error reading credential file from location /home/user/key.json: Value cannot be null
如果用於驗證服務帳戶的 key.json 檔案空白或遺失,就會發生這個問題。如要確認是否為這種情況,請執行下列指令:
cat ~/key.json
這會列印檔案內容或 No such file or directory
訊息。如果檔案為空白,表示建立金鑰時發生錯誤。如果缺少檔案,表示錯誤發生在該檔案之前。
如要解決這個問題,請按照「準備工作環境」教學課程步驟操作。
專案未曾使用或已停用 Vertex AI Search for Commerce
嘗試執行教學課程時,會發生下列錯誤:
PERMISSION_DENIED: Vertex AI Search for commerce API has not been used in project <YOUR-PROJECT-ID> before or it is disabled
如要解決這個問題,請在 Google Cloud 控制台的「API/Services Details」(API/服務詳細資料) 頁面中啟用 Vertex AI Search for Commerce,或執行下列指令:
gcloud services enable \
retail.googleapis.com \
--project=<YOUR-PROJECT-ID>
服務帳戶沒有存取專案執行個體的權限
將角色指派給服務帳戶時,會發生下列錯誤:
User [USER@YOUR-PROJECT-ID.] does not have permission to access projects instance [YOUR-PROJECT-ID:setIamPolicy] (or it may not exist): Policy update access denied.
如要解決這個問題,請在終端機中執行 gcloud auth list
指令,確認您已啟用正確的帳戶。確認作用中帳戶是服務帳戶。前往 Google Cloud 控制台的「IAM」IAM頁面,確認服務帳戶是 Google Cloud 專案的擁有者。
使用使用者憑證進行驗證時發生錯誤
執行程式碼範例時會發生下列錯誤:
PERMISSION_DENIED: Your application has been authenticated using end user credentials from the Google Cloud SDK or Google Cloud Shell which are not supported by the retail.googleapis.com.
如果使用使用者憑證而非服務帳戶,就會發生這個問題。如果服務帳戶未啟用或未設定必要的環境變數,也可能發生這個問題。重新啟動 Cloud Shell 或開啟新的終端機視窗後,可能會看到這則錯誤訊息。
如何解決這個問題:
- 按照「準備工作環境」教學課程的步驟操作,並執行
gcloud auth list
,確認服務帳戶已啟用。 設定環境變數:
- 如要為所有語言執行這項操作,請執行下列指令:
export GOOGLE_APPLICATION_CREDENTIALS=~/key.json
- 此外,如果是 .NET,請執行下列指令:
export GOOGLE_PROJECT_ID=<YOUR-PROJECT-ID>
服務帳戶沒有必要角色時發生權限錯誤
執行程式碼範例時會發生下列錯誤:
google.api_core.exceptions.PermissionDenied: 403 Permission 'retail.<YOUR-REQUEST>' denied on resource '//retail.googleapis.com/projects/<YOUR-PROJECT-ID>/locations/<YOUR-LOCATION>' (or it may not exist). [reason: "IAM_PERMISSION_DENIED"
如果服務帳戶沒有 retail.admin 和編輯者角色,就會發生這個問題。 如要解決這個問題,請按照「準備工作環境」教學課程的步驟設定工作環境。
搜尋作業未傳回任何相符結果
如果目錄中沒有任何產品符合搜尋查詢,或是產品目錄為空白,就會發生這個問題。 如要解決這個問題,請前往 Google Cloud 控制台的「目錄」頁面,確認目錄中是否有產品。如果沒有,請按照「匯入目錄資料」教學課程步驟匯入目錄資料。
問題仍未解決
請嘗試重設 Cloud Shell,然後從頭開始執行教學課程。