Az Azure Storage API-k használata

Befejeződött

Az Azure Storage REST API-t nyújt a fiókokban lévő tárolók és adatok használatához. Minden tárolható adattípus saját független API-val rendelkezik. Emlékezzen vissza, hogy négy adattípus létezik:

  • Blobok a strukturálatlan adatok, például bináris és szöveges fájlok számára.
  • Üzenetsorok az állandó üzenetkezeléshez.
  • Táblák a kulcsok/értékek strukturált tárolásához.
  • Fájlok a hagyományos SMB-fájlmegosztásokhoz.

A REST API használata

A Storage REST API-k az interneten bárhonnan elérhetők bármely olyan alkalmazás számára, amely HTTP-/HTTPS-kérést küldhet, és HTTP/HTTPS-választ kaphat.

Ha például egy tároló összes blobját fel szeretné sorolni, a következőhöz hasonló kérést hozhat létre:

GET https://[url-for-service-account]/?comp=list&include=metadata

Ez a kérés a fiókra vonatkozó adatokat tartalmazó XML-blokkot ad vissza:

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults AccountName="https://[url-for-service-account]/">  
  <Containers>  
    <Container>  
      <Name>container1</Name>  
      <Url>https://[url-for-service-account]/container1</Url>  
      <Properties>  
        <Last-Modified>Sun, 24 Sep 2018 18:09:03 GMT</Last-Modified>  
        <Etag>0x8CAE7D0C4AF4487</Etag>  
      </Properties>  
      <Metadata>  
        <Color>orange</Color>  
        <ContainerNumber>01</ContainerNumber>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      </Metadata>  
    </Container>  
    <Container>  
      <Name>container2</Name>  
      <Url>https://[url-for-service-account]/container2</Url>  
      <Properties>  
        <Last-Modified>Sun, 24 Sep 2018 17:26:40 GMT</Last-Modified>  
        <Etag>0x8CAE7CAD8C24928</Etag>  
      </Properties>  
      <Metadata>  
        <Color>pink</Color>  
        <ContainerNumber>02</ContainerNumber>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      </Metadata>  
    </Container>  
    <Container>  
      <Name>container3</Name>  
      <Url>https://[url-for-service-account]/container3</Url>  
      <Properties>  
        <Last-Modified>Sun, 24 Sep 2018 17:26:40 GMT</Last-Modified>  
        <Etag>0x8CAE7CAD8EAC0BB</Etag>  
      </Properties>  
      <Metadata>  
        <Color>brown</Color>  
        <ContainerNumber>03</ContainerNumber>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      </Metadata>  
    </Container>  
  </Containers>  
  <NextMarker>container4</NextMarker>  
</EnumerationResults>  

Ehhez a megközelítéshez azonban manuális elemzésre és HTTP-csomagok létrehozására van szükség az egyes API-k használatához. Emiatt az Azure beépített ügyfélkódtárakat biztosít, amelyek megkönnyítik a szolgáltatás gyakori nyelvekkel és keretrendszerekkel való használatát.

Ügyfélkódtár használata

Az ügyfélkódtárak jelentős mennyiségű munkát takaríthatnak meg az alkalmazásfejlesztők számára, mivel az API-t tesztelték, és gyakran szebb burkolókat biztosít a REST API által küldött és fogadott adatmodellek köré.

A Microsoft számos nyelvet és keretrendszert támogató Azure-ügyfélkódtárakat tartalmaz, többek között a következőket:

  • .NET
  • Java
  • Python
  • Node.js
  • Go


Logos of supported frameworks you can use with Azure.

A blobok ugyanazon listájának C#-ban való lekéréséhez például a következő kódrészletet használhatjuk:

string containerName = "...";
BlobContainerClient container = new BlobContainerClient(connectionString, containerName);

var blobs = container.GetBlobs();
foreach (var blob in blobs)
{
    Console.WriteLine($"{blob.Name} --> Created On: {blob.Properties.CreatedOn:YYYY-MM-dd HH:mm:ss}  Size: {blob.Properties.ContentLength}");
}

Vagy JavaScript nyelven:

const containerName = '...';
const containerClient = blobServiceClient.getContainerClient(containerName);

let blobs = containerClient.listBlobsFlat();
for await (const blob of blobs) {
  console.log(`${blob.name} --> Created: ${blob.properties.createdOn}   Size: ${blob.properties.contentLength}`);
}

Megjegyzés:

Az ügyfélkódtárak csak vékony burkolók a REST API körül. Pontosan azt teszik, amit ön tenne, ha közvetlenül használná a webszolgáltatásokat. Ezek a kódtárak nyílt forráskódúak is, így nagyon átláthatók. A kódtárak GitHubon elérhető forráskódjára mutató hivatkozásokért tekintse meg a modul végén található További erőforrások szakaszt.

Ezután adjunk hozzá ügyfélkódtár-támogatást az alkalmazáshoz.