aliyun-log-python-sdk 0.9.37__tar.gz → 0.9.38__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aliyun_log_python_sdk-0.9.37/aliyun_log_python_sdk.egg-info → aliyun_log_python_sdk-0.9.38}/PKG-INFO +1 -1
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/__init__.py +1 -1
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/auth.py +3 -3
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logclient.py +79 -4
- aliyun_log_python_sdk-0.9.38/aliyun/log/object_response.py +89 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/util.py +11 -1
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/version.py +1 -1
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38/aliyun_log_python_sdk.egg-info}/PKG-INFO +1 -1
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun_log_python_sdk.egg-info/SOURCES.txt +1 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/LICENSE +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/README.md +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/_proto_py2/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/_proto_py2/log_logs_pb2.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/_proto_py2/log_logs_raw_pb2.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/acl_config.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/acl_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/async_sql_pb2.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/async_sql_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/common_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/compress.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/checkpoint_tracker.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/config.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/consumer_client.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/exceptions.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/fetched_log_group.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/heart_beat.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/preprocessor.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/shard_worker.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/tasks.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/worker.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer_group_request.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer_group_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/credentials.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/cursor_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/cursor_time_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/delete_async_sql_request.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/deletelogsrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/deletelogssresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/es_migration/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/es_migration/doc_logitem_converter.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/es_migration/index_logstore_mappings.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/es_migration/mapping_index_converter.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/es_migration/migration_log.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/es_migration/migration_manager.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/es_migration/migration_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/es_migration/migration_task.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/es_migration/util.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/config_parser.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/etl_util.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/exceptions.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/restrict_config_parser.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/runner.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/settings.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/trans_comp/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/trans_comp/trans_base.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/trans_comp/trans_csv.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/trans_comp/trans_json.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/trans_comp/trans_kv.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/trans_comp/trans_lookup.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/trans_comp/trans_mv.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/trans_comp/trans_regex.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/trans_comp/trans_set_field.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/transform/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/transform/condition_list.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/transform/condition_transform.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/transform/condition_util.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/transform/transform_base.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/transform/transform_list.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/transform/transform_meta.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/export_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/ext/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/ext/jupyter_magic.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/ext/syslogclient.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/external_store_config.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/external_store_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/get_async_sql_request.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/getcontextlogsresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/getdeletelogsstatusrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/getdeletelogsstatusresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/gethistogramsrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/gethistogramsresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/getlogsrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/getlogsresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/histogram.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/index_config.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/index_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/ingestion_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/job.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/listdeletelogsstasksrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/listdeletelogsstasksresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/listlogstoresrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/listlogstoresresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/listtopicsrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/listtopicsresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/log_logs_pb2.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/log_logs_raw_pb2.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logclient_core.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logclient_operator.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logexception.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logger_hanlder.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logitem.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logstore_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logtail_config_detail.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logtail_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logtail_pipeline_config_detail.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logtail_pipeline_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/machine_group_detail.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/machinegroup_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/metering_mode_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/odps_sink.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/oss_sink.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/pluralize.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/project_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/proto.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/pulllog_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/putlogsrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/putlogsresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/queriedlog.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/rebuild_index_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/resource_params.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/resource_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/scheduled_sql.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/scheduled_sql_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/shard_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/shipper_config.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/shipper_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/sink.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/sql_instance_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/store_view.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/store_view_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/submit_async_sql_request.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/substore_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/tag_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/topostore_params.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/topostore_response.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun_log_python_sdk.egg-info/dependency_links.txt +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun_log_python_sdk.egg-info/requires.txt +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun_log_python_sdk.egg-info/top_level.txt +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/setup.cfg +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/setup.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/tests/test_alert.py +0 -0
- {aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/tests/test_util.py +0 -0
|
@@ -48,7 +48,7 @@ from .logger_hanlder import SimpleLogHandler, QueuedLogHandler, LogFields, Uwsgi
|
|
|
48
48
|
from .metering_mode_response import GetLogStoreMeteringModeResponse, \
|
|
49
49
|
GetMetricStoreMeteringModeResponse, \
|
|
50
50
|
UpdateLogStoreMeteringModeResponse, UpdateMetricStoreMeteringModeResponse
|
|
51
|
-
|
|
51
|
+
from .object_response import PutObjectResponse, GetObjectResponse
|
|
52
52
|
|
|
53
53
|
from .store_view import StoreView, StoreViewStore
|
|
54
54
|
from .store_view_response import CreateStoreViewResponse, UpdateStoreViewResponse, DeleteStoreViewResponse, ListStoreViewsResponse, GetStoreViewResponse
|
|
@@ -60,7 +60,7 @@ class AuthV1(AuthBase):
|
|
|
60
60
|
logger.warning("failed to set locale time to C. skip it: {0}".format(ex))
|
|
61
61
|
return datetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT')
|
|
62
62
|
|
|
63
|
-
def sign_request(self, method, resource, params, headers, body):
|
|
63
|
+
def sign_request(self, method, resource, params, headers, body, compute_content_hash=True):
|
|
64
64
|
credentials = self.credentials_provider.get_credentials()
|
|
65
65
|
if credentials.get_security_token():
|
|
66
66
|
headers['x-acs-security-token'] = credentials.get_security_token()
|
|
@@ -68,7 +68,7 @@ class AuthV1(AuthBase):
|
|
|
68
68
|
headers['x-log-signaturemethod'] = 'hmac-sha1'
|
|
69
69
|
headers['Date'] = self._getGMT()
|
|
70
70
|
|
|
71
|
-
if body:
|
|
71
|
+
if body and compute_content_hash:
|
|
72
72
|
headers['Content-MD5'] = Util.cal_md5(body)
|
|
73
73
|
if not credentials.get_access_key_secret():
|
|
74
74
|
return six.b('')
|
|
@@ -92,7 +92,7 @@ class AuthV4(AuthBase):
|
|
|
92
92
|
AuthBase.__init__(self, credentials_provider)
|
|
93
93
|
self._region = region
|
|
94
94
|
|
|
95
|
-
def sign_request(self, method, resource, params, headers, body):
|
|
95
|
+
def sign_request(self, method, resource, params, headers, body, compute_content_hash=True):
|
|
96
96
|
current_time = datetime.utcnow().strftime("%Y%m%dT%H%M%SZ")
|
|
97
97
|
headers['Authorization'] = self._do_sign_request(method, resource, params, headers, body, current_time)
|
|
98
98
|
|
|
@@ -10,9 +10,9 @@ import json
|
|
|
10
10
|
import requests
|
|
11
11
|
import six
|
|
12
12
|
import time
|
|
13
|
-
import zlib
|
|
14
13
|
from datetime import datetime
|
|
15
14
|
import logging
|
|
15
|
+
import re
|
|
16
16
|
|
|
17
17
|
from .store_view_response import ListStoreViewsResponse, CreateStoreViewResponse, UpdateStoreViewResponse, DeleteStoreViewResponse, GetStoreViewResponse
|
|
18
18
|
from .credentials import StaticCredentialsProvider
|
|
@@ -76,7 +76,8 @@ from .compress import CompressType, Compressor
|
|
|
76
76
|
from .metering_mode_response import GetLogStoreMeteringModeResponse, \
|
|
77
77
|
GetMetricStoreMeteringModeResponse, UpdateLogStoreMeteringModeResponse, \
|
|
78
78
|
UpdateMetricStoreMeteringModeResponse
|
|
79
|
-
from .
|
|
79
|
+
from .object_response import PutObjectResponse, GetObjectResponse
|
|
80
|
+
from .util import require_python3, object_name_encode
|
|
80
81
|
|
|
81
82
|
logger = logging.getLogger(__name__)
|
|
82
83
|
|
|
@@ -310,7 +311,7 @@ class LogClient(object):
|
|
|
310
311
|
'Request is failed. Http code is ' + str(resp_status) + exJson, requestId,
|
|
311
312
|
resp_status, resp_header, resp_body)
|
|
312
313
|
|
|
313
|
-
def _send(self, method, project, body, resource, params, headers, respons_body_type='json'):
|
|
314
|
+
def _send(self, method, project, body, resource, params, headers, respons_body_type='json', compute_content_hash=True):
|
|
314
315
|
if body:
|
|
315
316
|
headers['Content-Length'] = str(len(body))
|
|
316
317
|
else:
|
|
@@ -337,7 +338,7 @@ class LogClient(object):
|
|
|
337
338
|
params2 = copy(params)
|
|
338
339
|
if self._securityToken:
|
|
339
340
|
headers2["x-acs-security-token"] = self._securityToken
|
|
340
|
-
self._auth.sign_request(method, resource, params2, headers2, body)
|
|
341
|
+
self._auth.sign_request(method, resource, params2, headers2, body, compute_content_hash=compute_content_hash)
|
|
341
342
|
return self._sendRequest(method, url, params2, body, headers2, respons_body_type)
|
|
342
343
|
except LogException as ex:
|
|
343
344
|
last_err = ex
|
|
@@ -6511,3 +6512,77 @@ class LogClient(object):
|
|
|
6511
6512
|
resource = "/storeviews/" + store_view_name
|
|
6512
6513
|
(resp, header) = self._send("DELETE", project_name, None, resource, params, {})
|
|
6513
6514
|
return DeleteStoreViewResponse(header, resp)
|
|
6515
|
+
|
|
6516
|
+
def put_object(
|
|
6517
|
+
self, project_name, logstore_name, object_name, content, headers=None
|
|
6518
|
+
):
|
|
6519
|
+
"""Put an object to the specified logstore.
|
|
6520
|
+
Unsuccessful operation will cause an LogException.
|
|
6521
|
+
|
|
6522
|
+
:type project_name: string
|
|
6523
|
+
:param project_name: the project name
|
|
6524
|
+
|
|
6525
|
+
:type logstore_name: string
|
|
6526
|
+
:param logstore_name: the logstore name
|
|
6527
|
+
|
|
6528
|
+
:type object_name: string
|
|
6529
|
+
:param object_name: the object name (only allow a-z A-Z 0-9 _ -)
|
|
6530
|
+
|
|
6531
|
+
:type content: bytes/string
|
|
6532
|
+
:param content: the object content (can be empty)
|
|
6533
|
+
|
|
6534
|
+
:type headers: dict
|
|
6535
|
+
:param headers: optional headers to send with the request.
|
|
6536
|
+
- x-log-meta-* headers will be attached to the object as metadata, and returned in the response when getting the object
|
|
6537
|
+
- Content-Type will be attached to the object as metadata, and returned in the response when getting the object
|
|
6538
|
+
- Content-MD5 will be attached to the object as metadata, and returned in the response when getting the object
|
|
6539
|
+
|
|
6540
|
+
:return: PutObjectResponse
|
|
6541
|
+
|
|
6542
|
+
:raise: LogException
|
|
6543
|
+
"""
|
|
6544
|
+
encoded_object_name = object_name_encode(object_name)
|
|
6545
|
+
if headers is None:
|
|
6546
|
+
headers = {}
|
|
6547
|
+
else:
|
|
6548
|
+
headers = dict(headers)
|
|
6549
|
+
|
|
6550
|
+
if isinstance(content, six.text_type):
|
|
6551
|
+
body = content.encode("utf-8")
|
|
6552
|
+
elif isinstance(content, six.binary_type):
|
|
6553
|
+
body = content
|
|
6554
|
+
else:
|
|
6555
|
+
raise LogException("InvalidParameter", "content must be bytes or string")
|
|
6556
|
+
|
|
6557
|
+
headers["x-log-bodyrawsize"] = str(len(body))
|
|
6558
|
+
resource = "/logstores/" + logstore_name + "/objects/" + encoded_object_name
|
|
6559
|
+
|
|
6560
|
+
(resp, resp_header) = self._send(
|
|
6561
|
+
"PUT", project_name, body, resource, {}, headers, compute_content_hash=False
|
|
6562
|
+
)
|
|
6563
|
+
return PutObjectResponse(resp_header, resp)
|
|
6564
|
+
|
|
6565
|
+
def get_object(self, project_name, logstore_name, object_name):
|
|
6566
|
+
"""Get an object from the specified logstore.
|
|
6567
|
+
Unsuccessful operation will cause an LogException.
|
|
6568
|
+
|
|
6569
|
+
:type project_name: string
|
|
6570
|
+
:param project_name: the project name
|
|
6571
|
+
|
|
6572
|
+
:type logstore_name: string
|
|
6573
|
+
:param logstore_name: the logstore name
|
|
6574
|
+
|
|
6575
|
+
:type object_name: string
|
|
6576
|
+
:param object_name: the object name
|
|
6577
|
+
|
|
6578
|
+
:return: GetObjectResponse
|
|
6579
|
+
|
|
6580
|
+
:raise: LogException
|
|
6581
|
+
"""
|
|
6582
|
+
encoded_object_name = object_name_encode(object_name)
|
|
6583
|
+
resource = "/logstores/" + logstore_name + "/objects/" + encoded_object_name
|
|
6584
|
+
|
|
6585
|
+
(resp, resp_header) = self._send(
|
|
6586
|
+
"GET", project_name, None, resource, {}, {}, respons_body_type="raw"
|
|
6587
|
+
)
|
|
6588
|
+
return GetObjectResponse(resp_header, resp)
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# encoding: utf-8
|
|
3
|
+
|
|
4
|
+
# Copyright (C) Alibaba Cloud Computing
|
|
5
|
+
# All rights reserved.
|
|
6
|
+
|
|
7
|
+
from .logresponse import LogResponse
|
|
8
|
+
from .util import Util
|
|
9
|
+
|
|
10
|
+
__all__ = ['PutObjectResponse', 'GetObjectResponse']
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class PutObjectResponse(LogResponse):
|
|
14
|
+
""" The response of the put_object API from log.
|
|
15
|
+
|
|
16
|
+
:type header: dict
|
|
17
|
+
:param header: PutObjectResponse HTTP response header
|
|
18
|
+
|
|
19
|
+
:type resp: string
|
|
20
|
+
:param resp: PutObjectResponse HTTP response body
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
def __init__(self, header, resp=''):
|
|
24
|
+
LogResponse.__init__(self, header, resp)
|
|
25
|
+
|
|
26
|
+
def get_etag(self):
|
|
27
|
+
""" Get the ETag of the uploaded object.
|
|
28
|
+
|
|
29
|
+
:return: string, ETag value
|
|
30
|
+
"""
|
|
31
|
+
return Util.h_v_td(self.headers, 'ETag', None)
|
|
32
|
+
|
|
33
|
+
def log_print(self):
|
|
34
|
+
print('PutObjectResponse:')
|
|
35
|
+
print('headers:', self.get_all_headers())
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class GetObjectResponse(LogResponse):
|
|
39
|
+
""" The response of the get_object API from log.
|
|
40
|
+
|
|
41
|
+
:type header: dict
|
|
42
|
+
:param header: GetObjectResponse HTTP response header
|
|
43
|
+
|
|
44
|
+
:type resp: bytes
|
|
45
|
+
:param resp: GetObjectResponse HTTP response body (object content)
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
def __init__(self, header, resp):
|
|
49
|
+
LogResponse.__init__(self, header, resp)
|
|
50
|
+
|
|
51
|
+
def get_etag(self):
|
|
52
|
+
""" Get the ETag of the object.
|
|
53
|
+
|
|
54
|
+
:return: string, ETag value, may be None if not set
|
|
55
|
+
"""
|
|
56
|
+
return Util.h_v_td(self.headers, 'ETag', None)
|
|
57
|
+
|
|
58
|
+
def get_last_modified(self):
|
|
59
|
+
""" Get the last modified time of the object.
|
|
60
|
+
|
|
61
|
+
:return: string, last modified time, may be None if not set
|
|
62
|
+
"""
|
|
63
|
+
return Util.h_v_td(self.headers, 'Last-Modified', None)
|
|
64
|
+
|
|
65
|
+
def get_content_type(self):
|
|
66
|
+
""" Get the content type of the object.
|
|
67
|
+
|
|
68
|
+
:return: string, content type
|
|
69
|
+
"""
|
|
70
|
+
return Util.h_v_td(self.headers, 'Content-Type', '')
|
|
71
|
+
|
|
72
|
+
def get_headers(self):
|
|
73
|
+
""" Get all headers of the response.
|
|
74
|
+
|
|
75
|
+
:return: dict, all response headers
|
|
76
|
+
"""
|
|
77
|
+
return self.headers
|
|
78
|
+
|
|
79
|
+
def get_body(self):
|
|
80
|
+
""" Get the object content.
|
|
81
|
+
|
|
82
|
+
:return: bytes, object content
|
|
83
|
+
"""
|
|
84
|
+
return self.body
|
|
85
|
+
|
|
86
|
+
def log_print(self):
|
|
87
|
+
print('GetObjectResponse:')
|
|
88
|
+
print('headers:', self.get_all_headers())
|
|
89
|
+
|
|
@@ -322,4 +322,14 @@ def require_python3(func):
|
|
|
322
322
|
if not six.PY3:
|
|
323
323
|
raise RuntimeError("Function '{func_name}' requires Python 3 to run.".format(func_name=func.__name__))
|
|
324
324
|
return func(*args, **kwargs)
|
|
325
|
-
return wrapper
|
|
325
|
+
return wrapper
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
if six.PY2:
|
|
329
|
+
from urllib import quote as urlquote
|
|
330
|
+
else:
|
|
331
|
+
from urllib.parse import quote as urlquote
|
|
332
|
+
urlquote
|
|
333
|
+
|
|
334
|
+
def object_name_encode(object_name):
|
|
335
|
+
return urlquote(object_name)
|
|
@@ -59,6 +59,7 @@ aliyun/log/logtail_pipeline_config_response.py
|
|
|
59
59
|
aliyun/log/machine_group_detail.py
|
|
60
60
|
aliyun/log/machinegroup_response.py
|
|
61
61
|
aliyun/log/metering_mode_response.py
|
|
62
|
+
aliyun/log/object_response.py
|
|
62
63
|
aliyun/log/odps_sink.py
|
|
63
64
|
aliyun/log/oss_sink.py
|
|
64
65
|
aliyun/log/pluralize.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/_proto_py2/__init__.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/_proto_py2/log_logs_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/async_sql_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/consumer_client.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/heart_beat.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/preprocessor.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer/shard_worker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer_group_request.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/consumer_group_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/cursor_time_response.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/delete_async_sql_request.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/deletelogsrequest.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/deletelogssresponse.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/es_migration/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/es_migration/util.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_config_response.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/__init__.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/config_parser.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/etl_util.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/etl_core/settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/ext/jupyter_magic.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/ext/syslogclient.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/external_store_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/get_async_sql_request.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/getcontextlogsresponse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/gethistogramsrequest.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/gethistogramsresponse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/index_config_response.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/ingestion_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/listlogstoresrequest.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/listlogstoresresponse.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/listtopicsrequest.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/listtopicsresponse.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/log_logs_raw_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logclient_operator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logstore_config_response.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logtail_config_detail.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/logtail_config_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/machine_group_detail.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/machinegroup_response.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/metering_mode_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/project_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/pulllog_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/rebuild_index_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/resource_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/scheduled_sql_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/shipper_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/sql_instance_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/store_view_response.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/submit_async_sql_request.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/substore_config_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/topostore_params.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.37 → aliyun_log_python_sdk-0.9.38}/aliyun/log/topostore_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|