0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PerlでAkamai Traffic Management APIを使用してAkamai GTMから値を取得してみた

Last updated at Posted at 2016-11-18

概要

AkamaiのGlobal Traffic Management(以下、GTM)からAkamaiのTraffic Management APIを使用して、設定値などを取得できるようにしてみました。PerlのCPANに"Akamai::Edgegrid"という便利なモジュールがあったので、そのモジュールを使用して、Akamai GTMにエントリーされているドメイン名に紐づく全てのIPアドレスを取得・表示させてみることにしました。

以下、実際にAkamai Traffic Management APIでIPアドレスを表示させるために作成したサンプルコード(Perl)です。

サンプルコード

atm_api.pl

atm_api.pl
#!/usr/bin/perl
# ------------------------------------------------------------------------------
# Script Name  : atm_api.pl
# Tool Version : 1.0.0
# Argument     : -
# Options      : -
# Usage        : $0
# Return       : -
# -------------+-------------------------------------------+--------------------
# Date         | Changes                                   | Author
# -------------+-------------------------------------------+--------------------
# 2017/09/07   | New Creation                              | @bloodia
# ------------------------------------------------------------------------------
# --+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8

use strict;
use warnings;
use Akamai::Edgegrid;
use JSON;

my $client_token  = 'クライアントトークン';
my $client_secret = '秘密鍵';
my $access_token  = 'アクセストークン';
my $baseuri       = 'ベースURI';
my $config_file   = "$ENV{HOME}/.edgerc"; # 変更不要
my $section       = 'default';            # 変更不要
my $domain        = 'ドメイン名';
my $property      = 'プロパティ名';

my $ua = new Akamai::Edgegrid(
  'client_token'  => $client_token,
  'client_secret' => $client_secret,
  'access_token'  => $access_token,
  'config_file'   => $config_file,
  'section'       => $section
);

my $response = $ua->get("${baseuri}/config-gtm/v1/domains/${domain}.akadns.net/properties/${property}");

my $data = decode_json($response->content);

foreach (@{$data->{'trafficTargets'}}) {
   my $i = 1;
   foreach (@{$_->{'servers'}}) {
     print "${i}つ目にエントリーされているIPアドレスは、${_}";
     print "\n";
     $i++;
   }
}

HTTPヘッダを自動生成してくれるのでとても便利です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?