File オブジェクト

Current version: 4.0

ローカル ストレージ ("type":"File") または Azure Blob Storage ("type":"Azure") からファイルをフェッチする場合は、m.defaults.jsonfileProvider 設定を適切に構成する必要があります。

パラメーター

パラメーター説明
typeStringファイルを取得するソースのタイプ。ローカル ファイルまたはネットワーク ファイルの場合は File、HTTP リソースの場合は Web、Azure BLOB ストレージ ファイルの場合は Azure となります。
path*StringFile タイプの場合に、このファイルへのパスを表します。
href*StringWeb タイプの場合に、このリソースへの URL を表します。
key*StringAzure タイプの場合に、このファイルのファイル キーを表します。ファイル キーはファイル プロバイダー名とファイル名の組み合わせであり、たとえば「myProvider-myfile.jpg」のようになります。 つまり「myProvider」は、サービス アプリケーションのファイル プロバイダーとして設定する必要があります)。
  • これらのキーのいずれか 1 つを、type キーと組み合わせて使用します。

ファイル タイプ

ファイル

File フェッチ ソースは、ジョブを処理するサービスからアクセス可能なハード ドライブおよびネットワーク共有に保存されているファイルを取得する目的使用できます。

RequestResponse
{    
    "type" : "File",
    "path" : "\\\\server\\path\\to\\file\\on\\local\\machine.jpg"
}

ローカル マシンからファイルをフェッチする前に、このファイルの取得先となる場所が、設定ファイル (通常は m.defaults.json) 内の fileProviders プロパティに追加されていることを確認する必要があります。 通常、これは既定で設定済みのはずです。

RequestResponse
...

 "fileProvider": {

        "providers": [

            ...

            {
                "name": "local",
                "type": "Stylelabs.M.Files.DirectoryFileProvider, Stylelabs.M.Files",
                "parameters": {
                    "basePath": "C:\\temp\\m\\files",
                    "namingStrategy": "Default"
                }
            },

            ...
        ]
},
...

Web

Web フェッチ ソースは、(オプションで事前に署名された) URL からアクセス可能なリソースを取得する目的で使用できます。

RequestResponse
{    
    "type" : "Web",
    "href" : "http://www.url.to/file/online.jpg" 
}

任意の URL を使用可能で、ファイル名は Content-Disposition ヘッダー (利用可能な場合) から取得されるか、パスから構成されます。 href プロパティは、リソースの URL を指定します。

ファイル名は、実行順に、次のルールに基づいて自動的に取得されます。

  • URL がファイル名を参照している場合は、そのファイル名が使用されます。つまり、http://www.gstatic.com/webp/gallery/5.jpg であれば 5.jpg が返されます。
  • URL 内に filename パラメーターが指定されている場合は、そのファイル名の値が使用されます。つまり、http://picsum.photos/400/300/?image=1&filename=test.jpeg であれば test.jpeg が返されます。
  • 上記のいずれでもない場合は、ホスト名、トップ レベル ドメイン、および GUID (グローバル一意識別子) が使用されます。これらがすべて _ (アンダースコア) によって連結された値が、自動的に生成されます。つまり、http://picsum.photos/400/300/?image=1 であれば picsum_photos_814be となります。 この場合は、ファイル拡張子が付かないことに注意してください。

Azure

Azure フェッチ ソースは、Azure Blob Storage からファイルを取得する目的で使用できます。

RequestResponse
{    
    "type" : "Azure",
    "key" : "fileProviderName-path/to/file/on/blob/storage.jpg" 
}

BLOB ストレージからファイルをフェッチする前に、Azure Blob Storage が設定ファイル (通常は m.defaults.json) 内の fileProviders プロパティに追加されていることを確認する必要があります。

RequestResponse
...
 "fileProvider": {

        "providers": [

            ...

            {
            "name": "fileProviderName",
            "type": "Stylelabs.M.Files.Azure.AzureFileProvider, Stylelabs.M.Files.Azure",
            "parameters": {
                    "accountName": "blobStorageAccountName",
                    "accessKey": "blobSotrageAccessKeyUsuallyEndingIn==",
                    "containerName": "blobStorageContainerName"
                }
            }
        ]
},
...

プロバイダーには次のプロパティがあります。

パラメーター説明
nameStringプロバイダーの名前。 この名前は、ファイル プロバイダーのリスト内で一意である必要があります。
typeStringAzure ファイル プロバイダーの場合は、"Stylelabs.M.Files.Azure.AzureFileProvider, Stylelabs.M.Files.Azure" のように設定する必要があります。
parametersObjectAzure Blob Storage にアクセスするために必要な資格情報を含むオブジェクト
parameters.accountNameStringAzure Blob Storage アカウントの名前。 Azure ポータルのストレージ アカウントの概要で確認できます。
parameters.accessKeyStringAzure Blob Storage のアクセス キー。 Blob Storage の Azure ポータルの [アクセス キー] タブで確認できます。
parameters.containerNameString取得しようとするファイルが置かれている Azure Blob ストレージ コンテナーの名前。Blob Storage の Azure ポータルの [コンテナー] タブで確認できます。

fileProviders リストには、その名前がリスト内で一意である限り、必要な数の Azure Blob ストレージを追加できます。

設定が完了した時点で、key プロパティを使用して、フェッチ ジョブに正しいファイルを指定できます。 keyプロパティは、次の 2 つの値を含む文字列であるため、特に注意が必要です。

  • ファイルの要求先となる fileProvider の名前
  • ストレージから要求しているファイルへのパス

この 2 つの値を、- (ダッシュ) を使用して連結し、次のような値として指定します。

RequestResponse
"fileProviderName-path/to/file/on/blob/storage.jpg" 

Do you have some feedback for us?

If you have suggestions for improving this article,