Amazon Managed Blockchain

2020/09/14 - Amazon Managed Blockchain - 2 updated api methods

Changes  Introducing support for Hyperledger Fabric 1.4. When using framework version 1.4, the state database may optionally be specified when creating peer nodes (defaults to CouchDB).

CreateNode (updated) Link ¶
Changes (request)
{'NodeConfiguration': {'StateDB': 'LevelDB | CouchDB'}}

Creates a peer node in a member.

See also: AWS API Documentation

Request Syntax

client.create_node(
    ClientRequestToken='string',
    NetworkId='string',
    MemberId='string',
    NodeConfiguration={
        'InstanceType': 'string',
        'AvailabilityZone': 'string',
        'LogPublishingConfiguration': {
            'Fabric': {
                'ChaincodeLogs': {
                    'Cloudwatch': {
                        'Enabled': True|False
                    }
                },
                'PeerLogs': {
                    'Cloudwatch': {
                        'Enabled': True|False
                    }
                }
            }
        },
        'StateDB': 'LevelDB'|'CouchDB'
    }
)
type ClientRequestToken

string

param ClientRequestToken

[REQUIRED]

A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

This field is autopopulated if not provided.

type NetworkId

string

param NetworkId

[REQUIRED]

The unique identifier of the network in which this node runs.

type MemberId

string

param MemberId

[REQUIRED]

The unique identifier of the member that owns this node.

type NodeConfiguration

dict

param NodeConfiguration

[REQUIRED]

The properties of a node configuration.

  • InstanceType (string) -- [REQUIRED]

    The Amazon Managed Blockchain instance type for the node.

  • AvailabilityZone (string) -- [REQUIRED]

    The Availability Zone in which the node exists.

  • LogPublishingConfiguration (dict) --

    Configuration properties for logging events associated with a peer node owned by a member in a Managed Blockchain network.

    • Fabric (dict) --

      Configuration properties for logging events associated with a node that is owned by a member of a Managed Blockchain network using the Hyperledger Fabric framework.

      • ChaincodeLogs (dict) --

        Configuration properties for logging events associated with chaincode execution on a peer node. Chaincode logs contain the results of instantiating, invoking, and querying the chaincode. A peer can run multiple instances of chaincode. When enabled, a log stream is created for all chaincodes, with an individual log stream for each chaincode.

        • Cloudwatch (dict) --

          Parameters for publishing logs to Amazon CloudWatch Logs.

          • Enabled (boolean) --

            Indicates whether logging is enabled.

      • PeerLogs (dict) --

        Configuration properties for a peer node log. Peer node logs contain messages generated when your client submits transaction proposals to peer nodes, requests to join channels, enrolls an admin peer, and lists the chaincode instances on a peer node.

        • Cloudwatch (dict) --

          Parameters for publishing logs to Amazon CloudWatch Logs.

          • Enabled (boolean) --

            Indicates whether logging is enabled.

  • StateDB (string) --

    The state database that the node uses. Values are LevelDB or CouchDB . When using an Amazon Managed Blockchain network with Hyperledger Fabric version 1.4 or later, the default is CouchDB .

rtype

dict

returns

Response Syntax

{
    'NodeId': 'string'
}

Response Structure

  • (dict) --

    • NodeId (string) --

      The unique identifier of the node.

GetNode (updated) Link ¶
Changes (response)
{'Node': {'StateDB': 'LevelDB | CouchDB'}}

Returns detailed information about a peer node.

See also: AWS API Documentation

Request Syntax

client.get_node(
    NetworkId='string',
    MemberId='string',
    NodeId='string'
)
type NetworkId

string

param NetworkId

[REQUIRED]

The unique identifier of the network to which the node belongs.

type MemberId

string

param MemberId

[REQUIRED]

The unique identifier of the member that owns the node.

type NodeId

string

param NodeId

[REQUIRED]

The unique identifier of the node.

rtype

dict

returns

Response Syntax

{
    'Node': {
        'NetworkId': 'string',
        'MemberId': 'string',
        'Id': 'string',
        'InstanceType': 'string',
        'AvailabilityZone': 'string',
        'FrameworkAttributes': {
            'Fabric': {
                'PeerEndpoint': 'string',
                'PeerEventEndpoint': 'string'
            }
        },
        'LogPublishingConfiguration': {
            'Fabric': {
                'ChaincodeLogs': {
                    'Cloudwatch': {
                        'Enabled': True|False
                    }
                },
                'PeerLogs': {
                    'Cloudwatch': {
                        'Enabled': True|False
                    }
                }
            }
        },
        'StateDB': 'LevelDB'|'CouchDB',
        'Status': 'CREATING'|'AVAILABLE'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETED'|'FAILED',
        'CreationDate': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • Node (dict) --

      Properties of the node configuration.

      • NetworkId (string) --

        The unique identifier of the network that the node is in.

      • MemberId (string) --

        The unique identifier of the member to which the node belongs.

      • Id (string) --

        The unique identifier of the node.

      • InstanceType (string) --

        The instance type of the node.

      • AvailabilityZone (string) --

        The Availability Zone in which the node exists.

      • FrameworkAttributes (dict) --

        Attributes of the blockchain framework being used.

        • Fabric (dict) --

          Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain network that uses Hyperledger Fabric.

          • PeerEndpoint (string) --

            The endpoint that identifies the peer node for all services except peer channel-based event services.

          • PeerEventEndpoint (string) --

            The endpoint that identifies the peer node for peer channel-based event services.

      • LogPublishingConfiguration (dict) --

        Configuration properties for logging events associated with a peer node owned by a member in a Managed Blockchain network.

        • Fabric (dict) --

          Configuration properties for logging events associated with a node that is owned by a member of a Managed Blockchain network using the Hyperledger Fabric framework.

          • ChaincodeLogs (dict) --

            Configuration properties for logging events associated with chaincode execution on a peer node. Chaincode logs contain the results of instantiating, invoking, and querying the chaincode. A peer can run multiple instances of chaincode. When enabled, a log stream is created for all chaincodes, with an individual log stream for each chaincode.

            • Cloudwatch (dict) --

              Parameters for publishing logs to Amazon CloudWatch Logs.

              • Enabled (boolean) --

                Indicates whether logging is enabled.

          • PeerLogs (dict) --

            Configuration properties for a peer node log. Peer node logs contain messages generated when your client submits transaction proposals to peer nodes, requests to join channels, enrolls an admin peer, and lists the chaincode instances on a peer node.

            • Cloudwatch (dict) --

              Parameters for publishing logs to Amazon CloudWatch Logs.

              • Enabled (boolean) --

                Indicates whether logging is enabled.

      • StateDB (string) --

        The state database that the node uses. Values are LevelDB or CouchDB .

      • Status (string) --

        The status of the node.

      • CreationDate (datetime) --

        The date and time that the node was created.