2

I have following code

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
)

d = ledger_client.list_ledger_entries()

print(d)

The output for print(d) is

<iterator object azure.core.paging.ItemPaged at 0x18377142a90>

Therefore, with the help of How to iterate over azure.core.paging.ItemPaged?; I try to solve my issue, but when I use it in the following code:

    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
    )
    
    d = ledger_client.list_ledger_entries()
    d, d_backup = tee(d)
    
    for i, r in enumerate(d_backup):
        print(r)

I faced following error:

File "test.py", line 62, in <module>
    for i, r in enumerate(d_backup):
  File "C:\Users\Administrator\.venv\lib\site-packages\azure\core\paging.py", line 128, in __next__
    return next(self._page_iterator)
  File "C:\Users\Administrator\.venv\lib\site-packages\azure\core\paging.py", line 76, in __next__
    self._response = self._get_next(self.continuation_token)

Would you please advise me about how print and iterate over d?

Ethan Furman
  • 63,992
  • 20
  • 159
  • 237
OmT
  • 59
  • 4

0 Answers0