查找

Article
· Jul 11, 2022 2m read

ルーチンやクラスメソッドをWindowsのコマンドプロンプトから呼び出す方法

iris コマンドを使用することで実行できます。
iris コマンド(iris.exe)は、<インストールディレクトリ>\bin にインストールされています。 書式:

iris run インスタンス名 tag^routine([parameter-list]) ネームスペース名
iris run インスタンス名 ##CLASS(package.class).method([parameter-list]) ネームスペース名

インスタンス名は、管理ポータル(システム管理ポータル)の右上にある [インスタンス:] に表示されている文字列です。


実行する環境に応じて一部の文字 ^ や " をエスケープする必要があります。

Windowsの場合は、以下のようなエスケープが必要となります。

 

 

 

例: USERネームスペースで do info^test(123,"abc") を実行します。

c:\InterSystems\IRIS\bin>iris terminal IRIS info^^test(123,\"abc\") USER

 

例: USERネームスペースで do ##class(Test.Class1).test(123,"abc") を実行します。

c:\InterSystems\IRIS\bin>iris run IRIS ##class(Test.Class1).test(123,\"abc\") USER

 

【注意】

ris run 等でルーチンやクラスメソッドが呼び出せないときは、%Service_Consoleサービスの認証設定をご確認ください。
iris コマンドを使用する場合、通常のパスワード認証を行うことができません。
認証なしで実行するか、オペレーティング・システム認証を使用する必要があり、これを、%Service_Consoleの「許可された認証法」で指定しておく必要があります。[管理ポータル]>システム管理 > セキュリティ管理 > サービス > %Service_Consoleを選択

 

オペレーティング・システム認証の詳細については、関連トピックをご確認ください。

オペレーティング・システム・ベースの認証構成について

Discussion (0)1
Log in or sign up to continue
Article
· Jul 11, 2022 1m read

外部の Pythonファイル を Embedded Python で呼び出す方法

IRISがc:\InterSystems\IRISにインストールされているとします。

(1) a.py を C:\InterSystems\IRIS\lib\python に置きます。

a.py
 

def test():  
  print('Hello World!')

 

(2) それを IRISのクラスから実行します。
 

ClassMethod xx() [ Language = python ]
{
    import a
    a.test()
}

 

USER>do ##class(User.test).xx()
Hello World!

 

もし、a.py を別のディレクトリ C:\temp に置きたい場合は、C:\temp\ をPythonのPATHに指定する必要があります。


以下の方法があります。

 

(A)  管理ポータル>システム管理>構成>追加設定>メモリ詳細>PythonPath

の値に C:\tempを設定し、a.pyをそのディレクトリに置き、 IRISを再起動します。
 

ClassMethod xx() [ Language = python ]
{
   import a
   a.test()
}
Discussion (0)1
Log in or sign up to continue
Article
· Jul 5, 2022 4m read

IRIS Data to Google Big Query - InterSystems Cloud SQL via Dataflow

        

How to include IRIS Data into your Google Big Query Data Warehouse and in your Data Studio data explorations.  In this article we will be using Google Cloud Dataflow to connect to our InterSystems Cloud SQL Service  and build a job to persist the results of an IRIS query in Big Query on an interval. 

If you were lucky enough to get access to Cloud SQL at Global Summit 2022 as mentioned in "InterSystems IRIS: What's New, What's Next", it makes the example a snap, but you can pull this off with any publicly or vpc accessible listener you have provisioned instead.

 

Prerequisites

 
Provision InterSystems Cloud SQL for temporary use
 
Setup Google Cloud Platform

Google Dataflow Job
If you followed the steps above you should have the following in your inventory to execute the job to read your InterSystems IRIS data and ingest it into Google Big Query using Google Dataflow.

In the Google Cloud Console, head over to Dataflow and select "Create Job from Template"

 
This is a rather unnecessary/exhaustive illustration on how to instruct you to fill out a form with the generated pre-requisites, but it calls out the source of the components...

 

 ... to round it out, make sure you expand the bottom section and supply your credentials for IRIS.

 

For the ones who found those screenshots offensive to your intelligence, here is the alternate route to go to keep you inside your comfort zone in the CLI to run the job:

gcloud dataflow jobs run iris-2-bq-dataflow \
--gcs-location gs://dataflow-templates-us-central1/latest/Jdbc_to_BigQuery \
--region us-central1 --num-workers 2 \
--staging-location gs://iris-2-datastudio/tmp \
--parameters connectionURL=jdbc:IRIS://k8s-c5ce7068-a4244044-265532e16d-2be47d3d6962f6cc.elb.us-east-1.amazonaws.com:1972/USER,driverClassName=com.intersystems.jdbc.IRISDriver,query=SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, SELF_REFERENCING_COLUMN_NAME, REFERENCE_GENERATION, USER_DEFINED_TYPE_CATALOG, USER_DEFINED_TYPE_SCHEMA, USER_DEFINED_TYPE_NAME, IS_INSERTABLE_INTO, IS_TYPED, CLASSNAME, DESCRIPTION, OWNER, IS_SHARDED FROM INFORMATION_SCHEMA.TABLES;,outputTable=iris-2-datastudio:irisdata.dataflowtable,driverJars=gs://iris-2-datastudio/intersystems-jdbc-3.3.0.jar,bigQueryLoadingTemporaryDirectory=gs://iris-2-datastudio/input,username=SQLAdmin,password=Testing12!

Once you have kicked off your job, you can bask in the glory a successful job run:

 
Results

Taking a look at our source data and query in InterSystems Cloud SQL...

 

... and then Inspecting the results in Big Query, it appears we do in fact, have InterSystems IRIS Data in Big Query.

 
Once we have the data in Big Query, it is trivial to include our IRIS data into Data Studio by selecting Big Query as the data source... this example below is missing some flair, but you can quickly see the IRIS data ready for manipulation in your Data Studio project.


 
 

3 Comments
Discussion (3)2
Log in or sign up to continue
Question
· Jun 18, 2022

Documentation en français

Bonjour

J'espère être dans le bon forum. Notre entreprise-mère basée aux Etats-Unis m'a chargé de télécharger la documentation InterSystems pour la gestion des finances de notre succursale en France. Je dois avouer que j'ai du mal à m'y retrouver, mon niveau d'anglais étant médiocre. Nous travaillons dans la livraison de fleurs et notre société-mère souhaite unifier nos systèmes de reporting en utilisant InterSystems aux USA et ici en France. Existe-t-il une documentation en français pour les débutants?

Merci d'avance et meilleures messages

1 Comment
Discussion (1)2
Log in or sign up to continue
Announcement
· Jun 16, 2022

George James Software at the Global Summit

Only a few days to go until the Global Summit! George James Software will be on hand to talk about any projects you may have on the horizon, such as application development, data and platform migration, system integration, training, and support – we can work with you to find practical and maintainable solutions that support the growing needs of your organization.

We're also running a User Group Session on Wednesday, July 22nd at 12pm. It's a great opportunity to find out more about our tools and ask us (and current users!) any questions.

Discussion (0)1
Log in or sign up to continue