OpenStack Epoxy : CloudKitty 利用方法2025/05/29 |
OpenStack Rating Service (CloudKitty) の利用方法です。 当例では以下のような環境を例に CloudKitty をインストールしています。 ------------+--------------------------+--------------------------+------------ | | | eth0|10.0.0.30 eth0|10.0.0.50 eth0|10.0.0.51 +-----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [ dlp.srv.world ] | | [ network.srv.world ] | | [ node01.srv.world ] | | (Control Node) | | (Network Node) | | (Compute Node) | | | | | | | | MariaDB RabbitMQ | | Open vSwitch | | Libvirt | | Memcached Nginx | | Neutron Server | | Nova Compute | | Keystone httpd | | OVN-Northd | | Open vSwitch | | Glance Nova API | | Nginx iSCSI Target | | OVN Metadata Agent | | Cinder API | | Cinder Volume | | OVN-Controller | | | | Gnocchi httpd | | Ceilometer Compute | | | | Ceilometer Central | | | | | | CloudKitty API | | | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] | レートを設定したい各々のプロジェクトで、[cloudkitty] ユーザーを [rating] ロールに追加しておきます。 |
[root@dlp ~(keystone)]# openstack project list +----------------------------------+-----------+ | ID | Name | +----------------------------------+-----------+ | 03262019a5e54890be53c2fc96ed98d0 | service | | 6cd379304e2447da8514a66bb6cdfda5 | hiroshima | | 8f6f2ea0aec84c6f919d15236063d7c0 | admin | +----------------------------------+-----------+[root@dlp ~(keystone)]# openstack role add --user cloudkitty --project hiroshima rating |
[2] | [Hashmap] モジュールを有効にします。 |
[root@dlp ~(keystone)]# openstack rating module list +-----------+---------+----------+ | Module | Enabled | Priority | +-----------+---------+----------+ | hashmap | False | 1 | | noop | True | 1 | | pyscripts | False | 1 | +-----------+---------+----------+[root@dlp ~(keystone)]# openstack rating module enable hashmap +---------+---------+----------+ | Module | Enabled | Priority | +---------+---------+----------+ | hashmap | True | 1 | +---------+---------+----------+[root@dlp ~(keystone)]# openstack rating module list +-----------+---------+----------+ | Module | Enabled | Priority | +-----------+---------+----------+ | hashmap | True | 1 | | noop | True | 1 | | pyscripts | False | 1 | +-----------+---------+----------+ |
[3] | Instance Uptime にレートを設定します。 [1] で設定したプロジェクト所属ユーザーが、設定した [flavor_id] でインスタンスを起動した場合、[cloudkitty.conf] で設定した [period] の間隔毎に、設定したレートで課金されます。 |
# サービス マッチング ルールを追加 [root@dlp ~(keystone)]# openstack rating hashmap service create instance +----------+--------------------------------------+ | Name | Service ID | +----------+--------------------------------------+ | instance | c0e71c4e-c7c8-41d4-a18b-e58d27933948 | +----------+--------------------------------------+ # フィールド マッチング ルールを追加 [root@dlp ~(keystone)]# openstack rating hashmap field create c0e71c4e-c7c8-41d4-a18b-e58d27933948 flavor_id +-----------+--------------------------------------+--------------------------------------+ | Name | Field ID | Service ID | +-----------+--------------------------------------+--------------------------------------+ | flavor_id | dfcf5d68-8ef2-4132-908e-2997162acc16 | c0e71c4e-c7c8-41d4-a18b-e58d27933948 | +-----------+--------------------------------------+--------------------------------------+[root@dlp ~(keystone)]# openstack flavor list +----+-----------+-------+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +----+-----------+-------+------+-----------+-------+-----------+ | 1 | m1.tiny | 2048 | 10 | 0 | 1 | True | | 2 | m1.small | 4096 | 10 | 0 | 2 | True | | 3 | m1.medium | 8192 | 10 | 0 | 4 | True | | 4 | m1.large | 16384 | 10 | 0 | 8 | True | | 5 | m2.large | 16384 | 10 | 10 | 8 | True | +----+-----------+-------+------+-----------+-------+-----------+ # マッピングを作成 # [flavor_id] が [2] のインスタンスに [0.5] ドルのコストを設定 [root@dlp ~(keystone)]# openstack rating hashmap mapping create 0.5 \ --field-id dfcf5d68-8ef2-4132-908e-2997162acc16 \ --value 2 -t flat +--------------------------------------+-------+--------------------------------+------+--------------------------------------+------------+----------+------------+ | Mapping ID | Value | Cost | Type | Field ID | Service ID | Group ID | Project ID | +--------------------------------------+-------+--------------------------------+------+--------------------------------------+------------+----------+------------+ | fdd80698-089c-4305-9ab7-8d245b1d20cf | 2 | 0.5000000000000000000000000000 | flat | dfcf5d68-8ef2-4132-908e-2997162acc16 | None | None | None | +--------------------------------------+-------+--------------------------------+------+--------------------------------------+------------+----------+------------+ |
[4] | [1] で CloudKitty と関連付けたプロジェクトに所属する任意の Openstack ユーザーで、インスタンスを操作して、動作確認します。 |
[cent@dlp ~(keystone)]$ openstack server list +--------------------------------------+----------+---------+------------------------------------+----------------+----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+----------+---------+------------------------------------+----------------+----------+ | ba6f1ab3-86c9-4966-b1e6-ceabe5353c07 | CentOS-9 | SHUTOFF | private=10.0.0.208, 192.168.100.57 | CentOS-Stream9 | m1.small | +--------------------------------------+----------+---------+------------------------------------+----------------+----------+
[cent@dlp ~(keystone)]$
openstack server start CentOS-9
# 一定時間経過後 レートが加算される [cent@dlp ~(keystone)]$ openstack rating summary get +----------------------------------+---------------+------+---------------------+---------------------+ | Tenant ID | Resource Type | Rate | Begin Time | End Time | +----------------------------------+---------------+------+---------------------+---------------------+ | 6cd379304e2447da8514a66bb6cdfda5 | ALL | 0.5 | 2025-05-01T00:00:00 | 2025-06-01T00:00:00 | +----------------------------------+---------------+------+---------------------+---------------------+ # インスタンス稼働中は [period] の間隔毎に 設定したレートがさらに課金される [cent@dlp ~(keystone)]$ openstack rating summary get +----------------------------------+---------------+------+---------------------+---------------------+ | Tenant ID | Resource Type | Rate | Begin Time | End Time | +----------------------------------+---------------+------+---------------------+---------------------+ | 6cd379304e2447da8514a66bb6cdfda5 | ALL | 1.0 | 2025-05-01T00:00:00 | 2025-06-01T00:00:00 | +----------------------------------+---------------+------+---------------------+---------------------+ # データフレーム表示 [cent@dlp ~(keystone)]$ openstack rating dataframes get +---------------------+---------------------+----------------------------------+------------------------------ | Begin | End | Project ID | Resources +---------------------+---------------------+----------------------------------+------------------------------ | 2025-05-29T00:40:00 | 2025-05-29T00:50:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.0', 'service': | 2025-05-29T01:00:00 | 2025-05-29T01:10:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.0', 'service': | 2025-05-29T01:20:00 | 2025-05-29T01:30:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.5', 'service': | 2025-05-29T01:30:00 | 2025-05-29T01:40:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.5', 'service': +---------------------+---------------------+----------------------------------+------------------------------ ----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------- 'instance', 'desc': {'flavor_name': 'm1.small', 'flavor_id': '2', 'vcpus': '', 'id': 'ba6f1ab3-86c9-4966-b1e6-ceabe5353c07', 'volume.size', 'desc': {'volume_type': 'f6e336ad-7ea0-4d3a-9c9b-7264c1da37ea', 'id': '04a254e1-b90f-4d2d-8371-226feb934991', 'instance', 'desc': {'flavor_name': 'm1.small', 'flavor_id': '2', 'vcpus': '', 'id': 'ba6f1ab3-86c9-4966-b1e6-ceabe5353c07', 'instance', 'desc': {'flavor_name': 'm1.small', 'flavor_id': '2', 'vcpus': '', 'id': 'ba6f1ab3-86c9-4966-b1e6-ceabe5353c07', ----------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------- 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', ---------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------+ | -----------------------------------------------------------------------------------------------------------------------------------------------------+ 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1', 'rate_value': '0.0000'}] | 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1E+1', 'rate_value': '0.0000'}] | 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1', 'rate_value': '0.5000'}] | 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1', 'rate_value': '0.5000'}] | -----------------------------------------------------------------------------------------------------------------------------------------------------+ |
[5] | Volume Size にレートを設定します。 [1] で設定したプロジェクト所属ユーザーが、Cinder ボリュームを作成した場合、1 GB 毎に、設定したレートで課金されます。 |
# サービス マッチング ルールを追加 [root@dlp ~(keystone)]# openstack rating hashmap service create volume.size +-------------+--------------------------------------+ | Name | Service ID | +-------------+--------------------------------------+ | volume.size | ea99bedc-9893-4550-a671-483a6a5f6da6 | +-------------+--------------------------------------+ # マッピングを作成 # 1 GB 毎に [1.5] ドルのコストを設定 [root@dlp ~(keystone)]# openstack rating hashmap mapping create 1.5 \ -s ea99bedc-9893-4550-a671-483a6a5f6da6 \ -t flat +--------------------------------------+-------+--------------------------------+------+----------+--------------------------------------+----------+------------+ | Mapping ID | Value | Cost | Type | Field ID | Service ID | Group ID | Project ID | +--------------------------------------+-------+--------------------------------+------+----------+--------------------------------------+----------+------------+ | 568a7b25-f65c-4155-8166-943c36949e8e | None | 1.5000000000000000000000000000 | flat | None | ea99bedc-9893-4550-a671-483a6a5f6da6 | None | None | +--------------------------------------+-------+--------------------------------+------+----------+--------------------------------------+----------+------------+ # 30 GB 以上のボリュームに対して [1.5] ドルのコスト設定から # 10 % 引きのディスカウントを設定 [root@dlp ~(keystone)]# openstack rating hashmap threshold create 30 0.90 \ -s ea99bedc-9893-4550-a671-483a6a5f6da6 \ -t rate +--------------------------------------+-------------+--------------------------------+------+----------+--------------------------------------+----------+------------+ | Threshold ID | Level | Cost | Type | Field ID | Service ID | Group ID | Project ID | +--------------------------------------+-------------+--------------------------------+------+----------+--------------------------------------+----------+------------+ | 61c4d485-3779-4937-88c8-a43f3d41dc80 | 30.00000000 | 0.9000000000000000222044604925 | rate | None | ea99bedc-9893-4550-a671-483a6a5f6da6 | None | None | +--------------------------------------+-------------+--------------------------------+------+----------+--------------------------------------+----------+------------+ |
[6] | [1] で CloudKitty と関連付けたプロジェクトに所属する任意の Openstack ユーザーで、ボリュームを作成して、動作確認します。 |
[cent@dlp ~(keystone)]$ openstack rating summary get
+----------------------------------+---------------+------+---------------------+---------------------+
| Tenant ID | Resource Type | Rate | Begin Time | End Time |
+----------------------------------+---------------+------+---------------------+---------------------+
| 6cd379304e2447da8514a66bb6cdfda5 | ALL | 1.5 | 2025-05-01T00:00:00 | 2025-06-01T00:00:00 |
+----------------------------------+---------------+------+---------------------+---------------------+
[cent@dlp ~(keystone)]$ openstack volume create --size 10 disk01
[cent@dlp ~(keystone)]$ openstack volume list +--------------------------------------+--------+-----------+------+-------------+ | ID | Name | Status | Size | Attached to | +--------------------------------------+--------+-----------+------+-------------+ | 6a7fa547-eac7-4098-a394-b9b738aed34d | disk01 | available | 10 | | +--------------------------------------+--------+-----------+------+-------------+ # 一定時間経過後 レートが加算される [cent@dlp ~(keystone)]$ openstack rating summary get +----------------------------------+---------------+------+---------------------+---------------------+ | Tenant ID | Resource Type | Rate | Begin Time | End Time | +----------------------------------+---------------+------+---------------------+---------------------+ | 6cd379304e2447da8514a66bb6cdfda5 | ALL | 16.5 | 2025-05-01T00:00:00 | 2025-06-01T00:00:00 | +----------------------------------+---------------+------+---------------------+---------------------+[cent@dlp ~(keystone)]$ openstack rating dataframes get +---------------------+---------------------+----------------------------------+------------------------------- | Begin | End | Project ID | Resources +---------------------+---------------------+----------------------------------+------------------------------- | 2025-05-29T00:40:00 | 2025-05-29T00:50:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.0', 'service': | 2025-05-29T01:00:00 | 2025-05-29T01:10:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.0', 'service': | 2025-05-29T01:20:00 | 2025-05-29T01:30:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.5', 'service': | 2025-05-29T01:30:00 | 2025-05-29T01:40:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.5', 'service': | 2025-05-29T01:40:00 | 2025-05-29T01:50:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.5', 'service': | 2025-05-29T01:50:00 | 2025-05-29T02:00:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '15.0', 'service': +---------------------+---------------------+----------------------------------+------------------------------- ----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------- 'instance', 'desc': {'flavor_name': 'm1.small', 'flavor_id': '2', 'vcpus': '', 'id': 'ba6f1ab3-86c9-4966-b1e6-ceabe5353c07', 'volume.size', 'desc': {'volume_type': 'f6e336ad-7ea0-4d3a-9c9b-7264c1da37ea', 'id': '04a254e1-b90f-4d2d-8371-226feb934991', 'instance', 'desc': {'flavor_name': 'm1.small', 'flavor_id': '2', 'vcpus': '', 'id': 'ba6f1ab3-86c9-4966-b1e6-ceabe5353c07', 'instance', 'desc': {'flavor_name': 'm1.small', 'flavor_id': '2', 'vcpus': '', 'id': 'ba6f1ab3-86c9-4966-b1e6-ceabe5353c07', 'instance', 'desc': {'flavor_name': 'm1.small', 'flavor_id': '2', 'vcpus': '', 'id': 'ba6f1ab3-86c9-4966-b1e6-ceabe5353c07', 'volume.size', 'desc': {'volume_type': '__DEFAULT__', 'id': '6a7fa547-eac7-4098-a394-b9b738aed34d', 'project_id': '6cd379304 ----------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------- 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'day_of_the_year': '149' --------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------+ | -----------------------------------------------------------------------------------------------------------------------------------------------------+ 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1', 'rate_value': '0.0000'}] | 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1E+1', 'rate_value': '0.0000'}] | 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1', 'rate_value': '0.5000'}] | 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1', 'rate_value': '0.5000'}] | 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1', 'rate_value': '0.5000'}] | , 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1E+1', 'rate_value': '1.5000'}] | -----------------------------------------------------------------------------------------------------------------------------------------------------+[cent@dlp ~(keystone)]$ openstack volume create --size 30 disk02 [cent@dlp ~(keystone)]$ openstack volume list +--------------------------------------+--------+-----------+------+-------------+ | ID | Name | Status | Size | Attached to | +--------------------------------------+--------+-----------+------+-------------+ | d572684a-4c86-40b6-8f7b-def788b56fe6 | disk02 | available | 30 | | | 6a7fa547-eac7-4098-a394-b9b738aed34d | disk01 | available | 10 | | +--------------------------------------+--------+-----------+------+-------------+ # 一定時間経過後 レートが加算される # 1.5 x 30 x 0.9 = 40.5 [cent@dlp ~(keystone)]$ openstack rating summary get +----------------------------------+---------------+------+---------------------+---------------------+ | Tenant ID | Resource Type | Rate | Begin Time | End Time | +----------------------------------+---------------+------+---------------------+---------------------+ | 6cd379304e2447da8514a66bb6cdfda5 | ALL | 57.0 | 2025-05-01T00:00:00 | 2025-06-01T00:00:00 | +----------------------------------+---------------+------+---------------------+---------------------+[cent@dlp ~(keystone)]$ openstack rating dataframes get +---------------------+---------------------+----------------------------------+------------------------------- | Begin | End | Project ID | Resources +---------------------+---------------------+----------------------------------+------------------------------- | 2025-05-29T00:40:00 | 2025-05-29T00:50:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.0', 'service': | 2025-05-29T01:00:00 | 2025-05-29T01:10:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.0', 'service': | 2025-05-29T01:20:00 | 2025-05-29T01:30:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.5', 'service': | 2025-05-29T01:30:00 | 2025-05-29T01:40:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.5', 'service': | 2025-05-29T01:40:00 | 2025-05-29T01:50:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '0.5', 'service': | 2025-05-29T01:50:00 | 2025-05-29T02:00:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '15.0', 'service': | 2025-05-29T02:00:00 | 2025-05-29T02:10:00 | 6cd379304e2447da8514a66bb6cdfda5 | [{'rating': '40.5', 'service': +---------------------+---------------------+----------------------------------+------------------------------- ----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------- 'instance', 'desc': {'flavor_name': 'm1.small', 'flavor_id': '2', 'vcpus': '', 'id': 'ba6f1ab3-86c9-4966-b1e6-ceabe5353c07', 'volume.size', 'desc': {'volume_type': 'f6e336ad-7ea0-4d3a-9c9b-7264c1da37ea', 'id': '04a254e1-b90f-4d2d-8371-226feb934991', 'instance', 'desc': {'flavor_name': 'm1.small', 'flavor_id': '2', 'vcpus': '', 'id': 'ba6f1ab3-86c9-4966-b1e6-ceabe5353c07', 'instance', 'desc': {'flavor_name': 'm1.small', 'flavor_id': '2', 'vcpus': '', 'id': 'ba6f1ab3-86c9-4966-b1e6-ceabe5353c07', 'instance', 'desc': {'flavor_name': 'm1.small', 'flavor_id': '2', 'vcpus': '', 'id': 'ba6f1ab3-86c9-4966-b1e6-ceabe5353c07', 'volume.size', 'desc': {'volume_type': '__DEFAULT__', 'id': '6a7fa547-eac7-4098-a394-b9b738aed34d', 'project_id': '6cd379304 'volume.size', 'desc': {'volume_type': '__DEFAULT__', 'id': 'd572684a-4c86-40b6-8f7b-def788b56fe6', 'project_id': '6cd379304 ----------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------- 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'project_id': '6cd379304e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'day_of_the_year': '149' e2447da8514a66bb6cdfda5', 'user_id': 'b6e98dc2822541dd8c4571ac4ed54778', 'week_of_the_year': '21', 'day_of_the_year': '149' --------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------+ | -----------------------------------------------------------------------------------------------------------------------------------------------------+ 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1', 'rate_value': '0.0000'}] | 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1E+1', 'rate_value': '0.0000'}] | 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1', 'rate_value': '0.5000'}] | 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1', 'rate_value': '0.5000'}] | 'day_of_the_year': '149', 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1', 'rate_value': '0.5000'}] | , 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '1E+1', 'rate_value': '1.5000'}] | , 'month': '5', 'year': '2025', 'tenant_id': '6cd379304e2447da8514a66bb6cdfda5'}, 'volume': '3E+1', 'rate_value': '1.3500'}] | -----------------------------------------------------------------------------------------------------------------------------------------------------+ |
Sponsored Link |
|