Google Cloud Identity Aware Proxy (IAP) を使用して保護されている Google App Engine Standard 上に Python アプリがあります。
Cloud Scheduler を使用して、アプリの一部を毎日トリガーしたいと考えています。(API を呼び出し、計算を行い、結果を Google Cloud Storage に保存します。)
そのために、「App Engine HTTP」で POST リクエストをトリガーしてみました。URL の例: 「/refresh_data」
ジョブを実行すると、次のエラーが発生します。
jsonPayload: {
status: "FAILED_PRECONDITION"
relativeUrl: "/refresh_data"
jobName: "..."
@type: "type.googleapis.com/google.cloud.scheduler.logging.AttemptFinished"
targetType: "APP_ENGINE_HTTP"
}
「FAILED_PRECONDITION」エラーに関連するドキュメントが見つからないため、ここで行き詰まりを感じています。
別の方法として、単純な「HTTP」への POST リクエストをトリガーし、Cloud Scheduler に使用しているサービス アカウントに IAP の所有者アクセス レベルを付与することを試みました。今回、表示されるエラー メッセージは次のとおりです。
jsonPayload: {
status: "UNAUTHENTICATED"
@type: "type.googleapis.com/google.cloud.scheduler.logging.AttemptFinished"
jobName: "..."
targetType: "HTTP"
url: "https:.../refresh_data"
}
これを機能させる方法が本当にわかりません... Cloud Schedulerのドキュメントには「App Engine HTTP」オプションがほとんど記載されておらず、IAPの使用に関しては何も文書化されていません...
どんな助けでも大歓迎です:)