[英]GCP Dataflow There was a problem refreshing your credentials
我正在嘗試使用 Gradle 在 Java 中創建數據流。 我創建了一個 gradle 任務以通過DataflowRunner
將作業上傳到 GCP 並通過environment "GOOGLE_APPLICATION_CREDENTIALS", "....json"
設置我的憑據,但是當我查看作業時,我看到的是:
Workflow failed. Causes: There was a problem refreshing your credentials. Please check:
1. Dataflow API is enabled for your project.
2. There is a robot service account for your project:
service-[project number]@dataflow-service-producer-prod.iam.gserviceaccount.com
should have access to your project.
If this account does not appear in the permissions tab for your project, contact Dataflow support.
我已經確保為我的項目啟用了數據流 API 並且服務帳戶存在並且具有editor
者和Cloud Dataflow Service Agent
角色。 我已經用我的代碼和getting started
頁面上的示例代碼進行了測試,同樣的問題。
當您第一次在新的 GCP 項目中使用 Dataflow 時,您需要啟用 API(快速入門中的第 3 步),這可能需要幾分鍾時間。 在此步驟中,會創建幾個服務帳戶:
Cloud Dataflow 服務帳號: service-<project-number>@dataflow-service-producer-prod.iam.gserviceaccount.com
。
Controller 服務帳戶: <project-number>-compute@developer.gserviceaccount.com
。
第一個帳戶是錯誤中的帳戶。 我認為您尚未啟用數據流 API 或者您在啟用 API 時執行了該作業。 正如您所提到的,您驗證了這一點,下一步是檢查默認服務帳戶是否已修改,例如,它們是否已重新創建或默認權限已更改。 這些修訂也適用於 Controller 服務帳戶。
此外,請不要忘記為執行 Dataflow 作業的帳戶分配適當的權限。
更新:
如果問題仍然存在,很可能是服務帳戶以某種方式損壞,在這種情況下,建議使用新的服務帳戶或聯系雲支持創建一個新的 GCP 項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.