Google Cloud Function 成功,但未显示预期输出
Google Cloud Function succeeds, but not showing expected output
我正在测试云功能并进行了设置,但输出未正确填充(输出未保存到云存储中,我的打印语句未填充)。下面是我的代码和我的要求。我已将 Cloud Function 设置为仅 运行 作为具有未经身份验证调用的 HTTP 请求触发器类型,并将运行时服务帐户设置为具有对 Cloud Storage 的写入权限的指定帐户。我已确认调用了正确的入口点。
日志
2022-03-22T18:52:02.749482564Z test-example vczj9p85h5m2 Function execution started
2022-03-22T18:52:04.148507183Z test-example vczj9p85h5m2 Function execution took 1399 ms.
Finished with status code: 200
main.py
import requests
from google.cloud import storage
import json
def upload_to_gsc(data):
print("saving to cloud storage")
client = storage.Client(project="my-project-id")
bucket = client.bucket("my-bucket-name")
blob = bucket.blob("subfolder/name_of_file")
blob.upload_from_string(data)
print("data uploaded to cloud storage")
def get_pokemon(request):
url = "https://pokeapi.co/api/v2/pokemon?limit=100&offset=200"
data = requests.get(url).json()
output = [i.get("name") for i in data["results"]]
data = json.dumps(output)
upload_to_gsc(data=data)
print("saved data!")
requirements.txt
google-cloud-storage
requests==2.26.0
正如@dko512 在评论中提到的,问题已通过重新创建和重新部署 Cloud Function 得到解决。
将答案作为社区 wiki 发布,以造福于将来可能会遇到此用例的社区。
随时编辑此答案以获取更多信息。
正如@JackWotherspoon 提到的,如果您有像我一样的情况,请务必仔细检查您的 project-id、bucket-name 和入口点。对于我自己,我重新创建了 Cloud Function 并对其进行了测试,它再次运行。
我正在测试云功能并进行了设置,但输出未正确填充(输出未保存到云存储中,我的打印语句未填充)。下面是我的代码和我的要求。我已将 Cloud Function 设置为仅 运行 作为具有未经身份验证调用的 HTTP 请求触发器类型,并将运行时服务帐户设置为具有对 Cloud Storage 的写入权限的指定帐户。我已确认调用了正确的入口点。
日志
2022-03-22T18:52:02.749482564Z test-example vczj9p85h5m2 Function execution started
2022-03-22T18:52:04.148507183Z test-example vczj9p85h5m2 Function execution took 1399 ms.
Finished with status code: 200
main.py
import requests
from google.cloud import storage
import json
def upload_to_gsc(data):
print("saving to cloud storage")
client = storage.Client(project="my-project-id")
bucket = client.bucket("my-bucket-name")
blob = bucket.blob("subfolder/name_of_file")
blob.upload_from_string(data)
print("data uploaded to cloud storage")
def get_pokemon(request):
url = "https://pokeapi.co/api/v2/pokemon?limit=100&offset=200"
data = requests.get(url).json()
output = [i.get("name") for i in data["results"]]
data = json.dumps(output)
upload_to_gsc(data=data)
print("saved data!")
requirements.txt
google-cloud-storage
requests==2.26.0
正如@dko512 在评论中提到的,问题已通过重新创建和重新部署 Cloud Function 得到解决。
将答案作为社区 wiki 发布,以造福于将来可能会遇到此用例的社区。
随时编辑此答案以获取更多信息。
正如@JackWotherspoon 提到的,如果您有像我一样的情况,请务必仔细检查您的 project-id、bucket-name 和入口点。对于我自己,我重新创建了 Cloud Function 并对其进行了测试,它再次运行。