🔖

ArchivematicaのAPIを試す(Storage Service API)

2023/02/08に公開

概要

ArchivematicaのStorage Service APIについては、以下のページに記載があります。このAPIをいくつか使ってみましたので、その備忘録です。

https://www.archivematica.org/en/docs/archivematica-1.13/dev-manual/api/api-reference-storage-service/

以下、ベーシック認証が求められた場合には、以下の情報をお使いください。

  • ユーザ名:demo
  • パスワード:Nd4Ev3XJ

PACKAGE

A package is a bundle of one or more files transferred from an external service; for example, a package may be an AIP, a backlogged transfer, or a DIP. Each package is stored in a location.

以下のURLからAIPやDIPの一覧を確認することができます。デフォルトではXML形式のデータが返却されましたが、format=jsonを与えることで、JSON形式のデータをダウンロードできました。

http://18.215.157.75:8001/api/v2/file/?format=json

{
  "meta": {
    "limit": 20,
    "next": null,
    "offset": 0,
    "previous": null,
    "total_count": 2
  },
  "objects": [
    {
      "current_full_path": "/var/archivematica/sharedDirectory/www/AIPsStore/8dfd/b901/9cb1/44be/bfde/e872/15df/9813/test-8dfdb901-9cb1-44be-bfde-e87215df9813.7z",
      "current_location": "/api/v2/location/b9661f20-63fa-4843-98aa-05f8c6228c1e/",
      "current_path": "8dfd/b901/9cb1/44be/bfde/e872/15df/9813/test-8dfdb901-9cb1-44be-bfde-e87215df9813.7z",
      "encrypted": false,
      "misc_attributes": {
        
      },
      "origin_pipeline": "/api/v2/pipeline/e395113a-2885-4163-bf5a-a2786dad948e/",
      "package_type": "AIP",
      "related_packages": [
        "/api/v2/file/65f81712-399b-4edb-a1a7-1b841a738fc1/"
      ],
      "replicas": [
        
      ],
      "replicated_package": null,
      "resource_uri": "/api/v2/file/8dfdb901-9cb1-44be-bfde-e87215df9813/",
      "size": 61495776,
      "status": "UPLOADED",
      "uuid": "8dfdb901-9cb1-44be-bfde-e87215df9813"
    },
    {
      "current_full_path": "/var/archivematica/sharedDirectory/www/DIPsStore/65f8/1712/399b/4edb/a1a7/1b84/1a73/8fc1/test-8dfdb901-9cb1-44be-bfde-e87215df9813",
      "current_location": "/api/v2/location/f403aa21-749c-4d93-b71e-b95635d8ce14/",
      "current_path": "65f8/1712/399b/4edb/a1a7/1b84/1a73/8fc1/test-8dfdb901-9cb1-44be-bfde-e87215df9813",
      "encrypted": false,
      "misc_attributes": {
        
      },
      "origin_pipeline": "/api/v2/pipeline/e395113a-2885-4163-bf5a-a2786dad948e/",
      "package_type": "DIP",
      "related_packages": [
        "/api/v2/file/8dfdb901-9cb1-44be-bfde-e87215df9813/"
      ],
      "replicas": [
        
      ],
      "replicated_package": null,
      "resource_uri": "/api/v2/file/65f81712-399b-4edb-a1a7-1b841a738fc1/",
      "size": 30175868,
      "status": "UPLOADED",
      "uuid": "65f81712-399b-4edb-a1a7-1b841a738fc1"
    }
  ]
}

package_typeAIPとなっているリソースにアクセスしてみます。

http://18.215.157.75:8001/api/v2/file/8dfdb901-9cb1-44be-bfde-e87215df9813?format=json

{
  "current_full_path": "/var/archivematica/sharedDirectory/www/AIPsStore/8dfd/b901/9cb1/44be/bfde/e872/15df/9813/test-8dfdb901-9cb1-44be-bfde-e87215df9813.7z",
  "current_location": "/api/v2/location/b9661f20-63fa-4843-98aa-05f8c6228c1e/",
  "current_path": "8dfd/b901/9cb1/44be/bfde/e872/15df/9813/test-8dfdb901-9cb1-44be-bfde-e87215df9813.7z",
  "encrypted": false,
  "misc_attributes": {
    
  },
  "origin_pipeline": "/api/v2/pipeline/e395113a-2885-4163-bf5a-a2786dad948e/",
  "package_type": "AIP",
  "related_packages": [
    "/api/v2/file/65f81712-399b-4edb-a1a7-1b841a738fc1/"
  ],
  "replicas": [
    
  ],
  "replicated_package": null,
  "resource_uri": "/api/v2/file/8dfdb901-9cb1-44be-bfde-e87215df9813/",
  "size": 61495776,
  "status": "UPLOADED",
  "uuid": "8dfdb901-9cb1-44be-bfde-e87215df9813"
}

パスパラメータに/download/を追加すると、AIPのtarファイルをダウンロードできました。

http://18.215.157.75:8001/api/v2/file/8dfdb901-9cb1-44be-bfde-e87215df9813/download/?format=json

まとめ

上記のAPIなどをうまく利用することで、Archivematicaと他のシステム(Omeka Sなど)間の連携ができそうです。引き続き調査を行いたいと思います。

Discussion