{"_id":"57852199f3a10c0e009b75d4","__v":1,"user":"5613e4f8fdd08f2b00437620","category":{"_id":"5785191af3a10c0e009b75b0","version":"55faf11ba62ba1170021a9aa","__v":0,"project":"55faf11ba62ba1170021a9a7","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-07-12T16:21:46.337Z","from_sync":false,"order":25,"slug":"connect-cloud-storage","title":"CONNECT CLOUD STORAGE"},"project":"55faf11ba62ba1170021a9a7","version":{"_id":"55faf11ba62ba1170021a9aa","project":"55faf11ba62ba1170021a9a7","__v":37,"createdAt":"2015-09-17T16:58:03.490Z","releaseDate":"2015-09-17T16:58:03.490Z","categories":["55faf11ca62ba1170021a9ab","55faf8f4d0e22017005b8272","55faf91aa62ba1170021a9b5","55faf929a8a7770d00c2c0bd","55faf932a8a7770d00c2c0bf","55faf94b17b9d00d00969f47","55faf958d0e22017005b8274","55faf95fa8a7770d00c2c0c0","55faf96917b9d00d00969f48","55faf970a8a7770d00c2c0c1","55faf98c825d5f19001fa3a6","55faf99aa62ba1170021a9b8","55faf99fa62ba1170021a9b9","55faf9aa17b9d00d00969f49","55faf9b6a8a7770d00c2c0c3","55faf9bda62ba1170021a9ba","5604570090ee490d00440551","5637e8b2fbe1c50d008cb078","5649bb624fa1460d00780add","5671974d1b6b730d008b4823","5671979d60c8e70d006c9760","568e8eef70ca1f0d0035808e","56d0a2081ecc471500f1795e","56d4a0adde40c70b00823ea3","56d96b03dd90610b00270849","56fbb83d8f21c817002af880","573c811bee2b3b2200422be1","576bc92afb62dd20001cda85","5771811e27a5c20e00030dcd","5785191af3a10c0e009b75b0","57bdf84d5d48411900cd8dc0","57ff5c5dc135231700aed806","5804caf792398f0f00e77521","58458b4fba4f1c0f009692bb","586d3c287c6b5b2300c05055","58ef66d88646742f009a0216","58f5d52d7891630f00fe4e77"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-07-12T16:58:01.456Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":5,"body":"This page contains information on configuring a volume that is associated with a repository in Google Cloud storage.\n[block:callout]\n{\n  \"type\": \"success\",\n  \"body\": \"For a step-by-step tutorial on the process of creating and using a volume associated with an AWS S3 bucket, please see [the Google Cloud storage tutorial](doc:google-cloud-storage-tutorial).\"\n}\n[/block]\n##Authorization\nAuthorization for the CGC to read from (and, optionally, write to) a Google Cloud storage bucket associated with a volume is provided by authenticating with a Google Cloud service account that has access to the bucket.\n\nThe [Google Cloud storage tutorial](doc:google-cloud-storage-tutorial) explains the process of configuring a volume associated with a Google Cloud storage repository in detail. In short, the process is:\n1. Create a Google Cloud service account that has access to the repository associated with your volume. This account should be:\n  (a) A Reader account for read-only volumes, or or Writer account for read-write volumes;\n  (b) A Reader account on the objects within those bucket(s).\n2. Submit the Google Cloud service account credentials (email address and private key) in the `storage.credentials` object in the API request to create the volume. For the syntax of this object, see below.\n\n##Google Cloud Storage-specific volume parameters\nWhen making the API request to [create a new volume](doc:create-a-volume-v2) , you must submit a `service` array. In the case that the volume is associated with Google Cloud storage, the values of the parameters in the `service` object are as follows:\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"`service`.`type`\",\n    \"h-0\": \"Google Cloud Platform service parameter\",\n    \"h-1\": \"Description of value\",\n    \"0-1\": \"This should be be set to `gcs`.\",\n    \"1-0\": \"`service`.`bucket`\",\n    \"2-0\": \"`service`.`root_url`\\n*default: https://www.googleapis.com/*\",\n    \"3-0\": \"`service`.`prefix`\\ndefault: empty\",\n    \"4-0\": \"`service`.`credentials`.`client_email`\",\n    \"5-0\": \"`service`.`credentials`.`private_key`\",\n    \"1-1\": \"The name of the Google Cloud storage bucket.\",\n    \"2-1\": \"The endpoint to use when talking to Google Cloud storage.\",\n    \"3-1\": \"If provided, the value of this parameter will be used to modify any object key before an operation is performed on the bucket.\\nEven though Google Cloud Platform is not truly a folder-based store and allows for almost arbitrarily named keys, the prefix is treated as a folder name. This means that after applying the prefix to the name of the object the resulting key will be normalized to conform to the standard path-based naming schema for files.\\nFor example, if you set the `prefix` for a volume to \\\"a10\\\", and import a file with `source`.`location` set to \\\"test.fastq\\\" from the volume to the CGC, then the object that will be referred to by the newly-created alias will be \\\"a10/test.fastq\\\".\",\n    \"4-1\": \"The client email address for the Google Cloud service account to use for operations on this bucket.\",\n    \"5-1\": \"The private key  for the Google Cloud service account to use for operations on this bucket.\"\n  },\n  \"cols\": 2,\n  \"rows\": 6\n}\n[/block]\n###Additional configuration\nIn certain situations, however, it may be necessary to set up additional configuration on the bucket itself. For details, please see the documentation on [enabling cross-origin resource sharing (CORS)](doc:enabling-cross-origin-resource-sharing-cors).","excerpt":"","slug":"google-cloud-storage-gcs-volumes","type":"basic","title":"Google Cloud Storage (GCS) Volumes"}

Google Cloud Storage (GCS) Volumes


This page contains information on configuring a volume that is associated with a repository in Google Cloud storage. [block:callout] { "type": "success", "body": "For a step-by-step tutorial on the process of creating and using a volume associated with an AWS S3 bucket, please see [the Google Cloud storage tutorial](doc:google-cloud-storage-tutorial)." } [/block] ##Authorization Authorization for the CGC to read from (and, optionally, write to) a Google Cloud storage bucket associated with a volume is provided by authenticating with a Google Cloud service account that has access to the bucket. The [Google Cloud storage tutorial](doc:google-cloud-storage-tutorial) explains the process of configuring a volume associated with a Google Cloud storage repository in detail. In short, the process is: 1. Create a Google Cloud service account that has access to the repository associated with your volume. This account should be: (a) A Reader account for read-only volumes, or or Writer account for read-write volumes; (b) A Reader account on the objects within those bucket(s). 2. Submit the Google Cloud service account credentials (email address and private key) in the `storage.credentials` object in the API request to create the volume. For the syntax of this object, see below. ##Google Cloud Storage-specific volume parameters When making the API request to [create a new volume](doc:create-a-volume-v2) , you must submit a `service` array. In the case that the volume is associated with Google Cloud storage, the values of the parameters in the `service` object are as follows: [block:parameters] { "data": { "0-0": "`service`.`type`", "h-0": "Google Cloud Platform service parameter", "h-1": "Description of value", "0-1": "This should be be set to `gcs`.", "1-0": "`service`.`bucket`", "2-0": "`service`.`root_url`\n*default: https://www.googleapis.com/*", "3-0": "`service`.`prefix`\ndefault: empty", "4-0": "`service`.`credentials`.`client_email`", "5-0": "`service`.`credentials`.`private_key`", "1-1": "The name of the Google Cloud storage bucket.", "2-1": "The endpoint to use when talking to Google Cloud storage.", "3-1": "If provided, the value of this parameter will be used to modify any object key before an operation is performed on the bucket.\nEven though Google Cloud Platform is not truly a folder-based store and allows for almost arbitrarily named keys, the prefix is treated as a folder name. This means that after applying the prefix to the name of the object the resulting key will be normalized to conform to the standard path-based naming schema for files.\nFor example, if you set the `prefix` for a volume to \"a10\", and import a file with `source`.`location` set to \"test.fastq\" from the volume to the CGC, then the object that will be referred to by the newly-created alias will be \"a10/test.fastq\".", "4-1": "The client email address for the Google Cloud service account to use for operations on this bucket.", "5-1": "The private key for the Google Cloud service account to use for operations on this bucket." }, "cols": 2, "rows": 6 } [/block] ###Additional configuration In certain situations, however, it may be necessary to set up additional configuration on the bucket itself. For details, please see the documentation on [enabling cross-origin resource sharing (CORS)](doc:enabling-cross-origin-resource-sharing-cors).