1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

オレオレライブラリ、スニペットAdvent Calendar 2024

Day 10

[Opensearch x Glue] AWS GlueからOpensearch ServiceにドキュメントIDを指定して格納する方法

Last updated at Posted at 2024-12-10

概要

GlueからOpenSearch Serviceのドメインにドキュメントを格納する際に、ドキュメントIDを指定する方法が見当たらなかったため、記事を作成。

※なお、記事作成時点(2024/12)ではOpensearch Serverlessに対しては、Glue Connectionからは接続できない。
※誤りがある場合はご指摘いただけますと大変助かります。

前提

  • Glue Connection作成済み
  • Data source作成済み
  • Opensearch service作成済み
  • ドキュメントIDに指定したい値を持ったカラムが存在している(以下データ例のdoc_id参照)

データ例

id text doc_id
1 私は元気です 0001
2 公園に散歩に行きます 0002
3 平日は仕事です 0003

操作

Glue Visual Studioから実行する場合

  1. Data targetにOpensearch Serviceを選択する。
  2. Custom Amazon OpenSearch Service PropertiesのKeyにopensearch.mapping.id、Valueに「前提」で記載した、ドキュメントIDに指定したい値を持ったカラム名(今回だとdoc_id)を入力する。
  3. ジョブ実行すると、格納されたデータの_idに、指定したドキュメントIDが設定されていることが確認できる。
    ※ID指定で上書きも可能

スクリプトエディタから実行する場合(dynamicFrame使用)

from_options内のconnection_optionsに"opensearch.mapping.id": "doc_id"を入力する

XXX_node = glueContext.write_dynamic_frame.from_options(
    frame=YYY_node, 
    connection_type="opensearch", 
    connection_options={
        "opensearch.mapping.id": "doc_id", 
        その他の設定
    }
)
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?