MarketplaceMetering / Client / batch_meter_usage
batch_meter_usage#
- MarketplaceMetering.Client.batch_meter_usage(**kwargs)#
- BatchMeterUsageis called from a SaaS application listed on 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 - BatchMeterUsageis for one product. If you need to meter usage for multiple products, you must make multiple calls to- BatchMeterUsage.- Usage records are expected to be submitted as quickly as possible after the event that is being recorded, and are not accepted more than 6 hours after the event. - BatchMeterUsagecan process up to 25- UsageRecordsat a time.- A - UsageRecordcan optionally include multiple usage allocations, to provide customers with usage data split into buckets by tags that you define (or allow the customer to define).- BatchMeterUsagereturns a list of- UsageRecordResultobjects, showing the result for each- UsageRecord, as well as a list of- UnprocessedRecords, indicating errors in the service side that you should retry.- BatchMeterUsagerequests must be less than 1MB in size.- Note- For an example of using - BatchMeterUsage, see BatchMeterUsage code example in the AWS Marketplace Seller Guide.- See also: AWS API Documentation - Request Syntax- response = client.batch_meter_usage( UsageRecords=[ { 'Timestamp': datetime(2015, 1, 1), 'CustomerIdentifier': 'string', 'Dimension': 'string', 'Quantity': 123, 'UsageAllocations': [ { 'AllocatedUsageQuantity': 123, 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] }, ] }, ], ProductCode='string' ) - Parameters:
- UsageRecords (list) – - [REQUIRED] - The set of - UsageRecordsto submit.- BatchMeterUsageaccepts up to 25- UsageRecordsat a time.- (dict) – - A - UsageRecordindicates a quantity of usage for a given product, customer, dimension and time.- Multiple requests with the same - UsageRecordsas input will be de-duplicated to prevent double charges.- Timestamp (datetime) – [REQUIRED] - Timestamp, in UTC, for which the usage is being reported. - Your application can meter usage for up to one hour in the past. Make sure the - timestampvalue is not before the start of the software usage.
- CustomerIdentifier (string) – [REQUIRED] - The - CustomerIdentifieris obtained through the- ResolveCustomeroperation and represents an individual buyer in your application.
- Dimension (string) – [REQUIRED] - During the process of registering a product on AWS Marketplace, dimensions are specified. These represent different units of value in your application. 
- Quantity (integer) – - The quantity of usage consumed by the customer for the given dimension and time. Defaults to - 0if not specified.
- UsageAllocations (list) – - The set of - UsageAllocationsto submit. The sum of all- UsageAllocationquantities must equal the Quantity of the- UsageRecord.- (dict) – - Usage allocations allow you to split usage into buckets by tags. - Each - UsageAllocationindicates the usage quantity for a specific set of tags.- AllocatedUsageQuantity (integer) – [REQUIRED] - The total quantity allocated to this bucket of usage. 
- Tags (list) – - The set of tags that define the bucket of usage. For the bucket of items with no tags, this parameter can be left out. - (dict) – - Metadata assigned to an allocation. Each tag is made up of a - keyand a- value.- Key (string) – [REQUIRED] - One part of a key-value pair that makes up a - tag. A- keyis a label that acts like a category for the specific tag values.
- Value (string) – [REQUIRED] - One part of a key-value pair that makes up a - tag. A- valueacts as a descriptor within a tag category (key). The value can be empty or null.
 
 
 
 
 
 
- ProductCode (string) – - [REQUIRED] - Product code is used to uniquely identify a product in AWS Marketplace. The product code should be the same as the one used during the publishing of a new product. 
 
- Return type:
- dict 
- Returns:
- Response Syntax- { 'Results': [ { 'UsageRecord': { 'Timestamp': datetime(2015, 1, 1), 'CustomerIdentifier': 'string', 'Dimension': 'string', 'Quantity': 123, 'UsageAllocations': [ { 'AllocatedUsageQuantity': 123, 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] }, ] }, 'MeteringRecordId': 'string', 'Status': 'Success'|'CustomerNotSubscribed'|'DuplicateRecord' }, ], 'UnprocessedRecords': [ { 'Timestamp': datetime(2015, 1, 1), 'CustomerIdentifier': 'string', 'Dimension': 'string', 'Quantity': 123, 'UsageAllocations': [ { 'AllocatedUsageQuantity': 123, 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] }, ] }, ] } - Response Structure- (dict) – - Contains the - UsageRecordsprocessed by- BatchMeterUsageand any records that have failed due to transient error.- Results (list) – - Contains all - UsageRecordsprocessed by- BatchMeterUsage. These records were either honored by AWS Marketplace Metering Service or were invalid. Invalid records should be fixed before being resubmitted.- (dict) – - A - UsageRecordResultindicates the status of a given- UsageRecordprocessed by- BatchMeterUsage.- UsageRecord (dict) – - The - UsageRecordthat was part of the- BatchMeterUsagerequest.- Timestamp (datetime) – - Timestamp, in UTC, for which the usage is being reported. - Your application can meter usage for up to one hour in the past. Make sure the - timestampvalue is not before the start of the software usage.
- CustomerIdentifier (string) – - The - CustomerIdentifieris obtained through the- ResolveCustomeroperation and represents an individual buyer in your application.
- Dimension (string) – - During the process of registering a product on AWS Marketplace, dimensions are specified. These represent different units of value in your application. 
- Quantity (integer) – - The quantity of usage consumed by the customer for the given dimension and time. Defaults to - 0if not specified.
- UsageAllocations (list) – - The set of - UsageAllocationsto submit. The sum of all- UsageAllocationquantities must equal the Quantity of the- UsageRecord.- (dict) – - Usage allocations allow you to split usage into buckets by tags. - Each - UsageAllocationindicates the usage quantity for a specific set of tags.- AllocatedUsageQuantity (integer) – - The total quantity allocated to this bucket of usage. 
- Tags (list) – - The set of tags that define the bucket of usage. For the bucket of items with no tags, this parameter can be left out. - (dict) – - Metadata assigned to an allocation. Each tag is made up of a - keyand a- value.- Key (string) – - One part of a key-value pair that makes up a - tag. A- keyis a label that acts like a category for the specific tag values.
- Value (string) – - One part of a key-value pair that makes up a - tag. A- valueacts as a descriptor within a tag category (key). The value can be empty or null.
 
 
 
 
 
- MeteringRecordId (string) – - The - MeteringRecordIdis a unique identifier for this metering event.
- Status (string) – - The - UsageRecordResult- Statusindicates the status of an individual- UsageRecordprocessed by- BatchMeterUsage.- Success- The - UsageRecordwas accepted and honored by- BatchMeterUsage.
- CustomerNotSubscribed- The - CustomerIdentifierspecified is not able to use your product. The- UsageRecordwas not honored. There are three causes for this result:- The customer identifier is invalid. 
- The customer identifier provided in the metering record does not have an active agreement or subscription with this product. Future - UsageRecordsfor this customer will fail until the customer subscribes to your product.
- The customer’s AWS account was suspended. 
 
- DuplicateRecord- Indicates that the - UsageRecordwas invalid and not honored. A previously metered- UsageRecordhad the same customer, dimension, and time, but a different quantity.
 
 
 
- UnprocessedRecords (list) – - Contains all - UsageRecordsthat were not processed by- BatchMeterUsage. This is a list of- UsageRecords. You can retry the failed request by making another- BatchMeterUsagecall with this list as input in the- BatchMeterUsageRequest.- (dict) – - A - UsageRecordindicates a quantity of usage for a given product, customer, dimension and time.- Multiple requests with the same - UsageRecordsas input will be de-duplicated to prevent double charges.- Timestamp (datetime) – - Timestamp, in UTC, for which the usage is being reported. - Your application can meter usage for up to one hour in the past. Make sure the - timestampvalue is not before the start of the software usage.
- CustomerIdentifier (string) – - The - CustomerIdentifieris obtained through the- ResolveCustomeroperation and represents an individual buyer in your application.
- Dimension (string) – - During the process of registering a product on AWS Marketplace, dimensions are specified. These represent different units of value in your application. 
- Quantity (integer) – - The quantity of usage consumed by the customer for the given dimension and time. Defaults to - 0if not specified.
- UsageAllocations (list) – - The set of - UsageAllocationsto submit. The sum of all- UsageAllocationquantities must equal the Quantity of the- UsageRecord.- (dict) – - Usage allocations allow you to split usage into buckets by tags. - Each - UsageAllocationindicates the usage quantity for a specific set of tags.- AllocatedUsageQuantity (integer) – - The total quantity allocated to this bucket of usage. 
- Tags (list) – - The set of tags that define the bucket of usage. For the bucket of items with no tags, this parameter can be left out. - (dict) – - Metadata assigned to an allocation. Each tag is made up of a - keyand a- value.- Key (string) – - One part of a key-value pair that makes up a - tag. A- keyis a label that acts like a category for the specific tag values.
- Value (string) – - One part of a key-value pair that makes up a - tag. A- valueacts as a descriptor within a tag category (key). The value can be empty or null.
 
 
 
 
 
 
 
 
 - Exceptions- MarketplaceMetering.Client.exceptions.InternalServiceErrorException
- MarketplaceMetering.Client.exceptions.InvalidProductCodeException
- MarketplaceMetering.Client.exceptions.InvalidUsageDimensionException
- MarketplaceMetering.Client.exceptions.InvalidTagException
- MarketplaceMetering.Client.exceptions.InvalidUsageAllocationsException
- MarketplaceMetering.Client.exceptions.InvalidCustomerIdentifierException
- MarketplaceMetering.Client.exceptions.TimestampOutOfBoundsException
- MarketplaceMetering.Client.exceptions.ThrottlingException
- MarketplaceMetering.Client.exceptions.DisabledApiException