データ接続と統合Media sets (unstructured data)メディアワークフローの例OSDK アプリケーションでのメディアの使用

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

オントロジー SDK アプリケーションでメディアを使用する

TypeScript オントロジー SDK のメディアサポートはベータ版であり、開発中に変更される可能性があります。メディアサポートを有効にするには、Developer Console の左側のパネルから SDK バージョンに移動し、設定を選択してパッケージ設定ページを開きます。このページで、TypeScript のベータ機能をオンにします。

このページでは、オントロジー SDK アプリケーションでメディアを読み取り、アップロードし、使用する方法について説明します。Media Reference を持つオブジェクトタイプとアクションをオントロジー SDK アプリケーションに含めることで、メディアアイテムの読み取りと書き込みができます。

Developer Console を使用して、オブジェクトタイプの Media Reference プロパティを含め、オントロジーに固有のドキュメントを生成することもできます。

Media Reference プロパティを読み取る

Media Reference プロパティに対して fetchMetadata() と fetchContents() を呼び出して、そのメタデータと内容を取得します。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import { OsdkMediaObject } from "@my-media-osdk/sdk"; import { MediaMetadata, MediaReference } from "@osdk/api"; import { Osdk, Result } from "@osdk/client"; const result = await client(OsdkMediaObject).fetchOne("<primaryKey>"); // メディアプロパティのメタデータを取得します const mediaMetadata = await result.mediaReference?.fetchMetadata(); // メディアプロパティの内容を取得します const response = await result.mediaReference?.fetchContents(); if (response.ok) { const data = await response.blob(); // ... }

メディアをオントロジーにアップロードする

オントロジー編集関数内で uploadMedia を使用して、メディアをオントロジーにアップロードします。これにより、オブジェクトのメディアプロパティを設定するために使用できる MediaReference が返されます。

TypeScript v1 のサポートを含め、関数でメディアを使用する方法の詳細については、関数でのメディアを参照してください。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 // オントロジー編集関数でメディアのアップロードを使用するには、 // TypeScript オントロジー SDK 2.6以降を使用していることを確認してください。 import type { Client } from "@osdk/client"; import { Aircraft } from "@ontology-sdk/sdk"; import type { Edits } from "@osdk/functions"; import { createEditBatch, uploadMedia } from "@osdk/functions"; async function uploadTextToNewPlane(client: Client): Promise<Edits.Object<Aircraft>[]> { const batch = createEditBatch<Edits.Object<Aircraft>>(client); const blob = new Blob(["Hello, world"], { type: "text/plain" }); const mediaReference = await uploadMedia( client, { data: blob, fileName: "/planes/aircraft.txt" } ); batch.create(Aircraft, { myMediaProperty: mediaReference, /* ... */ }); return batch.getEdits(); } export default uploadTextToNewPlane;
Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # オントロジー編集関数でメディアのアップロードを使用するには、 # Python オントロジー SDK 2.145以降を使用していることを確認してください。 from ontology_sdk import FoundryClient from ontology_sdk.ontology.objects import Aircraft from functions.api import function, OntologyEdit @function(beta=True, edits=[Aircraft]) def upload_text_to_new_plane() -> list[OntologyEdit]: client = FoundryClient() edits = client.ontology.edits() media_reference = client.ontology.media.upload_media( body="Hello, world".encode("utf8"), filename="/planes/aircraft.txt", ) edits.objects.Aircraft.create( pk = "primary_key", my_media_property=media_reference, # ... ) return edits.get_edits()

アップロードしたメディアをアクションで使用する

メディアをオントロジーにアップロードしたら、返された MediaReference を、メディアをパラメーターとして受け取るアクションに渡すことができます。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 import { createMediaObject } from "@my-media-osdk/sdk"; import { MediaReference } from "@osdk/api"; const mediaReference: MediaReference = await uploadMedia(); const result = await client(createMediaObject).applyAction( { "media_reference": mediaReference, "path": "value" }, { $returnEdits: true, } );

考慮事項

  • オントロジー SDK アプリケーションでは、Media Reference のリストをプロパティタイプとして使用することはできません。