みなさん、こんにちは!
今年12月にラスベガスで開催予定の AWS re:Invent 2025。執筆時点で1,843ものセッションが予定されており、情報を収集するにも一苦労です。
公式の Event Catalog はありますが、Excel化して見やすくできたら良いな...ということで、セッション情報一覧をExcel化してみました。
Excel化の方法について、以降で詳しくご紹介します。
※10/10時点でセッション情報一覧のJSONファイルに「セッションの開始時間」や「開催場所」の情報がないため、データが取得できません。セッション情報一覧が更新されたら本ブログも更新します。
セッション情報取得
以下のリポジトリからセッション情報一覧のJSONファイル(data/sessions.json)を取得します。
プログラム作成
取得したセッション情報一覧を、以下のPythonでTSVに整形して書き出します。
Pythonプログラムではセッションの必要情報を取り出しつつ、タイトルと概要の翻訳を行っています。
main.py
import csv
import json
from google import genai
from tenacity import retry, stop_after_attempt, wait_exponential
# 無料で利用可能なGeminiを使用
# 無料枠利用の場合、クォータ制限に注意する
GEMINI_API_KEY = '<API_KEY>'
genai_client = genai.Client(api_key=GEMINI_API_KEY)
@retry(stop=stop_after_attempt(5), wait=wait_exponential(multiplier=2, min=30, max=120))
def get_translation(content):
# 翻訳指示プロンプト
prompt = f"""
Translate the following English into Japanese: {content}
Instructions:
- Make sure to return the most direct and common translation.
- Provide only the translation in your response. No explanation is needed.
Example:
English: 4x faster workload modernization with agentic AI
Japanese (Response): エージェントAIでワークロードモダナイゼーションを4倍高速化
"""
response = genai_client.models.generate_content(
model="gemini-2.0-flash",
contents=prompt,
)
return response.text.replace('\n', '')
def load_sessions():
try:
# 'sessions.json'からセッション情報を取得
with open("./sessions.json", "r") as f:
data = json.load(f)
return data
except Exception:
raise
def generate_records(sessions):
for session in sessions:
# 必要データの抽出
code = session["code"]
title = session["title"]
title_jp = get_translation(title)
abstract = session["abstract"].replace('\n', '')
abstract_jp = get_translation(abstract)
type = session["type"]
length = session["length"]
session_id = session["sessionID"]
event_id = session["eventId"]
attributes = session["attributes"]
level = ",".join(attributes["level"])
features = ",".join(attributes["features"])
topics = ",".join(attributes["topics"])
roles = ",".join(attributes["roles"])
services = ",".join(attributes["services"])
industries = ",".join(attributes["industries"])
segments = ",".join(attributes["segments"])
areas_of_interest = ",".join(attributes["areas_of_interest"])
speakers = ",".join([speaker["fullName"] for speaker in session["speakers"]])
yield [
code,
title,
title_jp,
abstract,
abstract_jp,
type,
length,
session_id,
event_id,
level,
features,
topics,
roles,
services,
industries,
segments,
areas_of_interest,
speakers
]
def write_to_csv(sessions):
total, count = len(sessions), 0
# 整形したセッション情報を取得し、結果を'output.tsv'に出力
records = generate_records(sessions)
with open("./output.tsv", "w") as f:
writer = csv.writer(f, delimiter="\t") # TSVのため区切り文字は'\t'
for record in records:
writer.writerow(record)
count += 1
print(f"Processed {count}/{total} ({count / total * 100:.1f}%)")
def main():
# セッション情報読み込み
sessions = load_sessions()
# ファイル書き込み
write_to_csv(sessions)
if __name__ == "__main__":
try:
main()
except Exception as e:
print(f"Error: {e}")
main.py と同じ階層に sessions.json を置くと、データが読み込まれて処理され、ファイル(output.csv)に書き込まれていきます。
プログラム実行
ターミナルで main.py を実行します。
python main.py
実際の出力例:
DVT222-S 100% Observability at 10% the Cost Using Grepr's Real-Time ML (sponsored by Grepr) GreprのリアルタイムMLでコスト10%で100%のオブザーバビリティを実現 (Grepr提供) Engineering team are stuck between a rock and a hard place when it comes to observability: either collect all the data on how your system is behaving or risk not having that one thing needed during an incident. Grepr acts as a proxy between your observability agents and your observability vendor and uses real-time ML to understand the behavior of every piece of data. Grepr's Intelligent Data Engine automatically reduces noise, while keeping all the original raw data in low-cost storage, automatically handling new usage patterns or spikes. The result: minimal configuration, immediate 90% reduction in costs, with no migrations needed. Learn how Grepr works and see it in action in this session. This presentation is brought to you by Grepr, an AWS Partner. オブザーバビリティに関して、エンジニアリングチームは、システムの振る舞いに関するすべてのデータを収集するか、インシデント発生時に必要となるその一つの情報がないリスクを冒すかの板挟みになっています。Greprは、オブザーバビリティエージェントとオブザーバビリティベンダーの間にプロキシとして機能し、リアルタイムMLを使用してすべてのデータ片の振る舞いを理解します。Greprのインテリジェントデータエンジンは、すべての元の生データを低コストストレージに保持しながら、ノイズを自動的に削減し、新しい使用パターンやスパイクにも自動的に対応します。結果として、最小限の設定で、移行作業なしに、即座にコストを90%削減できます。Greprの仕組みと実際の動作については、このセッションでご覧ください。このプレゼンテーションは、AWSパートナーであるGreprがお届けします。 Lightning talk 20.0 1753648751188001ud1m 17436415reinvent2025 200 - Intermediate AWS Partners,Lecture-style Developer Tools Developer / Engineer,DevOps Engineer,IT Executive Independent Software Vendor,Startup Monitoring & Observability,Cost Optimization,DevOps Jad Naous
MAM349 4x faster workload modernization with agentic AI エージェントAIでワークロードモダナイゼーションを4倍高速化 Discover how to transform enterprise workloads up to 4x faster through the strategic implementation of agentic AI. This lightning talk demonstrates how to evolve your architectural practice from periodic updates to a dynamic, continuous discipline leveraging the AWS Well-Architected Tool and AWS Transform. Learn to systematically evaluate your infrastructure using the AWS Well-Architected Framework's proven methodologies, develop comprehensive data-driven modernization roadmaps, and expedite transformations through AWS Transform's capabilities. エージェントAIを戦略的に実装することで、エンタープライズワークロードを最大4倍高速に変換する方法を発見しましょう。このライトニングトークでは、AWS Well-Architected ToolとAWS Transformを活用して、アーキテクチャプラクティスを定期的な更新から動的で継続的な規律へと進化させる方法を実証します。AWS Well-Architected Frameworkの実績ある方法論を使用してインフラストラクチャを体系的に評価し、包括的なデータ主導のモダナイゼーションロードマップを開発し、AWS Transformの機能を通じて変革を迅速化する方法を学びましょう。 Lightning talk 20.0 1755044544176001pbPd 17436415reinvent2025 300 - Advanced Lecture-style Artificial Intelligence,Migration & Modernization Developer / Engineer,IT Professional / Technical Manager,Solution / Systems Architect AWS Transform Well-Architected Framework,Innovation & Transformation,Agentic AI
...
Excel化
TSVの作成が完了したら、テキストファイルにしてExcelに取り込みます。(TSVのままだとExcel取り込み時に文字化けするため)
Excelで「データ」→「データの取得」→「テキストまたはCSVから」をクリックし、ファイルを読み込みます。
区切り記号を「タブ」で読み込むと、ファイルのデータが表形式で取り込まれます。
さいごに
公式の Event Catalog もありますが、セッション数が非常に多い&全部英語なので、日本語化しつつ検索しやすくするにはプログラムでExcel化してしまったほうが便利ですね。
セッション情報一覧のExcelが欲しいという方は、こちらよりお気軽にご連絡ください!