【问题标题】:Get Json Files via API url into Google Cloud通过 API url 获取 Json 文件到 Google Cloud
【发布时间】:2020-08-04 12:45:03
【问题描述】:

对 Google Cloud Platform 很陌生,并且有以下任务:我通过 API url 获得了一个动态 .json 文件。现在我想将这些 .json 文件以给定的时间间隔存储在一个 GCP 数据库中。 所以我的问题是,我应该使用哪个数据库服务以及如何从保存到数据库中的 url 获取 .json 文件。我看看如果这可以与 Cloud Functions 一起使用,但还没有真正找到任何解决方案。

提前致谢

亚历克斯

【问题讨论】:

    标签: json api google-cloud-platform google-cloud-firestore google-api


    【解决方案1】:

    例如,如果您将 Django/Python 与 Google App Engine 结合使用。

    • 创建一个激活了 Google Storage/Google App Engine 的 Google Cloud 帐户。 (这些是广泛的步骤,如果您需要进一步的帮助,请进一步详细说明)

    • 使用 urls.py 创建一个 API

    • 将 api 调用与以下功能相关联:

    类 JSONFileView(APIView):

       @method_decorator(login_required(login_url='/login/'))
       def get(self, request, filename):
           root_path = request.user.username + "-" + str(request.user.id) + '/'
           file_path = os.path.join(root_path, filename, 'yourfile.data', 'yourfile.json')
    
           storage_client = storage.Client(project=settings.PROJECT_ID, credentials=settings.GS_CREDENTIALS)
           bucket = storage_client.get_bucket(settings.GS_BUCKET_NAME)
           blob = bucket.get_blob(file_path)
           if blob != None:
               json_data = str(blob.download_as_string(raw_download=True).decode('utf8'))
           else:
               json_data = {}
               return Response(status=status.HTTP_404_NOT_FOUND)
    
       return Response(json_data)
    

    【讨论】:

    • 非常感谢!那应该行得通。您知道 Cloud Functions 是否也可以实现这样的请求?
    • 这实际上可以在 Google App Engine 和 Google Cloud Functions 中运行。将此视为从您的应用程序到 Google 存储的路由。用户应该有权访问装饰器处理的资源,然后生成signed_url,最后返回json,实际存储在Google Storage中。
    • 如果您也同意,请选择这一项作为正确答案。
    猜你喜欢
    • 1970-01-01
    • 2017-10-14
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多