Cloud Functions for Firebase에서 도쿄 리전 사용
소개
Cloud Functions에서 headless Chrome이 움직이게 되었어요.
그래서 지금까지 heroku에서 움직였던 웹 스크래핑을 Cloud Functions로 이사했습니다.
Introducing headless Chrome support in Cloud Functions and App Engine
그러나 일본 국내의 웹 사이트를 스크레이핑하는 경우, 꽤 응답이 나빴기 때문에 도쿄 리전을 이용해 보았습니다.
(아무것도 지정하지 않고 배포하면 us-central1이됩니다.)
환경
Firebase CLI 5.1.1
Google Cloud SDK 220.0.0
도쿄 지역을 이용하는 방법
기능을 도쿄 리전에 배포하는 방법에는 여러 가지가 있습니다.
배포 후에는 지역만 변경할 수 없습니다(GCP에서도 동일).
소스 코드에서 리전 지정
Firebase 문서에서는 이 방법만 찾았습니다.
함수 배포 및 런타임 옵션 관리 | Firebase
설명된 대로 다음과 같이 리전을 지정하여 배포할 수 있습니다.
index.jsexports.sample = functions.region('asia-northeast1')
.https.onRequest((req, res) => {
console.log('hello tokyo reagion');
});
콘솔에서 확인하면 리전이 asia-northeast1이 되어
여러 리전에 배포
GCP의 Cloud Functions에서는 동일한 함수 이름이더라도 다른 리전이면 배포할 수 있습니다.
Cloud Functions Locations
You can deploy functions to different regions within a project, but once the region has been selected for a function it cannot be changed.
Functions in a given region in a given project must have unique (case insensitive) names, but functions across regions or across projects may share the same name.
Firebase에서 도쿄 리전에 배포 한 후 리전 지정을 지우고 배포하면 어떻게됩니까?
배포하려고 하면 다음과 같은 주의가 촉구됩니다.
The following functions are found in your project but do not exist in your local source code:
sample(asia-northeast1)
If you are renaming a function or changing its region, it is recommended that you create the new function first before deleting the old one to prevent event loss. For more info, visit https://firebase.google.com/docs/functions/manage-functions#modify
? Would you like to proceed with deletion? Selecting no will continue the rest of the deployments. (y/N)
그대로 진행하면 GCP와 마찬가지로 여러 리전에 동일한 함수를 배포할 수 있었습니다.
Google Cloud SDK 사용
Google Cloud SDK는 선택적으로 지역 사양을 제공합니다.
Firebase CLI에는 그 옵션이 존재하지 않는 것 같기 때문에, 소스 코드에 손을 추가하지 않고, 복수의 리전에 배치하는 경우, 이 방법을 취할 수 밖에 없는 것인가…
$ gcloud functions deploy --help
NAME
gcloud functions deploy - create or update a Google Cloud Function
SYNOPSIS
gcloud functions deploy (NAME : --region=REGION)
[--entry-point=ENTRY_POINT] [--memory=MEMORY] [--retry]
[--runtime=RUNTIME] [--source=SOURCE] [--stage-bucket=STAGE_BUCKET]
[--timeout=TIMEOUT] [--update-labels=[KEY=VALUE,...]]
[--clear-labels | --remove-labels=[KEY,...]]
[--trigger-bucket=TRIGGER_BUCKET | --trigger-http
| --trigger-topic=TRIGGER_TOPIC
| --trigger-event=EVENT_TYPE --trigger-resource=RESOURCE]
[GCLOUD_WIDE_FLAG ...]
$ firebase deploy --help
Usage: deploy [options]
deploy code and assets to your Firebase project
Options:
-p, --public <path> override the Hosting public directory specified in firebase.json
-m, --message <message> an optional message describing this deploy
-f, --force delete Cloud Functions missing from the current working directory without confirmation
--only <targets> only deploy to specified, comma-separated targets (e.g. "hosting,storage"). For functions, can specify filters with colons to scope function deploys to only those functions (e.g. "--only functions:func1,functions:func2"). When filtering based on export groups (the exported module object keys), use dots to specify group names (e.g. "--only functions:group1.subgroup1,functions:group2)"
--except <targets> deploy to all targets except specified (e.g. "database")
-h, --help output usage information
사이고에게
결국 Firebase가 아닌 직접 GCP의 Cloud Functions를 사용해 버리는 편이 빠르지 않을까 하는 결론에…
Reference
이 문제에 관하여(Cloud Functions for Firebase에서 도쿄 리전 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ygoodspeed/items/1fbd595d0c816231f9c0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Firebase CLI 5.1.1
Google Cloud SDK 220.0.0
도쿄 지역을 이용하는 방법
기능을 도쿄 리전에 배포하는 방법에는 여러 가지가 있습니다.
배포 후에는 지역만 변경할 수 없습니다(GCP에서도 동일).
소스 코드에서 리전 지정
Firebase 문서에서는 이 방법만 찾았습니다.
함수 배포 및 런타임 옵션 관리 | Firebase
설명된 대로 다음과 같이 리전을 지정하여 배포할 수 있습니다.
index.jsexports.sample = functions.region('asia-northeast1')
.https.onRequest((req, res) => {
console.log('hello tokyo reagion');
});
콘솔에서 확인하면 리전이 asia-northeast1이 되어
여러 리전에 배포
GCP의 Cloud Functions에서는 동일한 함수 이름이더라도 다른 리전이면 배포할 수 있습니다.
Cloud Functions Locations
You can deploy functions to different regions within a project, but once the region has been selected for a function it cannot be changed.
Functions in a given region in a given project must have unique (case insensitive) names, but functions across regions or across projects may share the same name.
Firebase에서 도쿄 리전에 배포 한 후 리전 지정을 지우고 배포하면 어떻게됩니까?
배포하려고 하면 다음과 같은 주의가 촉구됩니다.
The following functions are found in your project but do not exist in your local source code:
sample(asia-northeast1)
If you are renaming a function or changing its region, it is recommended that you create the new function first before deleting the old one to prevent event loss. For more info, visit https://firebase.google.com/docs/functions/manage-functions#modify
? Would you like to proceed with deletion? Selecting no will continue the rest of the deployments. (y/N)
그대로 진행하면 GCP와 마찬가지로 여러 리전에 동일한 함수를 배포할 수 있었습니다.
Google Cloud SDK 사용
Google Cloud SDK는 선택적으로 지역 사양을 제공합니다.
Firebase CLI에는 그 옵션이 존재하지 않는 것 같기 때문에, 소스 코드에 손을 추가하지 않고, 복수의 리전에 배치하는 경우, 이 방법을 취할 수 밖에 없는 것인가…
$ gcloud functions deploy --help
NAME
gcloud functions deploy - create or update a Google Cloud Function
SYNOPSIS
gcloud functions deploy (NAME : --region=REGION)
[--entry-point=ENTRY_POINT] [--memory=MEMORY] [--retry]
[--runtime=RUNTIME] [--source=SOURCE] [--stage-bucket=STAGE_BUCKET]
[--timeout=TIMEOUT] [--update-labels=[KEY=VALUE,...]]
[--clear-labels | --remove-labels=[KEY,...]]
[--trigger-bucket=TRIGGER_BUCKET | --trigger-http
| --trigger-topic=TRIGGER_TOPIC
| --trigger-event=EVENT_TYPE --trigger-resource=RESOURCE]
[GCLOUD_WIDE_FLAG ...]
$ firebase deploy --help
Usage: deploy [options]
deploy code and assets to your Firebase project
Options:
-p, --public <path> override the Hosting public directory specified in firebase.json
-m, --message <message> an optional message describing this deploy
-f, --force delete Cloud Functions missing from the current working directory without confirmation
--only <targets> only deploy to specified, comma-separated targets (e.g. "hosting,storage"). For functions, can specify filters with colons to scope function deploys to only those functions (e.g. "--only functions:func1,functions:func2"). When filtering based on export groups (the exported module object keys), use dots to specify group names (e.g. "--only functions:group1.subgroup1,functions:group2)"
--except <targets> deploy to all targets except specified (e.g. "database")
-h, --help output usage information
사이고에게
결국 Firebase가 아닌 직접 GCP의 Cloud Functions를 사용해 버리는 편이 빠르지 않을까 하는 결론에…
Reference
이 문제에 관하여(Cloud Functions for Firebase에서 도쿄 리전 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ygoodspeed/items/1fbd595d0c816231f9c0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
exports.sample = functions.region('asia-northeast1')
.https.onRequest((req, res) => {
console.log('hello tokyo reagion');
});
The following functions are found in your project but do not exist in your local source code:
sample(asia-northeast1)
If you are renaming a function or changing its region, it is recommended that you create the new function first before deleting the old one to prevent event loss. For more info, visit https://firebase.google.com/docs/functions/manage-functions#modify
? Would you like to proceed with deletion? Selecting no will continue the rest of the deployments. (y/N)
$ gcloud functions deploy --help
NAME
gcloud functions deploy - create or update a Google Cloud Function
SYNOPSIS
gcloud functions deploy (NAME : --region=REGION)
[--entry-point=ENTRY_POINT] [--memory=MEMORY] [--retry]
[--runtime=RUNTIME] [--source=SOURCE] [--stage-bucket=STAGE_BUCKET]
[--timeout=TIMEOUT] [--update-labels=[KEY=VALUE,...]]
[--clear-labels | --remove-labels=[KEY,...]]
[--trigger-bucket=TRIGGER_BUCKET | --trigger-http
| --trigger-topic=TRIGGER_TOPIC
| --trigger-event=EVENT_TYPE --trigger-resource=RESOURCE]
[GCLOUD_WIDE_FLAG ...]
$ firebase deploy --help
Usage: deploy [options]
deploy code and assets to your Firebase project
Options:
-p, --public <path> override the Hosting public directory specified in firebase.json
-m, --message <message> an optional message describing this deploy
-f, --force delete Cloud Functions missing from the current working directory without confirmation
--only <targets> only deploy to specified, comma-separated targets (e.g. "hosting,storage"). For functions, can specify filters with colons to scope function deploys to only those functions (e.g. "--only functions:func1,functions:func2"). When filtering based on export groups (the exported module object keys), use dots to specify group names (e.g. "--only functions:group1.subgroup1,functions:group2)"
--except <targets> deploy to all targets except specified (e.g. "database")
-h, --help output usage information
결국 Firebase가 아닌 직접 GCP의 Cloud Functions를 사용해 버리는 편이 빠르지 않을까 하는 결론에…
Reference
이 문제에 관하여(Cloud Functions for Firebase에서 도쿄 리전 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ygoodspeed/items/1fbd595d0c816231f9c0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)