如何計算磚文件係統(DBFS) S3 API調用成本

學習如何計算磚文件係統(DBFS) S3 API調用成本。

寫的亞當Pavlacka

去年發表在:2022年3月8日

DBFS S3 bucket的成本主要是由API調用的數量,其次,存儲的成本。您可以使用AWS CloudTrail日誌創建一個表,計算API調用的數量,從而計算出準確的成本API請求。

  1. 獲得以下信息。您可能需要聯係您的AWS管理員。
    • API調用調用涉及成本清單,,複製,或Post(示例腳本使用價格每千電話:0.005/1000)
    • API調用調用涉及成本,得到,或選擇(低於0.0004/1000)
    • 賬戶ID磚控製平麵的賬戶(低於414351767826)
  2. CloudTrail日誌複製到一個S3 bucket和Apache火花使用以下代碼來讀取日誌並創建一個表:
    % python spark.read.json (s3: / / dbc-root-cloudwatch / * / * / * / * / * / * / *”) .createOrReplaceTempView (“f_cloudwatch”)
  3. 代替accountID和API調用成本到下麵的查詢。這個查詢將CloudTrail結果收集在一個特定的時間間隔,計數的API調用由磚控製平麵的賬戶,並計算成本。
    % sql select Records.userIdentity。accountId,記錄。eventName api_calls count(*),(情況記錄。eventName像‘%’列表或記錄。eventName像“把%”或記錄。eventName像“複製%”或記錄。eventName像‘%’後然後0.005/1000當記錄。eventName像“頭%”或記錄。eventName像‘%’或記錄。eventName像其他的選擇%’然後0.0004/1000 0結束)* count(*)的api_cost(選擇爆炸(記錄),記錄從f_cloudwatch記錄不是零)——Records.userIdentity。accountId = ' 414351767826 '組1,2,4 desc限製10;
  4. 運行查詢生成一個表。生成的表顯示API調用的數量,這些調用的成本。

額外的API成本往往由於檢查點目錄流的工作。磚建議刪除舊的檢查點目錄如果它們不再被引用。