def create(self, bucket, descriptor, force=False):
<EOL>buckets = bucket<EOL>if isinstance(bucket, six.string_types):<EOL><INDENT>buckets = [bucket]<EOL><DEDENT>descriptors = descriptor<EOL>if isinstance(descriptor, dict):<EOL><INDENT>descriptors = [descriptor]<EOL><DEDENT>for bucket, descriptor in zip(buckets, descriptors):<EOL><INDENT>if bucket in self.buckets:<EOL><INDENT>if not force:<EOL><INDENT>message = '<STR_LIT>' % bucket<EOL>raise tableschema.exceptions.StorageError(message)<EOL><DEDENT>self.delete(bucket)<EOL><DEDENT>tableschema.validate(descriptor)<EOL>table_name = self.__mapper.convert_bucket(bucket)<EOL>converted_descriptor, fallbacks = self.__mapper.convert_descriptor(descriptor)<EOL>body = {<EOL>'<STR_LIT>': {<EOL>'<STR_LIT>': self.__project,<EOL>'<STR_LIT>': self.__dataset,<EOL>'<STR_LIT>': table_name,<EOL>},<EOL>'<STR_LIT>': converted_descriptor,<EOL>}<EOL>self.__service.tables().insert(<EOL>projectId=self.__project,<EOL>datasetId=self.__dataset,<EOL>body=body).execute()<EOL>self.__descriptors[bucket] = descriptor<EOL>self.__fallbacks[bucket] = fallbacks<EOL><DEDENT>self.__buckets = None<EOL>
https://github.com/frictionlessdata/tableschema-bigquery-py#storage