# Google Cloud Storage

Google Cloud Storage is a RESTful online file storage web service for storing and accessing data on Google Cloud Platform infrastructure. The service combines the performance and scalability of Google's cloud with advanced security and sharing capabilities. (Wikipedia)

\<img src="<https://support.xnarum.com/download/manuals/ISM-Manual-2023.fld/image315.png>" alt="Icon

Description automatically generated" data-size="line">

## **Input**

&#x20;

<table><thead><tr><th width="206">Attribute</th><th>Description</th></tr></thead><tbody><tr><td>Credential Path</td><td>The path of the credential file. Credential file contains service user information of the storage operations.</td></tr><tr><td>Project ID</td><td>Project id in GCP(Google Cloud Platform)</td></tr><tr><td>Action</td><td><p>Create/Create Skip/Delete/List Bucket</p><p>Upload/Upload Update/Download/Delete File</p></td></tr><tr><td>Bucket</td><td>Bucket name</td></tr><tr><td>Key</td><td><p>Key of an object which will be uploaded or downloaded.</p><p>The contents of a file can be retrieved with key.</p></td></tr><tr><td>Media</td><td><p>Input for upload, Output for download</p><p>·       File</p><p>·       Parameter</p></td></tr><tr><td>Data</td><td>Input data when the media is parameter type.</td></tr><tr><td>Path</td><td><p>The path of the source file to be uploaded.</p><p>The path of the target file to bd downloaded.</p></td></tr></tbody></table>

Project ID can be found at Dashboard of your cloud project.

<figure><img src="https://support.xnarum.com/download/manuals/ISM-Manual-2023.fld/image316.png" alt=""><figcaption></figcaption></figure>

&#x20;

A service account which is allowed to use Google Cloud Storage is required. If no service account for the storage exists, create a new service account, and assign the role of storage.

<figure><img src="https://support.xnarum.com/download/manuals/ISM-Manual-2023.fld/image317.png" alt=""><figcaption></figcaption></figure>

Once the service account for the storage, create a credential for future use in ISM. Create a private key and save as json file.

<figure><img src="https://support.xnarum.com/download/manuals/ISM-Manual-2023.fld/image318.png" alt=""><figcaption></figcaption></figure>

## **Output**

&#x20;

<table><thead><tr><th width="184">Attribute</th><th>Description</th></tr></thead><tbody><tr><td>ResultList</td><td>Bucket list when "List Bucket" action is performed.</td></tr><tr><td>ResultContents</td><td><p>Contents of an object when "Download File" action is performed.</p><p>·        File path of downloaded object when Media is File type.</p><p>·        Stringified contents of the downloaded object when Media is Parameter type</p></td></tr></tbody></table>

&#x20;

## **Example**

&#x20;

### **Create a bucket**

&#x20;

<table><thead><tr><th width="199">Attribute</th><th>Description</th></tr></thead><tbody><tr><td>Credential Path</td><td>/home/myuser/downloaded.credential.json</td></tr><tr><td>Project ID</td><td>my-project-id</td></tr><tr><td>Action</td><td>Create a Bucket</td></tr><tr><td>Bucket</td><td>my-bucket-scott</td></tr><tr><td>Key</td><td> </td></tr><tr><td>Media</td><td> </td></tr><tr><td>Data</td><td> </td></tr><tr><td>Path</td><td> </td></tr></tbody></table>

<figure><img src="https://support.xnarum.com/download/manuals/ISM-Manual-2023.fld/image319.png" alt=""><figcaption></figcaption></figure>

### **UPload a file**

&#x20;

<table><thead><tr><th width="196">Attribute</th><th>Description</th></tr></thead><tbody><tr><td>Credential Path</td><td>/home/myuser/downloaded.credential.json</td></tr><tr><td>Project ID</td><td>my-project-id</td></tr><tr><td>Action</td><td>Upload a file</td></tr><tr><td>Bucket</td><td>my-bucket-scott</td></tr><tr><td>Key</td><td>my-key</td></tr><tr><td>Media</td><td>File</td></tr><tr><td>Data</td><td> </td></tr><tr><td>Path</td><td>/home/myuser/my-key.txt</td></tr></tbody></table>

<figure><img src="https://support.xnarum.com/download/manuals/ISM-Manual-2023.fld/image320.png" alt=""><figcaption></figcaption></figure>

### **Download a file**

&#x20;

<table><thead><tr><th width="201">Attribute</th><th>Description</th></tr></thead><tbody><tr><td>Credential Path</td><td>/home/myuser/downloaded.credential.json</td></tr><tr><td>Project ID</td><td>my-project-id</td></tr><tr><td>Action</td><td>Download a file</td></tr><tr><td>Bucket</td><td>my-bucket-scott</td></tr><tr><td>Key</td><td>my-key</td></tr><tr><td>Media</td><td>File</td></tr><tr><td>Data</td><td> </td></tr><tr><td>Path</td><td>/home/myuser/my-key.txt.out</td></tr></tbody></table>

&#x20;

### **Delete a file**

&#x20;

<table><thead><tr><th width="198">Attribute</th><th>Description</th></tr></thead><tbody><tr><td>Credential Path</td><td>/home/myuser/downloaded.credential.json</td></tr><tr><td>Project ID</td><td>my-project-id</td></tr><tr><td>Action</td><td>Download a file</td></tr><tr><td>Bucket</td><td>my-bucket-scott</td></tr><tr><td>Key</td><td>my-key</td></tr><tr><td>Media</td><td> </td></tr><tr><td>Data</td><td> </td></tr><tr><td>Path</td><td> </td></tr></tbody></table>

<figure><img src="https://support.xnarum.com/download/manuals/ISM-Manual-2023.fld/image321.png" alt=""><figcaption></figcaption></figure>

### **Delete a bucket**

Bucket can be deleted even if the bucket is not empty.

<table><thead><tr><th width="197">Attribute</th><th>Description</th></tr></thead><tbody><tr><td>Credential Path</td><td>/home/myuser/downloaded.credential.json</td></tr><tr><td>Project ID</td><td>my-project-id</td></tr><tr><td>Action</td><td>Download a file</td></tr><tr><td>Bucket</td><td>my-bucket-scott</td></tr><tr><td>Key</td><td>my-key</td></tr><tr><td>Media</td><td> </td></tr><tr><td>Data</td><td> </td></tr><tr><td>Path</td><td> </td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ism-docs.xnarum.com/tasks/cloud/google-cloud-storage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
