28#ifndef CPL_AZURE_INCLUDED_H
29#define CPL_AZURE_INCLUDED_H
40class VSIAzureBlobHandleHelper final:
public IVSIS3LikeHandleHelper
43 CPLString m_osEndpoint;
45 CPLString m_osObjectKey;
46 CPLString m_osStorageAccount;
47 CPLString m_osStorageKey;
50 bool m_bFromManagedIdendities;
61 CPLString& osEndpoint,
62 CPLString& osStorageAccount,
63 CPLString& osStorageKey,
65 bool& bFromManagedIdentities);
67 static bool GetConfigurationFromManagedIdentities(
68 CPLString& osAccessToken);
70 static CPLString BuildURL(
const CPLString& osEndpoint,
71 const CPLString& osStorageAccount,
72 const CPLString& osBucket,
73 const CPLString& osObjectKey,
74 const CPLString& osSAS,
77 void RebuildURL()
override;
80 VSIAzureBlobHandleHelper(
const CPLString& osEndpoint,
81 const CPLString& osBucket,
82 const CPLString& osObjectKey,
83 const CPLString& osStorageAccount,
84 const CPLString& osStorageKey,
85 const CPLString& osSAS,
87 bool bFromManagedIdentities);
88 ~VSIAzureBlobHandleHelper();
90 static VSIAzureBlobHandleHelper* BuildFromURI(
const char* pszURI,
91 const char* pszFSPrefix,
94 struct curl_slist* GetCurlHeaders(
const CPLString& osVerbosVerb,
95 const struct curl_slist* psExistingHeaders,
96 const void *pabyDataContent =
nullptr,
97 size_t nBytesContent = 0)
const override;
99 const CPLString& GetURL()
const override {
return m_osURL; }
103 static void ClearCache();
105 std::string GetSASQueryString()
const;
110int GetAzureBufferSize();
Interface for downloading HTTP, FTP documents.
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1169