Package: pydatahub-beta
Elegent way to access Datahub Python SDK API.DocumentationInstallationThe quick way:$sudopipinstallpydatahubThe dependencies will be installed automatically.If network is not available, requirements are in dependency folder:$cddependency$pipinstall-rdependency.txtOr from source code:$virtualenvpydatahub_env$sourcepydatahub_env/bin/activate$gitclone<gitcloneURL>pydatahub$cdpydatahub$sudopythonsetup.pyinstallPython VersionTested on Python 2.7, 3.3, 3.4, 3.5, 3.6 and pypy, Python 3.6 recommendedDependenciessetuptools (>=3.0)requests (>=2.4.0)simplejson(>=3.3.0)six(>=1.1.0)enum34(>=1.1.5 for python_version < ‘3.4’)Run Testsinstall tox:$pipinstall-Utoxfill datahub/tests/datahub.ini with your configurationrun shell$toxUsagefromdatahubimportDataHubdh=DataHub('**your-access-id**','**your-secret-access-key**',endpoint='**your-end-point**')# ============================= create project =============================project_name='my_project_name'comment='my project'dh.create_project(project_name,comment)# ============================= get project =============================project_result=dh.get_project('pydatahub_test')print(project_result)# ============================= create tuple topic =============================fromdatahub.modelsimportRecordSchema,FieldTypetopic_name='tuple_topic_test'shard_count=3life_cycle=7comment='tuple topic'record_schema=RecordSchema.from_lists(['bigint_field','string_field','double_field','bool_field','time_field'],[FieldType.BIGINT,FieldType.STRING,FieldType.DOUBLE,FieldType.BOOLEAN,FieldType.TIMESTAMP])dh.create_tuple_topic(project_name,topic_name,shard_count,life_cycle,record_schema,comment)# ============================= create blob topic =============================topic_name='blob_topic_test'shard_count=3life_cycle=7comment='blob topic'dh.create_tuple_topic(project_name,topic_name,shard_count,life_cycle,comment)# ============================= get topic =============================topic_result=dh.get_topic(project_name,topic_name)print(topic_result)print(topic_result.record_schema)# ============================= list shard =============================shards_result=dh.list_shards(project_name,topic_name)print(shards_result)# ============================= put tuple records =============================fromdatahub.modelsimportTupleRecordrecords0=[]record0=TupleRecord(schema=topic.record_schema,values=[1,'yc1',10.01,True,1455869335000000])record0.shard_id='0'record0.put_attribute('AK','47')records0.append(record0)put_result=dh.put_records('pydatahub_test','tuple_topic_test',records0)print(put_result)# ============================= put tuple records =============================fromdatahub.modelsimportBlobRecorddata=Nonewithopen(os.path.join(root_path,'tests/resources/datahub.png'),'rb')asf:data=f.read()records1=[]record1=BlobRecord(blob_data=data)record1.shard_id='0'record1.put_attribute('a','b')records1.append(record1)put_result=dh.put_records('pydatahub_test','blob_topic_test',records1)print(put_result)# ============================= get cursor =============================fromdatahub.modelsimportCursorTypecursor_result=dh.get_cursor(project_name,topic_name,'0',CursorType.OLDEST)print(cursor_result)# ============================= get blob records =============================get_result=dh.get_blob_records(project_name,topic_name,'0',cursor,10)print(get_result)print(get_result.records)print(get_result.records[0])# ============================= get tuple records =============================get_result=dh.get_tuple_records(project_name,topic_name,'0',record_schema,cursor,10)print(get_result)print(get_result.records)print(get_result.records[0].values)Examplessee more examples inexamplesReleaseUpdatechangelog, then usebumpversionto update version:bugfix:bumpversion patchsmall feature：bumpversion minorbreaking change：bumpversion majorContributingFor a development install, clone the repository and then install from
source:git clone https://github.com/aliyun/aliyun-datahub-sdk-python.gitLicenseLicensed under theApache License
2.0