Cloud Task 位置和 Cloud Function 位置不同
Cloud Task Location and Cloud Function Locations are Different
当我第一次设置我的 Cloud Tasks 时,我从不选择位置,我让 Google 根据我的项目设置来完成。当我 运行 $ gcloud functions list
我所有的功能都在 us-central1
当我去 Cloud Task 控制台检查我的队列时,位置是 us-east1
,当我 运行 $ gcloud app describe
我得到 locationId: us-east1
为什么位置不同,这会导致我的项目出现任何问题吗?
我是我的 index.js 文件 我使用以下设置我的 queuePath
:
const project = JSON.parse(process.env.FIREBASE_CONFIG!).projectId;
const location = 'us-east1';
const queue = 'ttl-task';
在大多数 (?) 情况下,控制台或 gcloud
要求用户提供部署所需的位置。可能有例外;例如,Firestore 数据库与 App Engine 应用程序位于同一位置,并且 App Engine 应用程序一旦位于项目中就是单例且无法移动。
gcloud
有一个附带的 config
命令,它为后续的 gcloud
命令设置默认值。这可能会引起(不)警惕,我建议不要设置默认值(在授权帐户旁边)并且总是例如使用 gcloud
时 --region=...
或 --location=...
等;这更明显是故意的,尤其是在脚本中(尽管仍然不完善)。
您可能选择了控制台默认设置,或者在部署 Cloud Tasks 时设置了 region
或 location
默认设置。
通常,您希望最小化网络流量“距离”,因为在一个距离内发送网络流量总是更快,例如位置而不是跨位置,因为它们在物理上相距甚远,即使是光也需要非零时间才能通过 space.
问题的答案是是这肯定会引起. The function that's associated with the Cloud Task needs to be in the same region as the Cloud Task. It's a very easy fix though.
当我第一次设置我的 Cloud Tasks 时,我从不选择位置,我让 Google 根据我的项目设置来完成。当我 运行 $ gcloud functions list
我所有的功能都在 us-central1
当我去 Cloud Task 控制台检查我的队列时,位置是 us-east1
,当我 运行 $ gcloud app describe
我得到 locationId: us-east1
为什么位置不同,这会导致我的项目出现任何问题吗?
我是我的 index.js 文件 我使用以下设置我的 queuePath
:
const project = JSON.parse(process.env.FIREBASE_CONFIG!).projectId;
const location = 'us-east1';
const queue = 'ttl-task';
在大多数 (?) 情况下,控制台或 gcloud
要求用户提供部署所需的位置。可能有例外;例如,Firestore 数据库与 App Engine 应用程序位于同一位置,并且 App Engine 应用程序一旦位于项目中就是单例且无法移动。
gcloud
有一个附带的 config
命令,它为后续的 gcloud
命令设置默认值。这可能会引起(不)警惕,我建议不要设置默认值(在授权帐户旁边)并且总是例如使用 gcloud
时 --region=...
或 --location=...
等;这更明显是故意的,尤其是在脚本中(尽管仍然不完善)。
您可能选择了控制台默认设置,或者在部署 Cloud Tasks 时设置了 region
或 location
默认设置。
通常,您希望最小化网络流量“距离”,因为在一个距离内发送网络流量总是更快,例如位置而不是跨位置,因为它们在物理上相距甚远,即使是光也需要非零时间才能通过 space.
问题的答案是是这肯定会引起