Aws CostExplorer Api дает исключение, используя ruby ​​sdk - PullRequest
0 голосов
/ 15 мая 2019

Я нашел эту ссылку https://docs.aws.amazon.com/sdkforruby/api/Aws/CostExplorer/Client.html#initialize-instance_method для определения стоимости использования экземпляра ec2, в то время как на этапе реализации я получил исключение.

в файле gem я использовал это gem 'aws-sdk', '~> 3'

   cost_client = Aws::CostExplorer::Client.new(
                 region: "us-east-1",
                 access_key_id: "XXXX",
                 secret_access_key: "XXX"
                )

   resp = cost_client.get_cost_and_usage({
          time_period: { # required
          start: "2019-01-01", # required
          end: "2019-05-01", # required
          },
   granularity: "DAILY", # accepts DAILY, MONTHLY, HOURLY
         filter: {
         or: [
         {
            # recursive Expression
         },
        ],
        and: [
         {
            # recursive Expression
         },
        ],
       not: {
           # recursive Expression
          },
      dimensions: {
         key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
        values: ["Value"],
         },
       tags: {
           key: "TagKey",
           values: ["Value"],
         },
        },
       metrics: ["MetricName"],
       group_by: [
         {
           type: "DIMENSION", # accepts DIMENSION, TAG
           key: "GroupDefinitionKey",
         },
       ],
       next_page_token: "NextPageToken",
    })

я получил это исключение NameError: неинициализированная константа Aws :: CostExplorer. Как я могу получить ответ от этого API?

Ответы [ 2 ]

3 голосов
/ 16 мая 2019

драгоценных камней, которые вы использовали, не совместимы с costexplorer sdk.используйте это-

  1. gem 'aws-sigv4', '~> 1.1'
  2. gem 'aws-sdk-core', '~> 3,52', '> = 3,52.1 '
  3. gem' aws-sdk-costexplorer ',' ~> 1.22 '

Надеюсь, это поможет вам:)

0 голосов
/ 15 мая 2019

Вы используете версию 3, в то время как ваши документы указывают на v2.

Проверьте https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CostExplorer.html, особенно следующие

Этот модуль поддерживает AWS Cost Explorer Service. это модуль доступен в гем aws-sdk-costexplorer.

...