LoginSignup
0
0

Azure - Day 6 - API Management

Last updated at Posted at 2023-08-19

(自分用メモ)

AzureのAPI Managementを試す
APIM(API Management)はAzureの各種リソースのエンドポイント(HTTPサービス)のセキュリティをまとめて引き受ける。認証の検証とか。

Index

前提

Azure Function AppでAPIをデプロイ済み。

API Managementリソース作成

Homeリソースの作成API Management作成

  • リソース名=エンドポイント(URL)のホスト名に含まれる。Azure全体でユニーク。例:apim230707
  • 価格レベル=Consumption(従量制)を指定。

作成
デプロイには多少の時間が必要。

FunctionAppでデプロイしたサービスを収容してみる

概要作業の開始APIHTTP

  • Web service URL=Functionsで生成したURL
  • API URL suffixはとりあえず空にする
    Create

FrontendAdd Operation ➔ 例:URL=Get,/

  • Subscription required=unchecked (本来ダメ、お試しのみ)

テスト

SettingsBase URLで取得したURL(例:https://apim230101.azure-api.net)

以前作ったFunctionなら、パラメタ?name=Shokkaaをつけて
https://apim230101.azure-api.net?name=Shokkaa
をブラウザでアクセス。
Hello, Shokkaa. This HTTP triggered function executed successfully.
みたいに帰ってくれば成功。
APIMは何もしない設定なので、直接Functionsを呼び出すのと(URLを除いて)まったく同じ。

[TODO]認証

[TODO]

CLI操作例

下記リソース作成と、設定をCLIで実行。
リソースグループ、Function App、APIインスタンス、APIM上のAPIセット、APIに対する操作

リソース名など設定
RESGR=r1003
LOCATION=westus
FUNCAPP=app1003
APIM=r1003
Azureにログインとリソース設定
az login --use-device-code
az group create -n $RESGR --location $LOCATION
az storage account create -n s$FUNCAPP -g $RESGR -l $LOCATION 
az functionapp create -n $FUNCAPP -c $LOCATION -g $RESGR --storage-account s$FUNCAPP --os-type Linux --functions-version 4 --runtime node --runtime-version 18
az apim create --name $APIM -g $RESGR --publisher-name 'Shokkaa' --sku-name 'Consumption' --publisher-email 'kyoya.p@gmail.com'

FUNCURL=https://$FUNCAPP.azurewebsites.net/api/frev?param=
az apim api create --service-name $APIM -g $RESGR --api-id RevProxy --path '/' --display-name 'RevProxy'  --service-url $FUNCURL
az apim api operation create --service-name $APIM -g $RESGR --api-id RevProxy --url-template '/{param1}' --method 'GET' --display-name 'Get' --description 'Descrition' --template-parameters name=param1 description='Descrition' type=string

後片付け

リソース削除お忘れなく。

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