

AWS Marketplace API 參考已重組。如需支援的 API 操作的詳細資訊，請參閱 [AWS Marketplace API 參考](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 CloudTrail 記錄 AWS Marketplace 計量 API 呼叫
<a name="logging-metering-api-calls-with-cloudtrail"></a>

計量 API 已與 整合 AWS CloudTrail，此服務提供使用者、角色或 AWS 服務 所採取動作的記錄 AWS Marketplace。CloudTrail 會將計量 API 的 API 呼叫擷取為事件。擷取的呼叫包括來自 AWS Marketplace 網站、主控台和利用計量 API 的其他界面的呼叫，以及對計量 API 操作的直接程式碼呼叫。

如果您建立追蹤，則可以將 CloudTrail 事件持續交付至 Amazon S3 儲存貯體，包括計量 API 的事件。*線索*能讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。即使您未設定追蹤，依然可以透過 CloudTrail 主控台中的**事件歷史記錄**檢視最新事件。您可以使用 CloudTrail 所收集的資訊，判斷對計量 API 提出的請求、提出請求的 IP 地址、提出請求的人員、提出請求的時間，以及其他詳細資訊。

如需有關 CloudTrail 的相關資訊，請參閱 [AWS CloudTrail 使用者指南](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

## 在 CloudTrail 中計量 API 資訊
<a name="metering-api-info"></a>

當您建立帳戶 AWS 帳戶 時，您的 上會啟用 CloudTrail。當活動在計量 API 中發生時，該活動會與**事件歷史記錄**中的其他 AWS 服務 事件一起記錄在 CloudTrail 事件中。您可以在 中檢視、搜尋和下載最近的事件 AWS 帳戶。如需詳細資訊，請參閱 *AWS CloudTrail 使用者指南*中的 [使用 CloudTrail 事件歷史記錄檢視事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

若要持續記錄 中的事件 AWS 帳戶，包括計量 API 的事件，請建立追蹤。*線索*能讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。依預設，當您在主控台中建立追蹤時，該追蹤會套用至所有的 AWS 區域。該追蹤會記錄來自 AWS 分割區中所有區域的事件，並將日誌檔案交付到您指定的 Amazon S3 儲存貯體。此外，您可以設定其他 AWS 服務 來進一步分析和處理 CloudTrail 日誌中收集的事件資料。如需詳細資訊，請參閱下列內容：
+ [建立追蹤的概觀](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支援的服務和整合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [設定 CloudTrail 的 Amazon SNS 通知](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [接收多個區域的 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[接收多個帳戶的 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

CloudTrail 會記錄 SaaS 型產品的 `BatchMeterUsage` 動作、容器型產品的 `RegisterUsage`動作，以及 Amazon Machine Image (AMI) 型和容器型產品的 `MeterUsage`動作。

每一筆事件或日誌專案都會包含產生請求者的資訊。身分資訊可協助您判斷下列事項：
+ 該請求是否使用根或使用者憑證提出。
+ 提出該請求時，是否使用了特定角色或聯合身分使用者的暫時安全憑證。
+ 該請求是否由另一項 AWS 服務服務提出。

如需詳細資訊，請參閱《AWS CloudTrail 使用者指南》**中的 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 了解計量 API 日誌檔案項目
<a name="metering-api-log-file-entries"></a>

### 範例：`BatchMeterUsage`適用於 SaaS 型產品
<a name="example-aws-marketplace-log-file-entries-batchmeterusage"></a>

下列範例顯示 CloudTrail 日誌項目，示範來自 AWS Marketplace 計量 API `BatchMeterUsage`的動作。當賣方[傳送計量記錄以報告客戶在 中列出的軟體即服務 (SaaS) 產品的用量](https://docs.aws.amazon.com/marketplace/latest/userguide/metering-for-usage.html)時 AWS Marketplace，此 CloudTrail 日誌項目會記錄在賣方的 中 AWS 帳戶。 SaaS

```
{
    "eventVersion": "1.05",
    "userIdentity": { 
        "type": "IAMUser",
        "principalId": "EX_PRINCIPAL_ID",
        "arn": "arn:aws:iam::123456789012:user/*****", 
        "accountId": "123456789012",
        "accessKeyId": "EXAMPLE_KEY_ID", 
        "userName": "*****"
    },
    "eventTime": "2018-04-19T16:32:51Z",
    "eventSource": "metering-marketplace.amazonaws.com", 
    "eventName": "BatchMeterUsage",
    "awsRegion": "us-east-1", 
    "sourceIPAddress": "************", 
    "userAgent": "Coral/Netty14", 
    "requestParameters": {
        "usageRecords": [
            {
                "dimension": "Dimension1", 
                "timestamp": "Apr 19, 2018 4:32:50 PM", 
                "customerIdentifier": "customer1",
                "customerAWSAccountID": "987654321098", 
                "quantity": 1
            }
        ],
        "productCode": "EXAMPLE_proCode"
    },
    "responseElements": { 
        "results": [
            {
                "usageRecord": {
                    "dimension": "Dimension1", 
                    "timestamp": "Apr 19, 2018 4:32:50 PM", 
                    "customerIdentifier": "customer1",
                    "customerAWSAccountID": "987654321098", 
                    "quantity": 1
                },
                "meteringRecordId": "bEXAMPLE-98f0-4e90-8bd2-bf0EXAMPLE1e", 
                "status": "Success"
            }
        ],
        "unprocessedRecords": [ ]
    },
    "requestID": "dEXAMPLE-251d-11e7-8d11-1f3EXAMPLE8b", 
    "eventID": "cEXAMPLE-e6c2-465d-b47f-150EXAMPLE97", 
    "readOnly": false,
    "eventType": "AwsApiCall", 
    "recipientAccountId": "123456789012"
}
```

### 範例：`RegisterUsage`適用於部署在 Amazon EKS 上的容器型產品
<a name="example-aws-marketplace-log-file-entries-registerusage-containers"></a>

下列範例顯示 CloudTrail 日誌項目，示範來自 AWS Marketplace 計量 API `RegisterUsage`的動作。在買方的 中 AWS Marketplace 部署每小時定價的容器產品時 AWS 帳戶，容器中的軟體會在買方的 `RegisterUsage`內呼叫 AWS 帳戶 ，以啟動該 Amazon Elastic Container Service (Amazon ECS) 任務或 Amazon Elastic Kubernetes Service (Amazon EKS) Pod 的每小時計量。此 CloudTrail 日誌項目會記錄在買方的 中 AWS 帳戶。

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "EX_PRINCIPAL_ID:botocore-session-1111111111",
        "arn": "arn:aws:sts::123456789012:assumed-role/Alice/botocore-session-1111111111",
        "accountId": "123456789012",
        "accessKeyId": "EXAMPLE_KEY_ID",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::123456789012:role/Alice",
                "accountId": "123456789012",
                "userName": "Alice"
            },
            "webIdFederationData": {
                "federatedProvider": "arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/EXAMPLEFA1C58F08CDB049167EXAMPLE",
                "attributes": {}
            },
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2020-07-23T02:19:34Z"
            }
        }
    },
    "eventTime": "2020-07-23T02:19:46Z",
    "eventSource": "metering-marketplace.amazonaws.com",
    "eventName": "RegisterUsage",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "1.2.3.4",
    "userAgent": "aws-cli/1.18.103 Python/3.8.2 Linux/4.14.181-142.260.amzn2.x86_64 botocore/1.17.26",
    "requestParameters": {
        "productCode": "EXAMPLE_proCode",
        "publicKeyVersion": 1
    },
    "responseElements": {
        "signature": "eyJhbGciOiJQUzI1Ni..."
    },
    "requestID": "dEXAMPLE-251d-11e7-8d11-1f3EXAMPLE8b",
    "eventID": "cEXAMPLE-e6c2-465d-b47f-150EXAMPLE97",
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012"
}
```

### 範例：`MeterUsage`適用於部署在 Amazon EKS 上的容器型產品
<a name="example-aws-marketplace-log-file-entries-meterusage"></a>

下列範例顯示 CloudTrail 日誌項目，示範 Amazon EKS 上容器計量 AWS Marketplace API `MeterUsage`的動作。在買方的 中 AWS Marketplace 部署具有[自訂計量](https://docs.aws.amazon.com/marketplace/latest/userguide/container-metering-meterusage.html)的容器產品時 AWS 帳戶，容器中的軟體會呼叫買方的 `MeterUsage` ，每小時 AWS 帳戶 回報一次。此 CloudTrail 日誌項目會記錄在買方的 中 AWS 帳戶。

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "EX_PRINCIPAL_ID:botocore-session-1111111111",
        "arn": "arn:aws:sts::123456789012:assumed-role/Alice/botocore-session-1111111111",
        "accountId": "123456789012",
        "accessKeyId": "EXAMPLE_KEY_ID",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::123456789012:role/Alice",
                "accountId": "123456789012",
                "userName": "Alice"
            },
            "webIdFederationData": {
                "federatedProvider": "arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/EXAMPLEFA1C58F08CDB049167EXAMPLE",
                "attributes": {}
            },
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2020-07-23T01:03:26Z"
            }
        }
    },
    "eventTime": "2020-07-23T01:38:13Z",
    "eventSource": "metering-marketplace.amazonaws.com",
    "eventName": "MeterUsage",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "1.2.3.4",
    "userAgent": "aws-cli/1.18.103 Python/3.8.2 Linux/4.14.181-142.260.amzn2.x86_64 botocore/1.17.26",
    "requestParameters": {
        "timestamp": "Jul 23, 2020 1:35:44 AM",
        "usageQuantity": 1,
        "usageDimension": "Dimension1",
        "productCode": "EXAMPLE_proCode"
    },
    "responseElements": {
        "meteringRecordId": "bEXAMPLE-98f0-4e90-8bd2-bf0EXAMPLE1e"
    },
    "requestID": "dEXAMPLE-251d-11e7-8d11-1f3EXAMPLE8b",
    "eventID": "cEXAMPLE-e6c2-465d-b47f-150EXAMPLE97",
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012"
}
```

### 範例：`MeterUsage`適用於 AMI 型產品
<a name="example-aws-marketplace-log-file-entries-meterusage-amis"></a>

下列範例顯示 CloudTrail 日誌項目，示範來自 Amazon Machine Image (AMIs) AWS Marketplace 計量 API `MeterUsage`的動作。在買方的 中 AWS Marketplace 部署具有自訂計量的 AMI 產品時 AWS 帳戶，來自 AMI 的軟體會在買方的 `MeterUsage`內呼叫 AWS 帳戶 ，以每小時報告用量。此 CloudTrail 日誌項目會記錄在買方的 中 AWS 帳戶。

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "EX_PRINCIPAL_ID:i-exampled859aa775c",
        "arn": "arn:aws:sts::123456789012:assumed-role/Alice/i-exampled859aa775c",
        "accountId": "123456789012",
        "accessKeyId": "EXAMPLE_KEY_ID",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::123456789012:role/Alice",
                "accountId": "123456789012",
                "userName": "Alice"
            },
            "webIdFederationData": {},
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2020-07-10T23:05:20Z"
            },
            "ec2RoleDelivery": "1.0"
        }
    },
    "eventTime": "2020-07-10T23:06:42Z",
    "eventSource": "metering-marketplace.amazonaws.com",
    "eventName": "MeterUsage",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "1.2.3.4",
    "userAgent": "aws-cli/1.16.102 Python/2.7.16 Linux/4.14.133-113.112.amzn2.x86_64 botocore/1.12.92",
    "requestParameters": {
        "productCode": "EXAMPLE_proCode",
        "timestamp": "Jul 10, 2020 11:06:41 PM",
        "usageDimension": "Dimension1",
        "usageQuantity": 1,
        "dryRun": false
    },
    "responseElements": {
        "meteringRecordId": "bEXAMPLE-98f0-4e90-8bd2-bf0EXAMPLE1e"
    },
    "requestID": "dEXAMPLE-251d-11e7-8d11-1f3EXAMPLE8b",
    "eventID": "cEXAMPLE-e6c2-465d-b47f-150EXAMPLE97",
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012"
}
```