Connector for Cloud Storage

Workflows connector that defines the built-in function used to access Cloud Storage within a workflow.

Explore further

For detailed documentation that includes this code sample, see the following:

Code sample

YAML

# This workflow demonstrates how to use the Cloud Storage connector:
# Create a bucket and upload an object to the bucket
# Delete the bucket and the object
# Expected output: "SUCCESS"
- init:
    assign:
      - project_id: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
      - bucket_name: "BUCKET_NAME"  # replace BUCKET_NAME and FILE_NAME placeholders
      - encoded_object_name: ${text.url_encode("FILE_NAME.txt")}  # URL-encode object names to be path safe
- create_bucket:
    call: googleapis.storage.v1.buckets.insert
    args:
      project: ${project_id}
      body:
        name: ${bucket_name}
- upload_object_media:
    call: googleapis.storage.v1.objects.insert
    args:
      bucket: ${bucket_name}
      uploadType: "media"  # uploads object data
      name: ${encoded_object_name}
      body: "hello world"
- download_object_media:
    call: googleapis.storage.v1.objects.get
    args:
      bucket: ${bucket_name}
      object: ${encoded_object_name}
      alt: "media"  # gets object data
    result: object_data
# If `alt` is not set, get metadata
- get_object_metadata:
    call: googleapis.storage.v1.objects.get
    args:
      bucket: ${bucket_name}
      object: ${encoded_object_name}
    result: object_metadata
- get_bucket:
    call: googleapis.storage.v1.buckets.get
    args:
      bucket: ${bucket_name}
- delete_object:
    call: googleapis.storage.v1.objects.delete
    args:
      bucket: ${bucket_name}
      object: ${encoded_object_name}
- delete_bucket:
    call: googleapis.storage.v1.buckets.delete
    args:
      bucket: ${bucket_name}
- the_end:
    return: "SUCCESS"

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.