You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何打印Azure Confidential Ledger查询结果而非方法绑定信息?

解决Azure Confidential Ledger查询结果打印问题

你遇到的问题是没有实际调用查询方法,只是把方法本身赋值给了变量,所以打印出来的是方法的绑定信息,而非查询结果。

错误原因

代码里的这行:

d = ledger_client.list_ledger_entries

只是将list_ledger_entries方法的引用赋值给了d,并没有执行这个方法去获取账本条目。要执行方法,必须加上括号()。

正确代码示例

另外,list_ledger_entries返回的是分页结果,需要遍历或获取所有条目才能打印具体内容:

from azure.confidentialledger import ConfidentialLedgerClient
from azure.confidentialledger.certificate import ConfidentialLedgerCertificateClient
from azure.identity import DefaultAzureCredential

identity_client = ConfidentialLedgerCertificateClient()
network_identity = identity_client.get_ledger_identity(
    ledger_id="MyLedger"
)

ledger_tls_cert_file_name = "ledger_certificate.pem"
with open(ledger_tls_cert_file_name, "w") as cert_file:
    cert_file.write(network_identity["ledgerTlsCertificate"])

credential = DefaultAzureCredential()
ledger_client = ConfidentialLedgerClient(
    endpoint="https://MyLedger.confidential-ledger.azure.com",
    credential=credential,
    ledger_certificate_path=ledger_tls_cert_file_name
)

# 调用方法获取分页结果
ledger_entries_page = ledger_client.list_ledger_entries()

# 遍历当前页的条目并打印详情
for entry in ledger_entries_page:
    print(f"条目ID: {entry.entry_id}")
    print(f"条目内容: {entry.contents}")
    print(f"提交时间: {entry.submitted_at}")
    print("---")

# 如果需要获取所有分页的条目,可使用以下方式
all_entries = []
for page in ledger_client.list_ledger_entries().by_page():
    all_entries.extend(page)

print("所有账本条目内容:")
for entry in all_entries:
    print(entry.contents)

关键说明

  1. 必须通过list_ledger_entries()(带括号)调用方法,才能获取实际的查询结果
  2. Azure SDK的分页结果需要遍历处理,直接打印分页对象只会显示对象信息,无法展示具体条目
  3. 每个账本条目包含entry_id、contents、submitted_at等属性,可按需打印对应内容

内容的提问来源于stack exchange,提问作者OmT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 00:45:55