Table of Contents
MarketplaceMetering.Client¶A low-level client representing AWSMarketplace Metering:
client = session.create_client('meteringmarketplace')
These are the available methods:
batch_meter_usage()can_paginate()generate_presigned_url()get_paginator()get_waiter()meter_usage()resolve_customer()batch_meter_usage(**kwargs)¶BatchMeterUsage is called from a SaaS application listed on the AWS Marketplace to post metering records for a set of customers.
For identical requests, the API is idempotent; requests can be retried with the same records or a subset of the input records.
Every request to BatchMeterUsage is for one product. If you need to meter usage for multiple products, you must make multiple calls to BatchMeterUsage.
BatchMeterUsage can process up to 25 UsageRecords at a time.
See also: AWS API Documentation
Request Syntax
response = client.batch_meter_usage(
UsageRecords=[
{
'Timestamp': datetime(2015, 1, 1),
'CustomerIdentifier': 'string',
'Dimension': 'string',
'Quantity': 123
},
],
ProductCode='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'Results': [
{
'UsageRecord': {
'Timestamp': datetime(2015, 1, 1),
'CustomerIdentifier': 'string',
'Dimension': 'string',
'Quantity': 123
},
'MeteringRecordId': 'string',
'Status': 'Success'|'CustomerNotSubscribed'|'DuplicateRecord'
},
],
'UnprocessedRecords': [
{
'Timestamp': datetime(2015, 1, 1),
'CustomerIdentifier': 'string',
'Dimension': 'string',
'Quantity': 123
},
]
}
Response Structure
|
can_paginate(operation_name)¶Check if an operation can be paginated.
| Parameters: | operation_name (string) – The operation name. This is the same name
as the method name on the client. For example, if the
method name is create_foo, and you’d normally invoke the
operation as client.create_foo(**kwargs), if the
create_foo operation can be paginated, you can use the
call client.get_paginator("create_foo"). |
|---|---|
| Returns: | True if the operation can be paginated,
False otherwise. |
generate_presigned_url(ClientMethod, Params=None, ExpiresIn=3600, HttpMethod=None)¶Generate a presigned url given a client, its method, and arguments
| Parameters: |
|
|---|---|
| Returns: | The presigned url |
get_paginator(operation_name)¶Create a paginator for an operation.
| Parameters: | operation_name (string) – The operation name. This is the same name
as the method name on the client. For example, if the
method name is create_foo, and you’d normally invoke the
operation as client.create_foo(**kwargs), if the
create_foo operation can be paginated, you can use the
call client.get_paginator("create_foo"). |
|---|---|
| Raises: | OperationNotPageableError – Raised if the operation is not
pageable. You can use the client.can_paginate method to
check if an operation is pageable. |
| Return type: | L{botocore.paginate.Paginator} |
| Returns: | A paginator object. |
get_waiter(waiter_name)¶meter_usage(**kwargs)¶API to emit metering records. For identical requests, the API is idempotent. It simply returns the metering record ID.
MeterUsage is authenticated on the buyer’s AWS account, generally when running from an EC2 instance on the AWS Marketplace.
See also: AWS API Documentation
Request Syntax
response = client.meter_usage(
ProductCode='string',
Timestamp=datetime(2015, 1, 1),
UsageDimension='string',
UsageQuantity=123,
DryRun=True|False
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'MeteringRecordId': 'string'
}
Response Structure
|
resolve_customer(**kwargs)¶ResolveCustomer is called by a SaaS application during the registration process. When a buyer visits your website during the registration process, the buyer submits a registration token through their browser. The registration token is resolved through this API to obtain a CustomerIdentifier and product code.
See also: AWS API Documentation
Request Syntax
response = client.resolve_customer(
RegistrationToken='string'
)
| Parameters: | RegistrationToken (string) – [REQUIRED] When a buyer visits your website during the registration process, the buyer submits a registration token through the browser. The registration token is resolved to obtain a CustomerIdentifier and product code. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'CustomerIdentifier': 'string',
'ProductCode': 'string'
}
Response Structure
|