GCP Storage: Get Node

The GCP Storage: Get Node allows a workflow to download or retrieve a link to a file in a GCP Storage bucket.

GCP Storage: Get Node

Node Properties

There are four main configuration sections for the GCP Storage: Get Node …

Authentication

First, we must enter our Google Cloud Storage credentials.

Note: We recommend that you create a service account key specifically for use in Losant workflows that has appropriate access to relevant storage buckets.

GCP Storage: Get Node Credentials

The next configuration field will depend on the Account Key Method selected.

  • If you selected Service Credential as your Account Key Method, Credential Name Template can either be a string template that references your Service Credential name or you can select a Service Credential you have created for your application.
  • If you selected Direct Input (JSON Template) as your Account Key Method, Account Key JSON Template can either be a string template that references your Google Service Account JSON Key or you may enter it in directly.
  • If you selected Direct Input (Payload Path) as your Account Key Method, Account Key Payload Path is a payload path that references a Google Service Account Key that has access to the bucket containing the requested file.

The third configuration field appears for all Account Key Methods.

  • Project ID Template: Can either be a string template that references your project ID or it can be left blank to use the default project ID associated with your credential. This option is available for all Account Key Methods. In Edge workflows, this option can only be defined for Gateway Edge Agent version v1.42.0 or above.

File Configuration

Next, we enter the basic details of the file we will be retrieving. All applicable fields are templatable.

GCP Storage: Get Node Config

  • Bucket Name: (Required) The name of the bucket containing the file to retrieve.
  • File Name: (Required) The name of the file to retrieve, including the extension. If the file is in a subdirectory within the bucket, the path to the file should be included in this field. (e.g. “path/to/my/file.ext”)

Result Type

Now, determine how you would like the file returned:

GCP Storage: Get Node Result Type

  • Get File Contents: Returns the actual content of the file and places it on the workflow payload. If your file is especially large, it is recommended to not select this option. When opting to return the file content, you must also specify the File Encoding (defaults to UTF8).
  • Get Download Link: Selecting this option places a signed URL on the workflow payload to where the file can be downloaded.

Output

GCP Storage: Get Node Output

Finally, specify a payload path for the result of the operation. Depending on the selected result type, the shape of the response may vary.

When the operation successfully executes, the result will contain two keys: the value retrieved from Google Cloud Storage, and some metadata about the file. When the the operation encounters an error, the result will contain a single error key.

Node Example

The GCP Storage: Get Node’s output varies with the selected result type:

  • When Get File Contents is selected, the result will look like the following:

    {
    "value":
      "1, 2, 3, 4
      12,  340,  360,  417
      45,  318,  342,  391
      56,  362,  406,  419",
    "metadata": { "fileSize": 1890, "contentType": "text/plain", "etag": "\"0x8DA4A2A98327BB1\"" }
    }
  • When Get Download Link is selected, the result will look like the following:

    {
    "value": "http://storage.googleapis.com/<Bucket>/<File>",
    "metadata": { "fileSize": 12720, "contentType": "application/json", "etag": "\"0x8DA4A2A98327BA1\"" }
    }

    Note: Download links retrieved this way will expire after 7 days.

Node Errors

In the case of an error, the resulting object will contain an error key instead of the normal value and metadata keys.

{
  "error": "Access Denied"
}

Was this page helpful?


Still looking for help? You can also search the Losant Forums or submit your question there.