• 製品
  • 使用を開始する
  • 関連ドキュメント
  • リソース

Marid のプロキシと Web サーバーの機能 (非推奨)

Marid は廃止予定で、2022 年 11 月 21 日に完全に廃止されます。詳細はコミュニティの投稿をご覧ください。

アトラシアンの拡張性プラットフォームをこれまでご利用になられたことがない場合は「拡張性プラットフォームとしての Opsgenie Edge Connector」をご参照のうえ、Opsgenie アカウントで実行する方法をご確認ください。

Marid をご利用で Opsgenie Edge Connector に移行する場合は「Opsgenie Edge Connector に移行する必要がある理由」をご参照ください。

Marid プロキシサーバーユーザー

OEC にはプロキシサーバー機能がありません。Marid のプロキシサーバー機能を使用している場合は、他のプロキシサーバーソリューションを使用する必要があります。参考までに、この目的のために使用できる一般的なツールには、FreeProxy、Squid、Nginx、Wingate、TinyProxy、Ultrasurf、Privoxy、Polipo、Apache Traffic Server があります。

Marid Web ウェブサーバーユーザー

OEC には Web サーバー機能がありません。次のチュートリアルは、DjangoServerを使用して同じ機能を実現するための基本的なデモンストレーションです。これは、無料のオープンソースWebフレームワークです。

  1. Django サーバーをインストールします。

    pip install Django==2.2.5

     

  2. スクリプト サーバーを提供するプロジェクトを作成します。

    django-admin startproject oecserver

     

  3. 手順 2 で作成したプロジェクトの下にスクリプト フォルダを作成して、実行するスクリプトをこのフォルダの下に追加します。この例では、 

    hello.py

     コンソールに「Hello World!」と表示されるスクリプト フォルダの下に、上記が追加されます。

     

  4. 作成 

    views.py

     をプロジェクトフォルダの下に作成します。 views.py には、次のコード行が含まれています。

     

view.py

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 from django.views.decorators.csrf import csrf_exempt from django.http import HttpResponse import json,requests from subprocess import Popen, PIPE, STDOUT def hello(): command = ["python3","oecserver/scripts/hello.py","create" ] try: process = Popen(command, stdout=PIPE, stderr=STDOUT) output = process.stdout.read() exitstatus = process.poll() if (exitstatus==0): return {"status": "Success", "output":str(output)} else: return {"status": "Failed", "output":str(output)} except Exception as e: return {"status": "failed", "output":str(e)} @csrf_exempt def execute(request): data = hello() response = HttpResponse(json.dumps(data) , content_type='application/json', status=200) return response

 

execute

 メソッドは、HTTPリクエストを処理する主なメソッドです。これは、 

hello

 メソッドを呼び出してスクリプトを実行し、実行結果を HTTP 応答に追加します。上記と同じ方法で、他の言語で実装された任意の実行可能ファイルまたはスクリプトを実行できます。

 

  1. urls.py を使用して、スクリプトに URL をバインドします。

urls.py

1 2 3 4 5 6 7 8 9 10 11 from django.contrib import admin from django.urls import path from django.conf.urls import url from django.contrib import admin from django.views import generic from oecserver.views import execute #added urlpatterns = [ path('admin/', admin.site.urls), url(r'^hello_api$', execute) ]

 

hello_api

 バインドするURLです。 

execute

 次で実装された主なメソッドの名前です。 

views.py

 

  1. サーバーを起動します。次のコマンドの最後のパラメーターを操作することで、ホストとポート番号を変更できます。

    python ./manage.py runserver 0.0.0.0:8000

     

  2. 以下のコマンドを実行して、サーバーをテストできます。

    curl -i -X POST localhost:8000/hello_api -d '{"anyData":"data"}'

     

回答

1 2 3 4 5 6 7 8 HTTP/1.1 200 OK Date: Mon, 16 Sep 2019 14:20:16 GMT Server: WSGIServer/0.2 CPython/3.7.0 Content-Type: application/json X-Frame-Options: SAMEORIGIN Content-Length: 54 {"status": "Success", "output": "b'Hello, World!\\n'"}

上記の例は、移行の基本的なスターターチュートリアルに過ぎません。その他の機能や詳細については、DjangoのWebサイトをご確認ください。Django と Python SDK (または任意の他の SDK またはスクリプト) を使用することで、同じ動作を実現できます。

その他のヘルプ