サービス定義のアップロード (Upload Service Definition) (サーバー)

概要

Web レイヤー、Web ツール、またはサービスを ArcGIS OnlineArcGIS Enterprise、または ArcGIS Server にアップロードして共有します。

使用法

  • このツールは、入力のサービス定義に基づいて Web レイヤー、Web ツール、またはサービスをアップロードして共有します。ArcGIS Pro を使用して Web レイヤーまたはサービスを共有すると、常にこのツールが実行され、[カタログ] ウィンドウの [ジオプロセシング履歴] アイテムにエントリが表示されます。

  • このツールでは、サービス定義のドラフト ファイル (*.sddraft) はアップロードおよび共有されません。サービス定義のドラフトがある場合は、[サービスのステージング (Stage Service)] ツールを使用して、ステージングされたサービス定義に変換できます。

  • Web ツールは ArcGIS Enterprise でのみ共有できます。ジオプロセシング ツールは ArcGIS Server でのみ共有できます。

構文

arcpy.server.UploadServiceDefinition(in_sd_file, in_server, {in_service_name}, {in_cluster}, {in_folder_type}, {in_folder}, {in_startupType}, {in_override}, {in_my_contents}, {in_public}, {in_organization}, {in_groups})
パラメーター説明データ タイプ
in_sd_file

Web レイヤー、Web ツール、またはサービスを共有するために必要なすべての情報が含まれているサービス定義ファイル (*.sd)。

File
in_server

サーバー タイプを表す文字列。サポートされているサーバー タイプとしては、次のものがあります。

  • マイ ホスト サービス - ホストされた Web レイヤーを ArcGIS Online または ArcGIS Enterprise で共有するときに使用します。サーバー コネクションの [マイ ホスト サービス] を入力します。各単語の 1 文字目を大文字にし、単語と単語の間にスペースを入れます。
  • HOSTING_SERVER - ホストされた Web レイヤーを ArcGIS Online または ArcGIS Enterprise で共有するときに使用します。
  • ArcGIS Enterprise ポータル フェデレーション サーバーへの URL - Web ツールかマップ イメージ レイヤーArcGIS Enterprise ポータル フェデレーション サーバーで共有するときに使用します。
  • ArcGIS Server 接続 - マップまたはジオプロセシング サービスを ArcGIS Server で共有するときに使用します。[プロジェクト] ウィンドウの [サーバー] ノードの下に表示されている ArcGIS Server 接続を使用するか、サーバー接続ファイルが保存されているフォルダーを参照することができます。
  • ArcGIS Server URL - マップまたはジオプロセシング サービスを ArcGIS Server で共有するときに使用します。ArcGIS Server への公開者接続ArcGIS Server プロジェクトに追加されており、そのプロジェクトをスクリプトで開いているか、ArcGIS Pro でツールを実行している場合は、ArcGIS Pro への URL を指定できます。

ServerConnection
in_service_name
(オプション)

サービス定義で現在指定されているサービス名を無効にして、新しい名前を使用します。

String
in_cluster
(オプション)

サービスが割り当てられているクラスターを変更します。指定したサーバーで利用可能なクラスターから選択する必要があります。

レガシー:

クラスターは ArcGIS Enterprise 10.5.1 で廃止されました。このパラメーターは、複数のクラスターをサポートしないサーバーでは無視されます。

String
in_folder_type
(オプション)

フォルダーのソースを決定するために使用するフォルダー タイプを指定します。デフォルトでは、サービス定義からフォルダーを取得します。指定したオンライン サーバーにすでに存在しているフォルダーのリストを取得するように選択することもできます。また、この Web レイヤーまたはサービスを共有するときに、新しいフォルダーを作成するように指定することもできます。

  • NEW新しいフォルダーを作成します。
  • EXISTINGサーバーに存在するフォルダーを指定します。
  • FROM_SERVICE_DEFINITIONサービス定義のフォルダーを指定します。これがデフォルトです。
String
in_folder
(オプション)

Web レイヤーまたはサービスのフォルダーを指定します。デフォルトでは、サービス定義で指定されているフォルダーが使用されます。NEWin_folder_type を指定した場合は、このパラメーターを使用して新しいフォルダー名を入力します。EXISTINGin_folder_type を指定した場合は、サーバー上の既存のフォルダーを選択できます。

String
in_startupType
(オプション)

公開直後のサービスの開始/停止の状態を指定します。

  • STARTEDサービスは共有後すぐに開始されます。
  • STOPPEDサービスは共有後に開始されません。サービスは手動で開始されます。
Boolean
in_override
(オプション)

サービス定義で設定されている共有プロパティを無視する場合は、このパラメーターを使用します。これらのプロパティは、Web レイヤーまたは Web ツールを ArcGIS Online または ArcGIS Enterprise で共有するかどうかと、共有の方法を定義します。Web レイヤーまたは Web ツールを共有して公開すると、そのレイヤーを他のユーザーが利用できるようになります。

  • OVERRIDE_DEFINITIONサービス定義で設定されている共有プロパティを無視して、新しい値を使用します。
  • USE_DEFINITIONWeb レイヤーまたは Web ツールを共有するときに、現在サービス定義で設定されている共有プロパティを使用します。これがデフォルトです。

共有プロパティを上書きする場合は、ArcGIS Online または ArcGIS Enterprise にサイン インする必要があります。

このパラメーターは、ArcGIS Server で共有する場合には使用されません。

Boolean
in_my_contents
(オプション)

Web レイヤーと Web ツールの共有方法を指定します。すべての共有 Web レイヤーおよび Web ツールを、[マイ コンテンツ] から利用できるようにします。組織内の特定のグループのみと共有したい場合でも、Web レイヤーまたは Web ツールは [マイ コンテンツ] からも共有されます。

  • SHARE_ONLINEWeb レイヤーまたは Web ツールを ArcGIS Online または ArcGIS Enterprise で共有します。Web レイヤーまたは Web ツールが [マイ コンテンツ] に表示されます。
  • NO_SHARE_ONLINEWeb レイヤーまたは Web ツールは ArcGIS Online または ArcGIS Enterprise で共有されません。他の ArcGIS Online または ArcGIS Enterprise のユーザーおよびクライアントは、Web 上でサービスにアクセスできません。

共有プロパティを上書きする場合は、ポータルにサイン インしている必要があります。

このパラメーターは、ArcGIS Server で共有する場合には使用されません。

Boolean
in_public
(オプション)

一般ユーザーが Web レイヤーまたは Web ツールを利用できるようにするかどうかを指定します。

  • PUBLICWeb レイヤーまたは Web ツールを一般ユーザーと共有します。
  • PRIVATEWeb レイヤーまたは Web ツールを一般ユーザーと共有しません。

共有プロパティを上書きする場合は、ArcGIS Online または ArcGIS Enterprise にサイン インする必要があります。

このパラメーターは、ArcGIS Server で共有する場合には使用されません。

Boolean
in_organization
(オプション)

Web レイヤーまたは Web ツールを組織と共有するかどうかを指定します。

  • SHARE_ORGANIZATIONWeb レイヤーまたは Web ツールを組織と共有します。
  • NO_SHARE_ORGANIZATIONWeb レイヤーまたは Web ツールを組織と共有しません。

共有プロパティを上書きする場合は、ArcGIS Online または ArcGIS Enterprise にサイン インする必要があります。

このパラメーターは、ArcGIS Server で共有する場合には使用されません。

Boolean
in_groups
[group_name,...]
(オプション)

Web レイヤーまたは Web ツールを共有するグループ名のリスト。

共有プロパティを上書きする場合は、ArcGIS Online または ArcGIS Enterprise にサイン インする必要があります。

このパラメーターは、ArcGIS Server で共有する場合には使用されません。

String

派生した出力

名前説明データ タイプ
out_soap_svc_url

サーバーに公開するサービスの SOAP URL。

String
out_rest_svc_url

サーバーに公開するサービスの REST URL。

String
out_mapServiceItemID

ポータルで共有するマップ イメージ レイヤーのアイテム ID。

String
out_featServiceItemID

ポータルで共有するホスト フィーチャ サービス レイヤーのアイテム ID。

String
out_cached_service

キャッシュが有効になったイメージ サービスまたはマップ サービス。

イメージ サービス; MapServer
out_featureServiceURL

ポータルで共有するホスト フィーチャ レイヤーの REST URL。

String
out_mapServiceURL

ポータルで共有するマップ イメージ レイヤーの REST URL。

String
out_LayerIDMap

Layer1|ID1;Layer2|ID2; などの形式による、公開されたレイヤーとそれぞれに対応する ID。

String
out_standaloneTableIDMap

Table1|ID1;Table2|ID2; などの形式による、公開されたスタンドアロン テーブルとそれぞれに対応する ID。

String
out_vectorTileServiceID

ベクター タイル サービスのアイテム ID。

String
out_vectorTileServiceURL

ベクター タイル サービスの REST URL。

String

コードのサンプル

UploadServiceDefinition (サービス定義のアップロード) の例 1 (スタンドアロン スクリプト)

次に示すスクリプトは、Web タイル レイヤーとしてレイヤーのリストをマップから ArcGIS Enterprise または ArcGIS Online に公開します。ポータル情報は、ArcGIS Pro[ポータル] ページから取得されます。

import arcpy
import os
# Set output file names
outdir = r"C:\Project\Output"
service = "TileSharingDraftExample"
sddraft_filename = service + ".sddraft"
sddraft_output_filename = os.path.join(outdir, sddraft_filename)
# Reference map to publish
aprx = arcpy.mp.ArcGISProject(r"C:\Project\World.aprx")
m = aprx.listMaps("World")[0]
lyrs = []
lyrs.append(m.listLayers('cities')[0])
lyrs.append(m.listLayers('counties')[0])
# Create TileSharingDraft and set service properties
sharing_draft = m.getWebLayerSharingDraft("HOSTING_SERVER", "TILE", service, lyrs)
sharing_draft.summary = "My Summary"
sharing_draft.tags = "My Tags"
sharing_draft.description = "My Description"
sharing_draft.credits = "My Credits"
sharing_draft.useLimitations = "My Use Limitations"
# Create Service Definition Draft file
sharing_draft.exportToSDDraft(sddraft_output_filename)
# Stage Service
sd_filename = service + ".sd"
sd_output_filename = os.path.join(outdir, sd_filename)
arcpy.StageService_server(sddraft_output_filename, sd_output_filename)
# Share to portal
print("Uploading Service Definition...")
arcpy.UploadServiceDefinition_server(sd_output_filename, "My Hosted Services")
print("Successfully Uploaded service.")
UploadServiceDefinition (サービス定義のアップロード) の例 2 (スタンドアロン スクリプト)

次のスクリプトでは、既存のサービス定義をアップロードし、オプション パラメーターを使用してサービスのプロパティを変更します。

import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
inSdFile = "myMapService.sd"
inServer = "myServerConnection.ags"
inServiceName = "newServiceName"
inCluster = "myCluster"
inFolderType = "NEW"
inFolder = "newFolder"
inStartup = "STOPPED"
# Execute UploadServiceDefinition
arcpy.UploadServiceDefinition_server(inSdFile, inServer, inServiceName, 
                                     inCluster, inFolderType, inFolder, 
                                     inStartup)
UploadServiceDefinition (サービス定義のアップロード) の例 3 (スタンドアロン スクリプト)

次のスクリプトでは、既存のサービス定義を ArcGIS Online または ArcGIS Enterprise にアップロードし、オプション パラメーターを使用してサービスのプロパティを変更します。

import arcpy
# Set environment settings arcpy.env.workspace = "C:/data"
# Set local variables inSdFile = "myMapService.sd"
inServer = "HOSTING_SERVER"
inServiceName = "newServiceName"
inCluster = "myCluster"
inFolderType = "EXISTING"
inFolder = "existingFolder"
inStartup = "STOPPED"
inOverride = "OVERRIDE_DEFINITION"
inMyContents = "SHARE_ONLINE"
inPublic = "PRIVATE"
inOrganization = "NO_SHARE_ORGANIZATION"
inGroups = ["My Group", "MyGroup 2"]
# Execute UploadServiceDefinition arcpy.UploadServiceDefinition_server(inSdFile, inServer, inServiceName,                                      inCluster, inFolderType, inFolder, 
                                     inStartup, inOverride, inMyContents,                                      inPublic, inOrganization, inGroups)

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック