ListObjects
Retrieve all file information from a specified AlibabaCloud OSS bucket. Use region ID, bucket name, and optional prefix to filter results for efficient resource management.
Instructions
获取指定OSS存储空间中的所有文件信息。
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| BucketName | Yes | AlibabaCloud OSS Bucket Name | |
| Prefix | No | AlibabaCloud OSS Bucket Name prefix | |
| RegionId | No | AlibabaCloud region ID | cn-hangzhou |
Implementation Reference
- The main handler function implementing the OSS_ListObjects tool, which lists all objects in a specified Alibaba Cloud OSS bucket using pagination.@tools.append def OSS_ListObjects( BucketName: str = Field(description='AlibabaCloud OSS Bucket Name'), RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'), Prefix: str = Field(description='AlibabaCloud OSS Bucket Name prefix', default=None) ): """获取指定OSS存储空间中的所有文件信息。""" if not BucketName: raise ValueError("Bucket name is required") client = create_client(region_id=RegionId) paginator = client.list_objects_v2_paginator() results = [] for page in paginator.iter_page(oss.ListObjectsV2Request( bucket=BucketName, prefix=Prefix )): for object in page.contents: results.append(object.__str__()) return results
- src/alibaba_cloud_ops_mcp_server/server.py:86-87 (registration)Registers the OSS tools, including OSS_ListObjects, to the FastMCP server instance.for tool in oss_tools.tools: mcp.tool(tool)
- src/alibaba_cloud_ops_mcp_server/tools/oss_tools.py:59-59 (registration)Appends the OSS_ListObjects function to the local tools list for later registration.@tools.append
- Helper function to create an authenticated OSS client using credentials from headers or client.def create_client(region_id: str) -> oss.Client: credentials_provider = CredentialsProvider() cfg = oss.config.load_default() cfg.user_agent = 'alibaba-cloud-ops-mcp-server' cfg.credentials_provider = credentials_provider cfg.region = region_id return oss.Client(cfg)
- Pydantic Field definitions providing input schema and descriptions for the tool parameters.BucketName: str = Field(description='AlibabaCloud OSS Bucket Name'), RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'), Prefix: str = Field(description='AlibabaCloud OSS Bucket Name prefix', default=None) ): """获取指定OSS存储空间中的所有文件信息。""" if not BucketName: raise ValueError("Bucket name is required") client = create_client(region_id=RegionId) paginator = client.list_objects_v2_paginator() results = [] for page in paginator.iter_page(oss.ListObjectsV2Request( bucket=BucketName, prefix=Prefix )): for object in page.contents: results.append(object.__str__()) return results