GCP:Cloud FunctionからCloud Storageにアクセス

概要

Google Cloud PlatformのCloud FunctionからCloud Storageにアクセスする。

プログラミング言語

Python
デフォルトのコード「hello_word」に追記して確認。

コード

main.py

from datetime import datetime, timedelta, timezone
from google.cloud import storage

def hello_world(request):
    """Responds to any HTTP request.
    Args:
        request (flask.Request): HTTP request object.
    Returns:
        The response text or any set of values that can be turned into a
        Response object using
        `make_response <http://flask.pocoo.org/docs/1.0/api/#flask.Flask.make_response>`.
    """

    JST = timezone(timedelta(hours=+9), 'JST')
    dt_now = datetime.now(JST)
    print(dt_now)

    storage_client = storage.Client()
    bucket = storage_client.bucket('★バケット名★')
    print('Bucket {} get.'.format(bucket.name))
    
    request_json = request.get_json()
    if request.args and 'message' in request.args:
        return request.args.get('message')
    elif request_json and 'message' in request_json:
        return request_json['message']
    else:
        return f'Hello World!'

Storageアクセスは「storage_client = storage.Client()」含む3行。
★バケット名★は各位で置き換えて下さい。

requirements.txt

# Function dependencies, for example:
# package>=version
google-cloud-storage

google-cloud-storageの追加が必要。

Cloud Shellでログ確認

gcloud beta functions logs read

Python内のprint文は確認出来る。

etc

Posted by shi-n