すべてのプロダクト
Search
ドキュメントセンター

Intelligent Media Management:IMM API 統合

最終更新日:Dec 27, 2024

このトピックでは、IMM API を使用して Intelligent Media Management (IMM) プロジェクトを作成する方法の完全な例を示します。

API ドキュメントの表示

CreateProject オペレーションを使用すると、IMM プロジェクトを作成できます。このオペレーションの詳細については、CreateProject を参照してください。IMM API オペレーションの詳細については、機能別のオペレーション一覧 を参照してください。

ユーザー ID と権限

ID

  • API オペレーションは、Alibaba Cloud アカウントまたは Resource Access Management (RAM) ロール、あるいは RAM ユーザーとして呼び出すことができます。ID 間の違いの詳細については、ID、資格情報、および承認 を参照してください。この例では、RAM ユーザーを使用して API オペレーションを呼び出します。RAM コンソール で、API ベースのアクセスのみをサポートする RAM ユーザーを作成し、RAM ユーザーの AccessKey ペアを記録します。詳細については、RAM ユーザーの作成 を参照してください。

承認

  1. RAM コンソールの ユーザー ページで、RAM ユーザーを見つけ、権限の追加アクション 列でクリックします。

  2. ポリシー セクションで、AliyunIMMFullAccessAliyunSTSAssumeRoleAccess を選択します。

    説明
  3. 権限の付与 をクリックします。

資格情報

  • 一時的なアクセス資格情報: アプリケーションによる OSS への一時的なアクセス許可など、高いセキュリティが必要なシナリオでは、一時的なアクセス資格情報を使用することをお勧めします。一時的なアクセス資格情報は、特定の期間内に有効であるため、資格情報の漏洩を防ぐのに役立ちます。一時的なアクセス資格情報は、きめ細かいアクセス制御をサポートしています。これは、過剰な権限によって引き起こされるセキュリティリスクを効果的に防ぐのに役立ちます。詳細については、アクセス資格情報の設定 を参照してください。

  • 長期アクセス資格情報: データセキュリティを確保するために、長期アクセス資格情報を使用しないことをお勧めします。利便性が必要なシナリオでは、長期アクセス資格情報を使用することで、長期間にわたる複数回の更新が不要になります。アカウントのセキュリティを確保するために、3か月ごとに長期アクセス資格情報を変更することをお勧めします。長期アクセス資格情報が漏洩した場合、または使用されなくなった場合は、セキュリティリスクを軽減するために、できるだけ早く長期アクセス資格情報を削除または無効にする必要があります。詳細については、アクセス資格情報の設定 を参照してください。

長期 AccessKey ペアを取得する

  1. デフォルトでは、RAM ユーザーを作成すると AccessKey ペアが生成されます。AccessKey ペアを直接使用できます。

  2. RAM ユーザーの詳細ページに移動し、認証 タブの Accesskey の作成 をクリックして、RAM ユーザーの AccessKey ペアを手動で作成することもできます。詳細については、AccessKey ペアの作成 を参照してください。

STS から一時的なアクセス資格情報を取得する

重要

AssumeRole オペレーションは、RAM ユーザーまたは RAM ロールとしてのみ呼び出すことができます。Alibaba Cloud アカウントを使用してオペレーションを呼び出すことはできません。

  1. RAM ユーザーを作成します。

    詳細については、RAM ユーザーの作成 を参照してください。

  2. AliyunSTSAssumeRoleAccess ポリシーを RAM ユーザーにアタッチします。

    詳細については、RAM ユーザーへの権限の付与 を参照してください。

  3. RAM ユーザーとして Security Token Service (STS) の AssumeRole オペレーションを呼び出して、一時的なアクセス資格情報を取得します。

    詳細については、AssumeRole を参照してください。

説明

STS によって提供される一時的なアクセス資格情報を使用する方が、AccessKey ペア を使用してオペレーションを直接呼び出すよりも安全です。一時的なアクセス資格情報を使用して IMM に複数回アクセスする必要がある場合は、STS トークンを手動で更新する必要があります。

API オペレーションの呼び出し

このセクションでは、Python 用 IMM SDK を使用して API オペレーションを呼び出す方法について説明します。他のプログラミング言語用の IMM SDK を使用して、同様の方法で API オペレーションを呼び出すことができます。詳細については、IMM SDK を参照してください。

Python 環境を準備する

Python 3 をダウンロードしてインストールします。

説明

Python のバージョンを確認するには、ターミナルで python --version と入力し、Enter キーを押します。

AccessKey ペアを格納するための環境変数を設定する

AccessKey ペアを作成 した後、AccessKey ペア (AccessKey ID と AccessKey シークレット) の環境変数を設定することをお勧めします。

重要

Alibaba Cloud アカウントの AccessKey ペアには、すべての API オペレーションに対する権限があります。API オペレーションの呼び出しや日常的な O&M の実行には、RAM ユーザーの AccessKey ペアを使用することをお勧めします。

Linux および macOS の環境変数に AccessKey ペアを設定する

この例では、ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されています。OSS_ACCESS_KEY_IDOSS_ACCESS_KEY_SECRET など、別の変数名を使用することもできます。

export コマンドを使用して環境変数を設定する

重要

export コマンドを使用して設定された一時的な環境変数は、現在のセッションでのみ有効です。セッションを終了すると、設定された環境変数は無効になります。永続的な環境変数を設定するには、対応するオペレーティングシステムの起動設定ファイルに export コマンドを追加します。

  • AccessKey ID を設定し、Enter キーを押します。

    # <ACCESS_KEY_ID> を AccessKey ID に置き換えます。
    export ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID>
  • AccessKey シークレットを設定し、Enter キーを押します。

    # <ACCESS_KEY_SECRET> を AccessKey シークレットに置き換えます。
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET>
  • 設定が成功したかどうかを確認します。

    echo $ALIBABA_CLOUD_ACCESS_KEY_ID コマンドを実行します。有効な AccessKey ID が返された場合、環境変数は設定されています。

Windows

このセクションでは、ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数を設定する方法の例を示します。

GUI を使用する

  • 手順

    Windows 10 で GUI を使用して環境変数を設定する場合は、次の手順を実行します。

    Windows デスクトップで、PC を右クリックし、プロパティ を選択します。表示されるページで、システムの詳細設定 をクリックします。システムのプロパティ ダイアログボックスの 詳細設定 タブで、環境変数 をクリックします。環境変数 ダイアログボックスで、ユーザー環境変数 または システム環境変数 セクションの 新規 をクリックします。次に、次の表に示す変数を設定します。

    変数

    AccessKey ID

    • 変数名: ALIBABA_CLOUD_ACCESS_KEY_ID

    • 変数値: LTAI4GDty8ab9W4Y1D****

    AccessKey シークレット

    • 変数名: ALIBABA_CLOUD_ACCESS_KEY_SECRET

    • 変数値: IrVTNZNy5yQelTETg0cZML3TQn****

  • 設定が成功したかどうかを確認します。

    Windows デスクトップで、スタート をクリックするか、Win + R キーを押します。実行 ダイアログボックスに「cmd」と入力します。次に、OK をクリックするか、Enter キーを押します。表示されるページで、echo %ALIBABA_CLOUD_ACCESS_KEY_ID% および echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET% コマンドを実行します。有効な AccessKey ペアが返された場合、設定は成功です。

CMD を使用する

  • 手順

    管理者としてコマンドプロンプトウィンドウを開き、次のコマンドを実行して、オペレーティングシステムに環境変数を追加します。

    setx ALIBABA_CLOUD_ACCESS_KEY_ID LTAI4GDty8ab9W4Y1D**** /M
    setx ALIBABA_CLOUD_ACCESS_KEY_SECRET IrVTNZNy5yQelTETg0cZML3TQn**** /M

    /M は、環境変数がシステムレベルであることを示します。ユーザーレベルの環境変数を設定する場合は、このパラメーターを使用しないことを選択できます。

  • 設定が成功したかどうかを確認します。

    Windows デスクトップで、スタート をクリックするか、Win + R キーを押します。実行 ダイアログボックスに「cmd」と入力します。次に、OK をクリックするか、Enter キーを押します。表示されるページで、echo %ALIBABA_CLOUD_ACCESS_KEY_ID% および echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET% コマンドを実行します。有効な AccessKey ペアが返された場合、設定は成功です。

Windows PowerShell を使用する

PowerShell で、新しい環境変数を設定します。環境変数は、すべての新しいセッションに適用されます。

[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'LTAI4GDty8ab9W4Y1D****', [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'IrVTNZNy5yQelTETg0cZML3TQn****', [System.EnvironmentVariableTarget]::User)

すべてのユーザーの環境変数を設定します。次のコマンドは、管理者として実行する必要があります。

[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'LTAI4GDty8ab9W4Y1D****', [System.EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'IrVTNZNy5yQelTETg0cZML3TQn****', [System.EnvironmentVariableTarget]::Machine)

一時的な環境変数を設定します。環境変数は、現在のセッションにのみ適用されます。

$env:ALIBABA_CLOUD_ACCESS_KEY_ID = "LTAI4GDty8ab9W4Y1D****"
$env:ALIBABA_CLOUD_ACCESS_KEY_SECRET = "IrVTNZNy5yQelTETg0cZML3TQn****"

PowerShell で、Get-ChildItem env:ALIBABA_CLOUD_ACCESS_KEY_ID および Get-ChildItem env:ALIBABA_CLOUD_ACCESS_KEY_SECRET コマンドを実行します。有効な AccessKey ペアが返された場合、設定は成功です。

一時的なアクセス資格情報を格納するための環境変数を設定する

Mac OS X/Linux/Unix

export IMM_ACCESS_KEY_ID=<ALIBABA_CLOUD_ACCESS_KEY_ID>
export IMM_ACCESS_KEY_SECRET=<ALIBABA_CLOUD_ACCESS_KEY_SECRET>
export IMM_SESSION_TOKEN=<ALIBABA_CLOUD_SECURITY_TOKEN>

Windows

set IMM_ACCESS_KEY_ID <ALIBABA_CLOUD_ACCESS_KEY_ID>
set IMM_ACCESS_KEY_SECRET <ALIBABA_CLOUD_ACCESS_KEY_SECRET>
set IMM_SESSION_TOKEN <ALIBABA_CLOUD_SECURITY_TOKEN>

サンプルコードをダウンロードし、依存関係をインストールする


pip install alibabacloud_credentials

パラメーター タブで、必要なパラメーターを設定します。たとえば、プロジェクト名を指定します。

pip install alibabacloud_tea_console

サンプルコードパッケージをローカルに解凍し、alibabacloud_sample ディレクトリに移動します。

サンプルコードを実行する

ターミナルで次のコマンドを実行します。

python sample.py

次のサンプル出力が返されます。

{
    "headers":{
        "date":"Thu, 10 Aug 2023 06:34:51 GMT",
        "content-type":"application/json;charset=utf-8",
        "content-length":"602",
        "connection":"keep-alive",
        "keep-alive":"timeout=25",
        "access-control-allow-origin":"*",
        "access-control-expose-headers":"*",
        "x-acs-request-id":"2C489857-69E6-5974-B963-A7DF99EFFF43",
        "x-acs-trace-id":"eccc35df82a086e7bb4f4fe778f****",
        "etag":"6HYADxT6iVDNgQUq+wGO****"
    },
    "statusCode":200,
    "body":{
        "Project":{
            "CreateTime":"2023-08-10T14:34:51.586696893+08:00",
            "DatasetCount":0,
            "DatasetMaxBindCount":10,
            "DatasetMaxEntityCount":10000000000,
            "DatasetMaxFileCount":100000000,
            "DatasetMaxRelationCount":100000000000,
            "DatasetMaxTotalFileSize":90000000000000000,
            "Description":"",
            "EngineConcurrency":200,
            "FileCount":0,
            "ProjectMaxDatasetCount":1000000000,
            "ProjectName":"testproject",
            "ProjectQueriesPerSecond":200,
            "ServiceRole":"AliyunIMMDefaultRole",
            "TemplateId":"Official:DefaultEmptyId",
            "TotalFileSize":0,
            "UpdateTime":"2023-08-10T14:34:51.586696977+08:00"
        },
        "RequestId":"2C489857-69E6-5974-B963-A7DF99EFFF43"
    }
}