MarketplaceMetering / Client / batch_meter_usage
batch_meter_usage¶
- MarketplaceMetering.Client.batch_meter_usage(**kwargs)¶
- Warning- The - CustomerIdentifierparameter is scheduled for deprecation on March 31, 2026. Use- CustomerAWSAccountIDinstead.- These parameters are mutually exclusive. You can’t specify both - CustomerIdentifierand- CustomerAWSAccountIDin the same request.- To post metering records for customers, SaaS applications call - BatchMeterUsage, which is used for metering SaaS flexible consumption pricing (FCP). Identical requests are idempotent and can be retried with the same records or a subset of records. Each- BatchMeterUsagerequest is for only one product. If you want to meter usage for multiple products, you must make multiple- BatchMeterUsagecalls.- Usage records should be submitted in quick succession following a recorded event. Usage records aren’t accepted 6 hours or more after an event. - BatchMeterUsagecan process up to 25- UsageRecordsat a time, and each request must be less than 1 MB in size. Optionally, you can have multiple usage allocations for usage data that’s split into buckets according to predefined tags.- BatchMeterUsagereturns a list of- UsageRecordResultobjects, which have each- UsageRecord. It also returns a list of- UnprocessedRecords, which indicate errors on the service side that should be retried.- For Amazon Web Services Regions that support - BatchMeterUsage, see BatchMeterUsage Region support.- Note- For an example of - BatchMeterUsage, see BatchMeterUsage code example in the Amazon Web Services 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' }, ] }, ], 'CustomerAWSAccountId': '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 six hours 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) – [REQUIRED] - During the process of registering a product on Amazon Web Services 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.
 
 
 
 
- CustomerAWSAccountId (string) – - The - CustomerAWSAccountIDparameter specifies the AWS account ID of the buyer.
 
 
- ProductCode (string) – - [REQUIRED] - Product code is used to uniquely identify a product in Amazon Web Services 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' }, ] }, ], 'CustomerAWSAccountId': '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' }, ] }, ], 'CustomerAWSAccountId': '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 Amazon Web Services 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 six hours 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 Amazon Web Services 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.
 
 
 
 
- CustomerAWSAccountId (string) – - The - CustomerAWSAccountIDparameter specifies the AWS account ID of the buyer.
 
- 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 Amazon Web Services 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 six hours 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 Amazon Web Services 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.
 
 
 
 
- CustomerAWSAccountId (string) – - The - CustomerAWSAccountIDparameter specifies the AWS account ID of the buyer.
 
 
 
 
 - Exceptions- MarketplaceMetering.Client.exceptions.InternalServiceErrorException
- MarketplaceMetering.Client.exceptions.InvalidProductCodeException
- MarketplaceMetering.Client.exceptions.InvalidUsageDimensionException
- MarketplaceMetering.Client.exceptions.InvalidUsageAllocationsException
- MarketplaceMetering.Client.exceptions.InvalidCustomerIdentifierException
- MarketplaceMetering.Client.exceptions.TimestampOutOfBoundsException