Python から Cisco Webex へメッセージを送信する
Python から Cisco Webex へメッセージを送信する方法をメモしておきます。 ライブラリは webexteamssdk を利用します。
Python から Cisco Webex へメッセージを送信する方法をメモしておきます。 ライブラリは webexteamssdk を利用します。
以前に Python3 で scapy を用いてパケットを送信するサンプルスクリプト というメモを書きました。 このスクリプトを拡張し、CoS や ToS (DSCP) 値を付与出来るようにしたサンプルスクリプトをメモしておきます。 テストは Ubuntu 21.04 上の Python 3.9.5 で行いました。
Python3 で scapy を用いてパケットを送信するサンプルをメモしておきます。
Python3 で「連続したアルファベットを出力するサンプルスクリプト」をメモしておきます。
Ubuntu 20.10 で scapy を利用とすると、以下のエラーが出ました。
1 2 3 4 5 6 |
|
これは以下のように実行することで回避出来ました。
1 |
|
以前に CentOS7 に pyenv で Python 3.7.x 系をインストールする というメモを書きました。 今回は Ubuntu 20.10 に pyenv で Python 3.9.1 をインストールする手順をメモしておきます。
VIRL 2 Client Library を使うと Python から CML を操作することが出来ます。 簡単な Python スクリプトを書いて CML 上にラボを作成する手順をメモしておきます。
Sphinx で作成された VIRL 2 Client Library のドキュメントは CML 上から参照出来ます。 CML にログインし、Tools
→ Client Library
からドキュメントを参照することが出来ます。
Python で FastAPI を使ったアプリケーションを Web アプリケーションを作成する際、POST メソッドで渡されるリクエストの処理は公式サイトの Request Body 説明ページ によると pydantic を使ったクラスで処理するサンプルが掲載されています。 しかし、例えば「POST されてくる JSON のフォーマットが一定では無い」といったケースだと pydantic ではやや困る場合があるかも知れません。 そういった場合は pydantic を使わず、Body
を使ってリクエストを受け取り、json として処理する方法があります。 下記は FastAPI を mangum で AWS へデプロイすることを前提にしたサンプルです。
Python で「JSON でデータを受け取る」ようなケースを考えた場合、データを pydantic でクラス化するケースがあると思います。 例えば FastAPI で POST された JSON を受け取る Web アプリケーションを開発する場合などです。 こういった場合、「JSON 内のデータ名」と「クラスの変数名」は同じ名前にするのが自然だと思います。 しかし、-
を含む JSON を渡された場合、どういって処理するのか、メモしておきたいと思います。
以前に mangum + FastAPI で ASGI な Python アプリケーションを AWS Lambda + API Gateway 上で動かすというメモを書きました。 mangum と mangum-cli を使うと FastAPI を使った Web アプリケーションを AWS の Lambda と API Gateway を使って簡単に公開することが出来ます。
mangum-cli が無い場合は作成したアプリケーションを手動でアプリケーションをアップロードする必要があります。 CloudFormation を使うにしてもテンプレートを作成する必要があり、面倒です。 mangum-cli があればこれらの作業を自動化出来、手間なく、迅速にアプリケーションを配置することが出来ます。
FastAPI で REST API のエンドポイントを作成する場合、POST リクエストを受け付ける必要があります。 こういった場合の「POST された JSON を FastAPI な Python アプリケーションで処理する方法」をメモしておきます。